added some dual head simulator code
							parent
							
								
									7de534192c
								
							
						
					
					
						commit
						fa5ae54bbb
					
				
							
								
								
									
										28
									
								
								dwm.c
								
								
								
								
							
							
						
						
									
										28
									
								
								dwm.c
								
								
								
								
							|  | @ -1,3 +1,4 @@ | |||
| #define XINULATOR /* debug, simulates dual head */ | ||||
| /* See LICENSE file for copyright and license details.
 | ||||
|  * | ||||
|  * dynamic window manager is designed like any other X client as well. It is | ||||
|  | @ -1158,7 +1159,6 @@ movemouse(const Arg *arg) { | |||
| 
 | ||||
| Client * | ||||
| nexttiled(Client *c) { | ||||
| 	// TODO: m handling
 | ||||
| 	for(; c && (c->isfloating || !ISVISIBLE(c)); c = c->next); | ||||
| 	return c; | ||||
| } | ||||
|  | @ -1593,8 +1593,10 @@ unmanage(Client *c) { | |||
| 	XConfigureWindow(dpy, c->win, CWBorderWidth, &wc); /* restore border */ | ||||
| 	detach(c); | ||||
| 	detachstack(c); | ||||
| 	if(selmon->sel == c) | ||||
| 	if(c->mon->sel == c) { | ||||
| 		c->mon->sel = c->mon->stack; | ||||
| 		focus(NULL); | ||||
| 	} | ||||
| 	XUngrabButton(dpy, AnyButton, AnyModifier, c->win); | ||||
| 	setclientstate(c, WithdrawnState); | ||||
| 	free(c); | ||||
|  | @ -1651,7 +1653,9 @@ updategeom(void) { | |||
| 	Client *c; | ||||
| 	Monitor *newmons = NULL, *m, *tm; | ||||
| 
 | ||||
| #ifdef XINERAMA | ||||
| #ifdef XINULATOR | ||||
| 	n = 2; | ||||
| #elif defined(XINERAMA) | ||||
| 	XineramaScreenInfo *info = NULL; | ||||
| 
 | ||||
| 	if(XineramaIsActive(dpy)) | ||||
|  | @ -1665,7 +1669,23 @@ updategeom(void) { | |||
| 	} | ||||
| 
 | ||||
| 	/* initialise monitor(s) */ | ||||
| #ifdef XINERAMA | ||||
| #ifdef XINULATOR | ||||
| 	if(1) { | ||||
| 		m = newmons; | ||||
| 		m->screen_number = 0; | ||||
| 		m->wx = sx; | ||||
| 		m->my = m->wy = sy; | ||||
| 		m->ww = sw; | ||||
| 		m->mh = m->wh = sh / 2; | ||||
| 		m = newmons->next; | ||||
| 		m->screen_number = 1; | ||||
| 		m->wx = sx; | ||||
| 		m->my = m->wy = sy + sh / 2; | ||||
| 		m->ww = sw; | ||||
| 		m->mh = m->wh = sh / 2; | ||||
| 	} | ||||
| 	else | ||||
| #elif defined(XINERAMA) | ||||
| 	if(XineramaIsActive(dpy)) { | ||||
| 		for(i = 0, m = newmons; m; m = m->next, i++) { | ||||
| 			m->screen_number = info[i].screen_number; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue