|
@ -176,8 +176,8 @@ static void focusin(XEvent *e); |
|
|
static void focusstack(const Arg *arg); |
|
|
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 *getmonitor(Window w); |
|
|
|
|
|
static Monitor *getmonitorxy(int x, int y); |
|
|
|
|
|
|
|
|
static Monitor *getmon(Window w); |
|
|
|
|
|
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); |
|
|
static Bool gettextprop(Window w, Atom atom, char *text, unsigned int size); |
|
|
static Bool gettextprop(Window w, Atom atom, char *text, unsigned int size); |
|
@ -401,7 +401,7 @@ buttonpress(XEvent *e) { |
|
|
|
|
|
|
|
|
click = ClkRootWin; |
|
|
click = ClkRootWin; |
|
|
/* focus monitor if necessary */ |
|
|
/* focus monitor if necessary */ |
|
|
if((m = getmonitor(ev->window)) && m != selmon) { |
|
|
|
|
|
|
|
|
if((m = getmon(ev->window)) && m != selmon) { |
|
|
unfocus(selmon->sel); |
|
|
unfocus(selmon->sel); |
|
|
selmon = m; |
|
|
selmon = m; |
|
|
focus(NULL); |
|
|
focus(NULL); |
|
@ -747,7 +747,7 @@ enternotify(XEvent *e) { |
|
|
|
|
|
|
|
|
if((ev->mode != NotifyNormal || ev->detail == NotifyInferior) && ev->window != root) |
|
|
if((ev->mode != NotifyNormal || ev->detail == NotifyInferior) && ev->window != root) |
|
|
return; |
|
|
return; |
|
|
if((m = getmonitor(ev->window)) && m != selmon) { |
|
|
|
|
|
|
|
|
if((m = getmon(ev->window)) && m != selmon) { |
|
|
unfocus(selmon->sel); |
|
|
unfocus(selmon->sel); |
|
|
selmon = m; |
|
|
selmon = m; |
|
|
} |
|
|
} |
|
@ -762,7 +762,7 @@ expose(XEvent *e) { |
|
|
Monitor *m; |
|
|
Monitor *m; |
|
|
XExposeEvent *ev = &e->xexpose; |
|
|
XExposeEvent *ev = &e->xexpose; |
|
|
|
|
|
|
|
|
if(ev->count == 0 && (m = getmonitor(ev->window))) |
|
|
|
|
|
|
|
|
if(ev->count == 0 && (m = getmon(ev->window))) |
|
|
drawbar(m); |
|
|
drawbar(m); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -864,13 +864,13 @@ getcolor(const char *colstr) { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
Monitor * |
|
|
Monitor * |
|
|
getmonitor(Window w) { |
|
|
|
|
|
|
|
|
getmon(Window w) { |
|
|
int x, y; |
|
|
int x, y; |
|
|
Client *c; |
|
|
Client *c; |
|
|
Monitor *m; |
|
|
Monitor *m; |
|
|
|
|
|
|
|
|
if(w == root && getrootpointer(&x, &y)) |
|
|
if(w == root && getrootpointer(&x, &y)) |
|
|
return getmonitorxy(x, y); |
|
|
|
|
|
|
|
|
return getmonxy(x, y); |
|
|
for(m = mons; m; m = m->next) |
|
|
for(m = mons; m; m = m->next) |
|
|
if(w == m->barwin) |
|
|
if(w == m->barwin) |
|
|
return m; |
|
|
return m; |
|
@ -880,7 +880,7 @@ getmonitor(Window w) { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
Monitor * |
|
|
Monitor * |
|
|
getmonitorxy(int x, int y) { |
|
|
|
|
|
|
|
|
getmonxy(int x, int y) { |
|
|
Monitor *m; |
|
|
Monitor *m; |
|
|
|
|
|
|
|
|
for(m = mons; m; m = m->next) |
|
|
for(m = mons; m; m = m->next) |
|
@ -1205,7 +1205,7 @@ movemouse(const Arg *arg) { |
|
|
} |
|
|
} |
|
|
while(ev.type != ButtonRelease); |
|
|
while(ev.type != ButtonRelease); |
|
|
XUngrabPointer(dpy, CurrentTime); |
|
|
XUngrabPointer(dpy, CurrentTime); |
|
|
if((m = getmonitorxy(c->x + c->w / 2, c->y + c->h / 2)) != selmon) |
|
|
|
|
|
|
|
|
if((m = getmonxy(c->x + c->w / 2, c->y + c->h / 2)) != selmon) |
|
|
sendmon(c, m); |
|
|
sendmon(c, m); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -1314,7 +1314,7 @@ resizemouse(const Arg *arg) { |
|
|
XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w + c->bw - 1, c->h + c->bw - 1); |
|
|
XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w + c->bw - 1, c->h + c->bw - 1); |
|
|
XUngrabPointer(dpy, CurrentTime); |
|
|
XUngrabPointer(dpy, CurrentTime); |
|
|
while(XCheckMaskEvent(dpy, EnterWindowMask, &ev)); |
|
|
while(XCheckMaskEvent(dpy, EnterWindowMask, &ev)); |
|
|
if((m = getmonitorxy(c->x + c->w / 2, c->y + c->h / 2)) != selmon) |
|
|
|
|
|
|
|
|
if((m = getmonxy(c->x + c->w / 2, c->y + c->h / 2)) != selmon) |
|
|
sendmon(c, m); |
|
|
sendmon(c, m); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -1809,7 +1809,7 @@ updategeom(void) { |
|
|
/* select focused monitor */ |
|
|
/* select focused monitor */ |
|
|
cleanupmons(); |
|
|
cleanupmons(); |
|
|
mons = newmons; |
|
|
mons = newmons; |
|
|
selmon = getmonitor(root); |
|
|
|
|
|
|
|
|
selmon = getmon(root); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void |
|
|
void |
|
|