aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorDaniel Guihot2026-09-16 06:18:28 +1000
committerDaniel Guihot2026-09-16 06:18:49 +1000
commit79e6a3a2b4daf7017f1a1ccada912ffcd57a054e (patch)
tree120d95c295bd2940ce35c2eb178311d17255c40b /README.md
parent572fae56b30e86c686b61aa1e31ca9d0803cf313 (diff)
downloaddwm-focusguard-79e6a3a2b4daf7017f1a1ccada912ffcd57a054e.tar.gz
dwm-focusguard-79e6a3a2b4daf7017f1a1ccada912ffcd57a054e.zip
Guard all fullscreen focus pathsHEADmain
Keep a visible fullscreen client focused and raised when focus would move to a normal client. Update the runtime test notes.
Diffstat (limited to 'README.md')
-rw-r--r--README.md22
1 files changed, 11 insertions, 11 deletions
diff --git a/README.md b/README.md
index 471fb86..d9eda30 100644
--- a/README.md
+++ b/README.md
@@ -2,15 +2,14 @@
## Description
-This patch keeps focus on a fullscreen client when a new window appears. It
-applies to dwm 6.8.
+This patch keeps focus on a visible fullscreen client when focus would
+otherwise move to a normal client. It applies to dwm 6.8.
-`manage()` calls `focus(NULL)` for every new client on the selected monitor,
-so Steam update dialogs, chat windows and notifications pull focus off a
-running fullscreen game. Many games then drop fullscreen. With this patch the
-fullscreen client stays selected and focused. The new client is still
-attached, arranged and mapped, and can be reached after the game leaves
-fullscreen or by switching tags.
+When focus would move to a normal client, `focus()` checks that client's
+monitor for a visible fullscreen client. If one exists, the fullscreen client
+keeps focus and is raised above the blocked window. This covers newly managed
+windows and other focus paths. The blocked client remains managed and can be
+reached after the game leaves fullscreen or by switching tags.
## Configuration
@@ -19,9 +18,10 @@ The patch uses the existing `lockfullscreen` option in `config.h`. Set it to
## Testing
-Applies and builds against dwm 6.8. Runtime tested under Xvfb: with a
-fullscreen client focused, a new window no longer becomes
-`_NET_ACTIVE_WINDOW`.
+Applies and builds against dwm 6.8. Runtime tested under Xvfb. A new window
+remained managed, but the fullscreen client kept X input focus, stayed
+`_NET_ACTIVE_WINDOW`, and remained above the new window. Setting
+`lockfullscreen` to 0 restored the original focus behaviour.
## Download