diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-05-14 23:34:05 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-05-14 23:34:05 +0000 |
| commit | 5d85502e3b12ae2301b28d624d7fa60a66f646bb (patch) | |
| tree | 748400da3fc92b71bfdf2f59eecfbc9ef8ee6cd3 /openbox | |
| parent | 47c8d407295bd910b2482f472d0a7e3892031647 (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.c | 12 |
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; } |
