summaryrefslogtreecommitdiff
path: root/src/client.cc
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2002-12-26 18:15:23 +0000
committerDana Jansens <danakj@orodu.net>2002-12-26 18:15:23 +0000
commit8c0fe026fe45d5cccfb0175f698d088d3eb9bc13 (patch)
treefd7a3a1b307109464216bb3433b1c6b7b209379c /src/client.cc
parent236f68056d5296087d39de8031c3a71524c1e830 (diff)
focus works
Diffstat (limited to 'src/client.cc')
-rw-r--r--src/client.cc16
1 files changed, 11 insertions, 5 deletions
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");
}