Xinqi Bao's Git
projects
/
dwm.git
/ commitdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
patch
|
inline
| side by side (parent:
27db9d4
)
some cleanup handling for index based mon search
author
Anselm R Garbe <
[email protected]
>
Sat, 27 Jun 2009 17:50:50 +0000
(18:50 +0100)
committer
Anselm R Garbe <
[email protected]
>
Sat, 27 Jun 2009 17:50:50 +0000
(18:50 +0100)
dwm.c
patch
|
blob
|
history
diff --git
a/dwm.c
b/dwm.c
index
5934a6c
..
04fcc90
100644
(file)
--- a/
dwm.c
+++ b/
dwm.c
@@
-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 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);
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) {
#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)
- 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 *
getmonxy(int x, int y) {
Monitor *m;
Monitor *
getmonxy(int x, int y) {
Monitor *m;
@@
-1542,17
+1547,11
@@
tag(const Arg *arg) {
#ifdef XINERAMA
void
tagmon(const Arg *arg) {
#ifdef XINERAMA
void
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 */