[xmonad] Issue 525 in xmonad: struts not recalculated when a dock window moves instead of being unmapped/remapped; also, ewmhDesktopsEventHook doesn't relay events to docksEventHook

codesite-noreply at google.com codesite-noreply at google.com
Thu Jan 24 03:05:19 CET 2013


Status: Accepted
Owner: allber... at gmail.com

New issue 525 by allber... at gmail.com: struts not recalculated when a dock  
window moves instead of being unmapped/remapped; also,  
ewmhDesktopsEventHook doesn't relay events to docksEventHook
http://code.google.com/p/xmonad/issues/detail?id=525

What steps will reproduce the problem?
   1. Drag a gnome-panel to a new location instead of using its Preferences  
dialog to reposition it.

What is the expected output? What do you see instead?
   The layout is not recalculated to account for the relocated panel.

There should be a handleEventHook for ManageDocks which checks for a change  
in the strut property (_NET_WM_STRUT or _NET_WM_STRUT_PARTIAL as  
appropriate) and forces the layout to be recalculated.  Presently there is  
a little-known and mostly unused docksEventHook which only supports the  
case where a new dock is unexpectedly mapped; most of the time this is  
handled automatically because docks use EWMH properties instead of  
declaring themselves to be override_redirect.  (Although this might also  
explain some cases where a dock does not behave properly until something  
does force a layout refresh.)

Related to this, EwmhDesktops might want to invoke docksEventHook; while  
the normal case might currently be that it's not needed since one would  
expect an EWMH dock to use EWMH facilities instead of override_redirect,  
this will necessarily change if we add support for dynamically changing  
struts.




More information about the xmonad mailing list