add support for net_active_window and net_close_window messages
This commit is contained in:
parent
126d9fc846
commit
fcb0820d94
1 changed files with 10 additions and 4 deletions
|
@ -541,8 +541,8 @@ void OBClient::setDesktop(long target)
|
||||||
{
|
{
|
||||||
assert(target >= 0);
|
assert(target >= 0);
|
||||||
//assert(target == 0xffffffff || target < MAX);
|
//assert(target == 0xffffffff || target < MAX);
|
||||||
|
|
||||||
// XXX: move the window to the new desktop
|
// XXX: move the window to the new desktop (and set root property)
|
||||||
_desktop = target;
|
_desktop = target;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -768,10 +768,16 @@ void OBClient::clientMessageHandler(const XClientMessageEvent &e)
|
||||||
setDesktop(e.data.l[0]); // use the found event
|
setDesktop(e.data.l[0]); // use the found event
|
||||||
else
|
else
|
||||||
setDesktop(e.data.l[0]); // use the original event
|
setDesktop(e.data.l[0]); // use the original event
|
||||||
}
|
} else if (e.message_type == property->atom(otk::OBProperty::net_wm_state)) {
|
||||||
else if (e.message_type == property->atom(otk::OBProperty::net_wm_state))
|
|
||||||
// can't compress these
|
// can't compress these
|
||||||
setState((StateAction)e.data.l[0], e.data.l[1], e.data.l[2]);
|
setState((StateAction)e.data.l[0], e.data.l[1], e.data.l[2]);
|
||||||
|
} else if (e.message_type ==
|
||||||
|
property->atom(otk::OBProperty::net_close_window)) {
|
||||||
|
close();
|
||||||
|
} else if (e.message_type ==
|
||||||
|
property->atom(otk::OBProperty::net_active_window)) {
|
||||||
|
focus();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue