From 3d8ffcc2cb23901e492426f0249bdc5504c2f642 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Tue, 7 Jan 2003 01:28:59 +0000 Subject: [PATCH] dont reset focus to the unfocused window! --- src/client.cc | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/client.cc b/src/client.cc index c0e63f2c..298e5f56 100644 --- a/src/client.cc +++ b/src/client.cc @@ -89,7 +89,7 @@ void OBClient::getDesktop() 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 @@ void OBClient::clientMessageHandler(const XClientMessageEvent &e) 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 @@ void OBClient::unfocusHandler(const XFocusChangeEvent &e) 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); } -- 2.45.2