all repos — openbox @ 3d8ffcc2cb23901e492426f0249bdc5504c2f642

openbox fork - make it a bit more like ryudo

dont reset focus to the unfocused window!
Dana Jansens danakj@orodu.net
commit

3d8ffcc2cb23901e492426f0249bdc5504c2f642

parent

33ddfc7664d5988c370303217e5f1e3fdb431dd9

1 files changed, 12 insertions(+), 6 deletions(-)

jump to
M src/client.ccsrc/client.cc

@@ -89,7 +89,7 @@ {

const otk::OBProperty *property = Openbox::instance->property(); // defaults to the current desktop - _desktop = 0; // XXX: change this to the current desktop! + _desktop = Openbox::instance->screen(_screen)->desktop(); property->get(_window, otk::OBProperty::net_wm_desktop, otk::OBProperty::Atom_Cardinal,

@@ -877,15 +877,23 @@ else

setDesktop(e.data.l[0]); // use the original event } else if (e.message_type == property->atom(otk::OBProperty::net_wm_state)) { // can't compress these +#ifdef DEBUG + printf("net_wm_state for 0x%lx\n", _window); +#endif 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)) { +#ifdef DEBUG + printf("net_close_window for 0x%lx\n", _window); +#endif close(); } else if (e.message_type == property->atom(otk::OBProperty::net_active_window)) { +#ifdef DEBUG + printf("net_active_window for 0x%lx\n", _window); +#endif focus(); Openbox::instance->screen(_screen)->restack(true, this); // raise - } else { } }

@@ -1130,10 +1138,8 @@

frame->unfocus(); _focused = false; - if (Openbox::instance->focusedClient() == this) { - printf("UNFOCUSED!\n"); - Openbox::instance->setFocusedClient(this); - } + if (Openbox::instance->focusedClient() == this) + Openbox::instance->setFocusedClient(0); }