Browse Source

some cleanup handling for index based mon search

main
Anselm R Garbe 15 years ago
parent
commit
029655bb22
1 changed files with 19 additions and 20 deletions
  1. +19
    -20
      dwm.c

+ 19
- 20
dwm.c View File

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


Loading…
Cancel
Save