summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-05-14 23:34:05 +0000
committerDana Jansens <danakj@orodu.net>2007-05-14 23:34:05 +0000
commit5d85502e3b12ae2301b28d624d7fa60a66f646bb (patch)
tree748400da3fc92b71bfdf2f59eecfbc9ef8ee6cd3 /openbox
parent47c8d407295bd910b2482f472d0a7e3892031647 (diff)
also if you hide the focused window, then kill the interactive action so focus isnt all confused for the app
Diffstat (limited to 'openbox')
-rw-r--r--openbox/client.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/openbox/client.c b/openbox/client.c
index 6446a794..837dd019 100644
--- a/openbox/client.c
+++ b/openbox/client.c
@@ -2421,6 +2421,18 @@ gboolean client_hide(ObClient *self)
gboolean hide = FALSE;
if (!client_should_show(self)) {
+ if (self == focus_client) {
+ /* if there is a grab going on, then we need to cancel it. if we
+ move focus during the grab, applications will get
+ NotifyWhileGrabbed events and ignore them !
+
+ actions should not rely on being able to move focus during an
+ interactive grab.
+ */
+ if (keyboard_interactively_grabbed())
+ keyboard_interactive_cancel();
+ }
+
frame_hide(self->frame);
hide = TRUE;
}