summary refs log tree commit diff
path: root/screen.c
diff options
context:
space:
mode:
Diffstat (limited to 'screen.c')
-rw-r--r--screen.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/screen.c b/screen.c
index df19c08..a9c051d 100644
--- a/screen.c
+++ b/screen.c
@@ -35,7 +35,6 @@ screen_init(int which)
 {
 	struct screen_ctx	*sc;
 	Window			*wins, w0, w1;
-	XWindowAttributes	 winattr;
 	XSetWindowAttributes	 rootattr;
 	unsigned int		 nwins, i;
 
@@ -62,17 +61,12 @@ screen_init(int which)
 	    CWEventMask|CWCursor, &rootattr);
 
 	/* Deal with existing clients. */
-	XQueryTree(X_Dpy, sc->rootwin, &w0, &w1, &wins, &nwins);
-	for (i = 0; i < nwins; i++) {
-		XGetWindowAttributes(X_Dpy, wins[i], &winattr);
-		if (winattr.override_redirect ||
-		    winattr.map_state != IsViewable)
-			continue;
-		(void)client_init(wins[i], sc, winattr.map_state != IsUnmapped);
-	}
-	if (wins)
-		XFree(wins);
+	if (XQueryTree(X_Dpy, sc->rootwin, &w0, &w1, &wins, &nwins)) {
+		for (i = 0; i < nwins; i++)
+			(void)client_init(wins[i], sc);
 
+		XFree(wins);
+	}
 	screen_updatestackingorder(sc);
 
 	if (HasRandr)