focusonclick: not skipping motionnotify events as to avoid interferring with tagpreview and other on hover patches

This commit is contained in:
bakkeby 2023-10-01 20:51:16 +02:00
parent 3e97a1d25c
commit 8191c0739a

10
dwm.c
View File

@ -679,9 +679,7 @@ static void killclient(const Arg *arg);
static void manage(Window w, XWindowAttributes *wa); static void manage(Window w, XWindowAttributes *wa);
static void mappingnotify(XEvent *e); static void mappingnotify(XEvent *e);
static void maprequest(XEvent *e); static void maprequest(XEvent *e);
#if !FOCUSONCLICK_PATCH
static void motionnotify(XEvent *e); static void motionnotify(XEvent *e);
#endif // FOCUSONCLICK_PATCH
static void movemouse(const Arg *arg); static void movemouse(const Arg *arg);
static Client *nexttiled(Client *c); static Client *nexttiled(Client *c);
#if !ZOOMSWAP_PATCH || TAGINTOSTACK_ALLMASTER_PATCH || TAGINTOSTACK_ONEMASTER_PATCH #if !ZOOMSWAP_PATCH || TAGINTOSTACK_ALLMASTER_PATCH || TAGINTOSTACK_ONEMASTER_PATCH
@ -817,9 +815,7 @@ static void (*handler[LASTEvent]) (XEvent *) = {
#endif // COMBO_PATCH / BAR_HOLDBAR_PATCH #endif // COMBO_PATCH / BAR_HOLDBAR_PATCH
[MappingNotify] = mappingnotify, [MappingNotify] = mappingnotify,
[MapRequest] = maprequest, [MapRequest] = maprequest,
#if !FOCUSONCLICK_PATCH
[MotionNotify] = motionnotify, [MotionNotify] = motionnotify,
#endif // FOCUSONCLICK_PATCH
[PropertyNotify] = propertynotify, [PropertyNotify] = propertynotify,
#if BAR_SYSTRAY_PATCH #if BAR_SYSTRAY_PATCH
[ResizeRequest] = resizerequest, [ResizeRequest] = resizerequest,
@ -2702,12 +2698,13 @@ maprequest(XEvent *e)
manage(ev->window, &wa); manage(ev->window, &wa);
} }
#if !FOCUSONCLICK_PATCH
void void
motionnotify(XEvent *e) motionnotify(XEvent *e)
{ {
#if !FOCUSONCLICK_PATCH
static Monitor *mon = NULL; static Monitor *mon = NULL;
Monitor *m; Monitor *m;
#endif // FOCUSONCLICK_PATCH
Bar *bar; Bar *bar;
#if LOSEFULLSCREEN_PATCH #if LOSEFULLSCREEN_PATCH
Client *sel; Client *sel;
@ -2724,6 +2721,7 @@ motionnotify(XEvent *e)
hidetagpreview(selmon); hidetagpreview(selmon);
#endif // BAR_TAGPREVIEW_PATCH #endif // BAR_TAGPREVIEW_PATCH
#if !FOCUSONCLICK_PATCH
if (ev->window != root) if (ev->window != root)
return; return;
if ((m = recttomon(ev->x_root, ev->y_root, 1, 1)) != mon && mon) { if ((m = recttomon(ev->x_root, ev->y_root, 1, 1)) != mon && mon) {
@ -2738,8 +2736,8 @@ motionnotify(XEvent *e)
focus(NULL); focus(NULL);
} }
mon = m; mon = m;
#endif // FOCUSONCLICK_PATCH
} }
#endif // FOCUSONCLICK_PATCH
void void
movemouse(const Arg *arg) movemouse(const Arg *arg)