summaryrefslogtreecommitdiff
path: root/openbox/client.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2009-12-08 11:32:40 -0500
committerDana Jansens <danakj@orodu.net>2009-12-08 13:56:37 -0500
commit07126124c9242a5a20883c3145464730e50afe94 (patch)
tree89124d70c3b3cb7d3df85618a8f273fb5f731df0 /openbox/client.c
parent11ecb7d2199d06b2929ba7e5d3c92c021038a0cc (diff)
Fix client_activate() to work for internal Openbox menus
client_activate() is a helpful way to focus a window on another desktop, but only Openbox is allowed to do such things, user messages cannot.
Diffstat (limited to 'openbox/client.c')
-rw-r--r--openbox/client.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/openbox/client.c b/openbox/client.c
index 91693f99..ecb4aafe 100644
--- a/openbox/client.c
+++ b/openbox/client.c
@@ -3929,14 +3929,15 @@ static void client_present(ObClient *self, gboolean here, gboolean raise,
}
/* this function exists to map to the net_active_window message in the ewmh */
-void client_activate(ObClient *self, gboolean here, gboolean raise,
+void client_activate(ObClient *self, gboolean desktop, gboolean raise,
gboolean unshade, gboolean user)
{
- if ((user && (self->desktop == DESKTOP_ALL ||
+ if ((user && (desktop ||
+ self->desktop == DESKTOP_ALL ||
self->desktop == screen_desktop)) ||
client_can_steal_focus(self, event_curtime, CurrentTime))
{
- client_present(self, here, raise, unshade);
+ client_present(self, FALSE, raise, unshade);
}
else
client_hilite(self, TRUE);