diff options
author | Spencer Janssen <sjanssen@cse.unl.edu> | 2007-06-06 23:40:06 +0200 |
---|---|---|
committer | Spencer Janssen <sjanssen@cse.unl.edu> | 2007-06-06 23:40:06 +0200 |
commit | f2decccde5aef93f819f96c3617c15c3b86ff6b5 (patch) | |
tree | b4db0e066658b6ccd4afb4e4dd79496800d55e80 /man | |
parent | 72e237b5e714a0c16087f87fcc7e44d37a4a1202 (diff) | |
download | xmonad-f2decccde5aef93f819f96c3617c15c3b86ff6b5.tar.gz xmonad-f2decccde5aef93f819f96c3617c15c3b86ff6b5.tar.xz xmonad-f2decccde5aef93f819f96c3617c15c3b86ff6b5.zip |
Fix unmap handling
According to the ICCCM, clients should send a synthetic unmap event when they
initiate an unmap. The old code waited for these synthetic unmaps to unmanage
windows. However, certain 'obsolete' clients do not send synthetic unmaps
(notably xpdf's find dialog). These windows entered a zombified state: xmonad
does not manage them, yet they are still mapped and raised on screen.
The new algorithm (derived from wmii):
- track windows that are mapped on screen
- track the number of expected unmap events for each window, increment every
time 'hide' is called on a window that is not mapped.
- decrement the expected unmap counter on each unmap event
- treat an unmap event as genuine (ie. unmap the window) when:
- the event is synthetic (per ICCCM)
- OR there are no expected unmap events for this window
darcs-hash:20070606214006-a5988-7c2eced85319ff506a9b7c9dc86d5946ca0da8e5.gz
Diffstat (limited to 'man')
0 files changed, 0 insertions, 0 deletions