From 7c48de9a60890747f69ede1b6a6819bd3c26f033 Mon Sep 17 00:00:00 2001 From: Ivan Kanakarakis Date: Sat, 10 Mar 2012 04:54:49 +0200 Subject: only select a desktop if needed --- monsterwm.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'monsterwm.c') diff --git a/monsterwm.c b/monsterwm.c index 52f4ceb..d5d2d80 100644 --- a/monsterwm.c +++ b/monsterwm.c @@ -331,7 +331,7 @@ void desktopinfo(void) { fprintf(stdout, "%d:%d:%d:%d:%d%c", d, n, mode, current_desktop == cd, urgent, d+1==DESKTOPS?'\n':' '); } fflush(stdout); - select_desktop(cd); + if (cd != d-1) select_desktop(cd); } /* a destroy notification is received when a window is being closed @@ -466,7 +466,7 @@ void maprequest(XEvent *e) { update_current(c); grabbuttons(c); - select_desktop(cd); + if (cd != newdsk) select_desktop(cd); if (cd == newdsk) { XMapWindow(dis, c->win); update_current(c); } else if (follow) change_desktop(&(Arg){.i = newdsk}); @@ -649,7 +649,7 @@ void removeclient(client *c) { *p = c->next; free(c); c = NULL; update_current(prevfocus); - select_desktop(cd); + if (cd != nd-1) select_desktop(cd); } /* main event loop - on receival of an event call the appropriate event handler */ @@ -861,7 +861,7 @@ client* wintoclient(Window w) { int d = 0, cd = current_desktop; for (Bool found = False; dwin)); c=c->next); - select_desktop(cd); + if (cd != d-1) select_desktop(cd); return c; } -- cgit v1.3.1