diff options
| author | Daniel Guihot | 2026-09-16 06:18:28 +1000 |
|---|---|---|
| committer | Daniel Guihot | 2026-09-16 06:18:49 +1000 |
| commit | 395aa47c173a9fad7a38ff68ee764d9f93126e11 (patch) | |
| tree | 8c8965b6593958f933160570da2978829af94bb9 /README.md | |
| parent | 2c336f99d14660cb656892875b3431604359ade3 (diff) | |
| download | dwm-unmapfullscreen-main.tar.gz dwm-unmapfullscreen-main.zip | |
Keep hidden fullscreen clients managed and restore input focus after
mapping. Handle hidden clients entering or leaving fullscreen.
Diffstat (limited to '')
| -rw-r--r-- | README.md | 15 |
1 files changed, 11 insertions, 4 deletions
@@ -14,13 +14,20 @@ dwm selects `StructureNotifyMask` on clients and `SubstructureNotifyMask` on the root, so calling `XUnmapWindow()` directly reaches `unmapnotify()` and unmanages the client. The patch adds a small `unmapclient()` helper that suppresses both masks around the unmap, the same technique the windowmap -patch uses. Hidden fullscreen clients are still parked off-screen so the -initial map from `manage()` does not put them on the wrong tag. +patch uses. + +Hidden fullscreen clients are not moved off-screen. The client tracks whether +the patch unmapped it, which lets `showhide()` map it before restoring input +focus without querying the X server on every arrange. Normal clients keep +dwm's original off-screen hiding. A hidden client that leaves fullscreen is +mapped off-screen again instead of remaining unmapped. ## Testing -Applies and builds against dwm 6.8. Runtime tested under Xvfb: a hidden -fullscreen client reports map state unmapped and stays managed. +Applies and builds against dwm 6.8. Runtime tested under Xvfb. Hidden +fullscreen clients became unmapped, stayed managed, mapped on return, and +regained real X input focus. Tests also covered a new fullscreen client +assigned to a hidden tag and a hidden client leaving fullscreen. ## Download |
