X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fclient.c;h=a91b9503e09ef62d9eb45321aa83fbc918f8de62;hb=0c0ddc36289f39ee32347e775147e7300ce6cf89;hp=91693f999ab8c7e9c490695937b3c3fd2037a372;hpb=11ecb7d2199d06b2929ba7e5d3c92c021038a0cc;p=chaz%2Fopenbox diff --git a/openbox/client.c b/openbox/client.c index 91693f99..a91b9503 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -505,9 +505,10 @@ void client_manage(Window window, ObPrompt *prompt) if (!activate) { /* if the client isn't stealing focus, then hilite it so the user - knows it is there */ - /* XXX don't do this if we're restoring from a session */ - client_hilite(self, TRUE); + knows it is there, but don't do this if we're restoring from a + session */ + if (!client_restore_session_stacking(self)) + client_hilite(self, TRUE); } } else { @@ -3929,14 +3930,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);