From 8c0fe026fe45d5cccfb0175f698d088d3eb9bc13 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Thu, 26 Dec 2002 18:15:23 +0000 Subject: focus works --- src/client.cc | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'src/client.cc') diff --git a/src/client.cc b/src/client.cc index 2f966cee..74783eed 100644 --- a/src/client.cc +++ b/src/client.cc @@ -866,13 +866,22 @@ void OBClient::close() bool OBClient::focus() { - if (!_can_focus) return false; + if (!_can_focus || _focused) return false; XSetInputFocus(otk::OBDisplay::display, _window, RevertToNone, CurrentTime); return true; } +void OBClient::unfocus() +{ + if (!_focused) return; + + assert(Openbox::instance->focusedClient() == this); + Openbox::instance->setFocusedClient(0); +} + + void OBClient::focusHandler(const XFocusChangeEvent &) { frame->focus(); @@ -887,11 +896,8 @@ void OBClient::unfocusHandler(const XFocusChangeEvent &) frame->unfocus(); _focused = false; - if (Openbox::instance->focusedClient() == this) { - printf("UNFOCUSING\n"); + if (Openbox::instance->focusedClient() == this) Openbox::instance->setFocusedClient(0); - } else - printf("UNFOCUSED ALREADY COULDNT UNFOCUS\n"); } -- cgit v1.2.3