50 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| void
 | |
| tagallmon(const Arg *arg)
 | |
| {
 | |
| 	Monitor *m;
 | |
| 	Client *c, *last, *slast, *next;
 | |
| 
 | |
| 	if (!mons->next)
 | |
| 		return;
 | |
| 
 | |
| 	m = dirtomon(arg->i);
 | |
| 	for (last = m->clients; last && last->next; last = last->next);
 | |
| 	for (slast = m->stack; slast && slast->snext; slast = slast->snext);
 | |
| 
 | |
| 	for (c = selmon->clients; c; c = next) {
 | |
| 		next = c->next;
 | |
| 		if (!ISVISIBLE(c))
 | |
| 			continue;
 | |
| 		unfocus(c, 1, NULL);
 | |
| 		detach(c);
 | |
| 		detachstack(c);
 | |
| 		c->mon = m;
 | |
| 		c->tags = m->tagset[m->seltags]; /* assign tags of target monitor */
 | |
| 		c->next = NULL;
 | |
| 		c->snext = NULL;
 | |
| 		if (last)
 | |
| 			last = last->next = c;
 | |
| 		else
 | |
| 			m->clients = last = c;
 | |
| 		if (slast)
 | |
| 			slast = slast->snext = c;
 | |
| 		else
 | |
| 			m->stack = slast = c;
 | |
| 		if (c->isfullscreen) {
 | |
| 			#if !FAKEFULLSCREEN_PATCH && FAKEFULLSCREEN_CLIENT_PATCH
 | |
| 			if (c->fakefullscreen != 1) {
 | |
| 				resizeclient(c, c->mon->mx, c->mon->my, c->mon->mw, c->mon->mh);
 | |
| 				XRaiseWindow(dpy, c->win);
 | |
| 			}
 | |
| 			#elif !FAKEFULLSCREEN_PATCH
 | |
| 			resizeclient(c, c->mon->mx, c->mon->my, c->mon->mw, c->mon->mh);
 | |
| 			XRaiseWindow(dpy, c->win);
 | |
| 			#endif // FAKEFULLSCREEN_CLIENT_PATCH
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	arrange(NULL);
 | |
| 	focus(NULL);
 | |
| }
 | |
| 
 |