wm.c
changeset 6 e0cefb3981c8
parent 5 e5018cae273f
child 7 49e2fc9fb94f
equal deleted inserted replaced
5:e5018cae273f 6:e0cefb3981c8
    19 Atom wm_atom[WMLast], net_atom[NetLast];
    19 Atom wm_atom[WMLast], net_atom[NetLast];
    20 Cursor cursor[CurLast];
    20 Cursor cursor[CurLast];
    21 XRectangle rect, barrect;
    21 XRectangle rect, barrect;
    22 Bool running = True;
    22 Bool running = True;
    23 
    23 
    24 char *bartext, *shell;
    24 char *bartext;
    25 int screen, sel_screen;
    25 int screen, sel_screen;
    26 unsigned int lock_mask, numlock_mask;
    26 unsigned int lock_mask, numlock_mask;
    27 
    27 
    28 /* draw structs */
    28 /* draw structs */
    29 Brush brush = {0};
    29 Brush brush = {0};
    54 			if(!XGetWindowAttributes(dpy, wins[i], &wa))
    54 			if(!XGetWindowAttributes(dpy, wins[i], &wa))
    55 				continue;
    55 				continue;
    56 			if(wa.override_redirect || XGetTransientForHint(dpy, wins[i], &d1))
    56 			if(wa.override_redirect || XGetTransientForHint(dpy, wins[i], &d1))
    57 				continue;
    57 				continue;
    58 			if(wa.map_state == IsViewable)
    58 			if(wa.map_state == IsViewable)
    59 				/*manage*/;
    59 				manage(create_client(wins[i], &wa));
    60 		}
    60 		}
    61 	}
    61 	}
    62 	if(wins)
    62 	if(wins)
    63 		XFree(wins);
    63 		XFree(wins);
    64 }
    64 }
   217 	XFlush(dpy);
   217 	XFlush(dpy);
   218 
   218 
   219 	if(other_wm_running)
   219 	if(other_wm_running)
   220 		error("gridwm: another window manager is already running\n");
   220 		error("gridwm: another window manager is already running\n");
   221 
   221 
   222 	if(!(shell = getenv("SHELL")))
       
   223 		shell = "/bin/sh";
       
   224 
       
   225 	rect.x = rect.y = 0;
   222 	rect.x = rect.y = 0;
   226 	rect.width = DisplayWidth(dpy, screen);
   223 	rect.width = DisplayWidth(dpy, screen);
   227 	rect.height = DisplayHeight(dpy, screen);
   224 	rect.height = DisplayHeight(dpy, screen);
   228 	sel_screen = XQueryPointer(dpy, root, &w, &w, &i, &i, &i, &i, &mask);
   225 	sel_screen = XQueryPointer(dpy, root, &w, &w, &i, &i, &i, &i, &mask);
   229 
   226