tmaking enternotify less focus hungry - dwm - [fork] customized build of dwm, t… | |
git clone git://src.adamsgaard.dk/dwm | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 3a392b855882786d1aa9c842d1c36b5c1cbc576a | |
parent 92fe06b501a5458a6aecdcc53f8d35c2a1f55c1c | |
Author: [email protected] <unknown> | |
Date: Sat, 25 Jun 2011 09:07:28 +0100 | |
making enternotify less focus hungry | |
Diffstat: | |
M BUGS | 21 --------------------- | |
M dwm.c | 4 ++++ | |
2 files changed, 4 insertions(+), 21 deletions(-) | |
--- | |
diff --git a/BUGS b/BUGS | |
t@@ -8,27 +8,6 @@ reproducible with xrandr -s but not with --output and --mode,… | |
--- | |
-> enternotify is handled even when the entered window is already focused | |
-> (eg moving the mouse to the bar and back, scrolling on the border..) | |
-> | |
-> focusing might be expensive for some clients (eg dim/light up) | |
-> | |
-> a possible solution is to modify enternotify: | |
-> | |
-> + c = wintoclient(ev->window); | |
-> if((m = wintomon(ev->window)) && m != selmon) { | |
-> unfocus(selmon->sel); | |
-> selmon = m; | |
-> } | |
-> + else if (c == selmon->sel || c == NULL) | |
-> + return; | |
- | |
---- | |
- | |
-dmenu appears on the monitor where the pointer is and not on selmon | |
- | |
---- | |
- | |
yet another corner case: | |
open a terminal, focus another monitor, but without moving the mouse | |
pointer there | |
diff --git a/dwm.c b/dwm.c | |
t@@ -820,15 +820,19 @@ drawtext(const char *text, unsigned long col[ColLast], B… | |
void | |
enternotify(XEvent *e) { | |
+ Client *c; | |
Monitor *m; | |
XCrossingEvent *ev = &e->xcrossing; | |
if((ev->mode != NotifyNormal || ev->detail == NotifyInferior) && ev->w… | |
return; | |
+ c = wintoclient(ev->window); | |
if((m = wintomon(ev->window)) && m != selmon) { | |
unfocus(selmon->sel, True); | |
selmon = m; | |
} | |
+ else if(c == selmon->sel || c == NULL) | |
+ return; | |
focus((wintoclient(ev->window))); | |
} | |