diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..c827164 --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +# unmapfullscreen + +## Description + +This patch hides fullscreen clients by unmapping them instead of moving them +off-screen. It applies to dwm 6.8. + +`showhide()` hides a window by moving it to `-2 * width`. Some games and +Wine/Proton builds treat that as a broken or minimized state and do not +recover fullscreen when the tag returns. With this patch a hidden fullscreen +client is unmapped and mapped again when it becomes visible. + +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. + +## Testing + +Applies and builds against dwm 6.8. Runtime tested under Xvfb: a hidden +fullscreen client reports map state unmapped and stays managed. + +## Download + +* [dwm-unmapfullscreen-6.8.diff](dwm-unmapfullscreen-6.8.diff) + +## Author + +* Daniel Guihot - [daniel@guihot.net](mailto:daniel@guihot.net) |
