
On 25 June 2012 07:47, Raghavendra D Prabhu
Hi,
* On Mon, Jun 25, 2012 at 04:43:23PM +0530, Raghavendra D Prabhu
wrote: Hi,
* On Sun, Jun 24, 2012 at 12:56:10PM -0400, adam vogt
wrote: On Sat, Jun 23, 2012 at 2:30 PM, Raghavendra D Prabhu
wrote: Hi,
I am using ManageHook to assign windows to workspaces; however, sometimes I tend to move the window to other workspace and after that happens, any dialog/child window of this window appears in the original assigned workspace and not in the new workspace.
Is there a way to fix / workaround this?
Hi Raghavendra,
If you run xprop on the dialog windows you find a property like: WM_TRANSIENT_FOR(WINDOW): window id # 0x7c00006
If that's the case, you can use the transience' defined in XMonad.Hooks.ManageHelpers, putting it as the left-most managehook (that is, manageHook = composeAll [ transience' , className =? "a" --> doShift "b", ... ] )
http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Hooks-ManageHelpers.html
Adam
_______________________________________________
Thanks, I had tried transience before, albeit for a different purpose I think, let me give it a shot again.
Thanks.
xmonad mailing list xmonad@haskell.org http://www.haskell.org/mailman/listinfo/xmonad
So, I tried it, it doesn't work for windows like the preferences window of firefox. The reason being that they don't have transient property in their xprop output.
However, I did notice WM_CLIENT_LEADER on both windows pointing to same id (that of parent). Further searching lead me to http://tronche.com/gui/x/icccm/sec-5.html
"" All top-level, non-transient windows created by a client on the same display as the client leader must have a WM_CLIENT_LEADER property. This property contains a window ID that identifies the client leader window. The client leader window must have a WM_CLIENT_LEADER property containing its own window ID (i.e. the client leader window is pointing to itself). Transient windows need not have a WM_CLIENT_LEADER property if the client leader can be determined using the information in the WM_TRANSIENT_FOR property ""
Now, I checked the code and noticed a getTransientForHint being used to check for this. Is there a way to add the above to it?
Regards,
Did you have success? I'm having the same problem... each time firefox spawn a window it appears in a fixed workspace (which is not always the same that I'm using it), also most of them are dialogs, but they tend to tile themselvs which is umconfortable. I was looking to the function you mentioned (getTransientForHint), but I don't know where it is. I see it being called two times in X.H.ManageHelpers and XMonad (Operation.hs), but I still don't understand where to look. Saludos, -- Pablo Olmos de Aguilera Corradini - @PaBLoX http://www.glatelier.org/ http://about.me/pablox/ http://www.linkedin.com/in/pablooda/ Linux User: #456971 - http://counter.li.org/