|
|
|
@ -177,6 +177,7 @@ static void focusstack(const Arg *arg); |
|
|
|
|
static Client *getclient(Window w); |
|
|
|
|
static unsigned long getcolor(const char *colstr); |
|
|
|
|
static Monitor *getmon(Window w); |
|
|
|
|
static Monitor *getmonn(unsigned int n); |
|
|
|
|
static Monitor *getmonxy(int x, int y); |
|
|
|
|
static Bool getrootpointer(int *x, int *y); |
|
|
|
|
static long getstate(Window w); |
|
|
|
@ -800,18 +801,13 @@ focusin(XEvent *e) { /* there are some broken focus acquiring clients */ |
|
|
|
|
#ifdef XINERAMA |
|
|
|
|
void |
|
|
|
|
focusmon(const Arg *arg) { |
|
|
|
|
unsigned int i; |
|
|
|
|
Monitor *m; |
|
|
|
|
|
|
|
|
|
for(i = 0, m = mons; m; m = m->next, i++) |
|
|
|
|
if(i == arg->ui) { |
|
|
|
|
if(m == selmon) |
|
|
|
|
if(!(m = getmonn(arg->ui)) || m == selmon) |
|
|
|
|
return; |
|
|
|
|
unfocus(selmon->sel); |
|
|
|
|
selmon = m; |
|
|
|
|
focus(NULL); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
#endif /* XINERAMA */ |
|
|
|
|
|
|
|
|
@ -879,6 +875,15 @@ getmon(Window w) { |
|
|
|
|
return NULL; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Monitor * |
|
|
|
|
getmonn(unsigned int n) { |
|
|
|
|
unsigned int i; |
|
|
|
|
Monitor *m; |
|
|
|
|
|
|
|
|
|
for(m = mons, i = 0; m && i != n; m = m->next, i++); |
|
|
|
|
return m; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Monitor * |
|
|
|
|
getmonxy(int x, int y) { |
|
|
|
|
Monitor *m; |
|
|
|
@ -1542,17 +1547,11 @@ tag(const Arg *arg) { |
|
|
|
|
#ifdef XINERAMA |
|
|
|
|
void |
|
|
|
|
tagmon(const Arg *arg) { |
|
|
|
|
unsigned int i; |
|
|
|
|
Client *c; |
|
|
|
|
Monitor *m; |
|
|
|
|
|
|
|
|
|
if(!(c = selmon->sel)) |
|
|
|
|
if(!selmon->sel || !(m = getmonn(arg->ui))) |
|
|
|
|
return; |
|
|
|
|
for(i = 0, m = mons; m; m = m->next, i++) |
|
|
|
|
if(i == arg->ui) { |
|
|
|
|
sendmon(c, m); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
sendmon(selmon->sel, m); |
|
|
|
|
} |
|
|
|
|
#endif /* XINERAMA */ |
|
|
|
|
|
|
|
|
|