# 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)