diff options
| author | Daniel Guihot | 2026-09-16 05:22:34 +1000 |
|---|---|---|
| committer | Daniel Guihot | 2026-09-16 05:22:34 +1000 |
| commit | 270323604a64f4c9aed829f32dbc12f3d0969a26 (patch) | |
| tree | 6f353082d8fc4c46312f1dae14cfc92170d0e88e /dwm-pointerlock-6.8.diff | |
| download | dwm-pointerlock-270323604a64f4c9aed829f32dbc12f3d0969a26.tar.gz dwm-pointerlock-270323604a64f4c9aed829f32dbc12f3d0969a26.zip | |
dwm 6.8 pointerlock patch
Diffstat (limited to '')
| -rw-r--r-- | dwm-pointerlock-6.8.diff | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/dwm-pointerlock-6.8.diff b/dwm-pointerlock-6.8.diff new file mode 100644 index 0000000..bb38f0a --- /dev/null +++ b/dwm-pointerlock-6.8.diff @@ -0,0 +1,38 @@ +From 15cb084b099abe22b2d25a860b8739a81614cc48 Mon Sep 17 00:00:00 2001 +From: Daniel Guihot <daniel@guihot.net> +Date: Wed, 16 Sep 2026 05:06:40 +1000 +Subject: [PATCH] pointerlock: ignore pointer focus changes while fullscreen + +enternotify() and motionnotify() change the selected monitor and focus +when the pointer crosses a monitor edge. A fullscreen client can lose +focus from mouse movement alone. Keep the focus on it while +lockfullscreen is set, the same policy focusstack() already follows. +--- + dwm.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/dwm.c b/dwm.c +index 53b393e..4872c7b 100644 +--- a/dwm.c ++++ b/dwm.c +@@ -763,6 +763,8 @@ enternotify(XEvent *e) + Monitor *m; + XCrossingEvent *ev = &e->xcrossing; + ++ if (lockfullscreen && selmon->sel && selmon->sel->isfullscreen) ++ return; + if ((ev->mode != NotifyNormal || ev->detail == NotifyInferior) && ev->window != root) + return; + c = wintoclient(ev->window); +@@ -1132,6 +1134,8 @@ motionnotify(XEvent *e) + Monitor *m; + XMotionEvent *ev = &e->xmotion; + ++ if (lockfullscreen && selmon->sel && selmon->sel->isfullscreen) ++ return; + if (ev->window != root) + return; + if ((m = recttomon(ev->x_root, ev->y_root, 1, 1)) != mon && mon) { +-- +2.55.0 + |
