main.c
changeset 757 22dfaeb82491
parent 744 628c5bac7f3b
child 762 140bcd4782d8
equal deleted inserted replaced
756:df3ea2f76f54 757:22dfaeb82491
    67 	XWindowAttributes wa;
    67 	XWindowAttributes wa;
    68 
    68 
    69 	wins = NULL;
    69 	wins = NULL;
    70 	if(XQueryTree(dpy, root, &d1, &d2, &wins, &num)) {
    70 	if(XQueryTree(dpy, root, &d1, &d2, &wins, &num)) {
    71 		for(i = 0; i < num; i++) {
    71 		for(i = 0; i < num; i++) {
    72 			if(!XGetWindowAttributes(dpy, wins[i], &wa))
    72 			if(!XGetWindowAttributes(dpy, wins[i], &wa)
    73 				continue;
    73 			|| wa.override_redirect || XGetTransientForHint(dpy, wins[i], &d1))
    74 			if(wa.override_redirect || XGetTransientForHint(dpy, wins[i], &d1))
       
    75 				continue;
    74 				continue;
    76 			if(wa.map_state == IsViewable)
    75 			if(wa.map_state == IsViewable)
    77 				manage(wins[i], &wa);
    76 				manage(wins[i], &wa);
    78 		}
    77 		}
    79 	}
    78 	}
   102 	cursor[CurResize] = XCreateFontCursor(dpy, XC_sizing);
   101 	cursor[CurResize] = XCreateFontCursor(dpy, XC_sizing);
   103 	cursor[CurMove] = XCreateFontCursor(dpy, XC_fleur);
   102 	cursor[CurMove] = XCreateFontCursor(dpy, XC_fleur);
   104 	/* init modifier map */
   103 	/* init modifier map */
   105 	numlockmask = 0;
   104 	numlockmask = 0;
   106 	modmap = XGetModifierMapping(dpy);
   105 	modmap = XGetModifierMapping(dpy);
   107 	for (i = 0; i < 8; i++) {
   106 	for (i = 0; i < 8; i++)
   108 		for (j = 0; j < modmap->max_keypermod; j++) {
   107 		for (j = 0; j < modmap->max_keypermod; j++) {
   109 			if(modmap->modifiermap[i * modmap->max_keypermod + j] == XKeysymToKeycode(dpy, XK_Num_Lock))
   108 			if(modmap->modifiermap[i * modmap->max_keypermod + j]
       
   109 					== XKeysymToKeycode(dpy, XK_Num_Lock))
   110 				numlockmask = (1 << i);
   110 				numlockmask = (1 << i);
   111 		}
   111 		}
   112 	}
       
   113 	XFreeModifiermap(modmap);
   112 	XFreeModifiermap(modmap);
   114 	/* select for events */
   113 	/* select for events */
   115 	wa.event_mask = SubstructureRedirectMask | SubstructureNotifyMask
   114 	wa.event_mask = SubstructureRedirectMask | SubstructureNotifyMask
   116 		| EnterWindowMask | LeaveWindowMask;
   115 		| EnterWindowMask | LeaveWindowMask;
   117 	wa.cursor = cursor[CurNormal];
   116 	wa.cursor = cursor[CurNormal];