[xmonad] ManageHook and child windows

Raghavendra D Prabhu raghu.prabhu13 at gmail.com
Mon Jul 9 21:45:31 CEST 2012


* On Mon, Jul 09, 2012 at 02:50:05PM -0400, Brandon Allbery <allbery.b at gmail.com> wrote:
>On Mon, Jul 9, 2012 at 2:25 PM, Raghavendra D Prabhu <
>raghu.prabhu13 at gmail.com> wrote:
>> So, after the previous post I did some digging in the code.
>>  getTransientForHint  is from  Graphics.X11.Xlib.Extras haskell  library.
>Yes.  Do not expect that the X11 binding will be changed to add this;
>that's the wrong place to put it.
>> So there are two ways to fix this:
>>   1. Fix in libX11 by adding another function or fixing existing   one.
>>   2. Fixing getTransientForHint in G.X.X11.Extras by adding   another
>> condition to check for WM_CLIENT_LEADER according to   ICCWM specs.
>And then there's the correct one:  extend the *user* of this function, in
>ManageHelpers, to also do the WM_CLIENT_LEADER check.
>Modifying a low level X11 binding to do something the bound library does
>not, namely adding WM_CLIENT_LEADER to a function which is documented to
>only do WM_TRANSIENT_FOR, is the wrong place to put this.

Yes, modifying the manageHelpers would be better and correct; 
applying same logic modifying either transience or transientTo  
in ManageHelpers would be incorrect as well (since transience has 
nothing to do with WM_CLIENT_LEADER), so basically logic (as new 
ManageHook) needs to be added which moves child windows to 
parent's workspace based on latter's window id (with interface similar to Query( Maybe 
Window)) after making sure WM_CLIENT_LEADER is set and window-id 
!= WM_CLIENT_LEADER property value (to avoid the loop).

>brandon s allbery                                      allbery.b at gmail.com
>wandering unix systems administrator (available)     (412) 475-9364 vm/sms

>xmonad mailing list
>xmonad at haskell.org

Raghavendra Prabhu
GPG Id : 0xD72BE977
Fingerprint: B93F EBCB 8E05 7039 CD3C A4B8 A616 DCA1 D72B E977
www: wnohang.net
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://www.haskell.org/pipermail/xmonad/attachments/20120710/1ff8ab73/attachment.pgp>

More information about the xmonad mailing list