
On 02/05/11 11:20, Brandon S Allbery KF8NH wrote:
On 5/1/11 20:28 , Michael Norrish wrote:
Through calls to trace, I can see that I am indeed picking up on the desired event (the change in the window's name), and I have a window (w above) to hand, but I don't know how to do things to it. My cursory examination of the relevant APIs suggested I could do
action <- runQuery (doShift "mail") w
giving me a handle on an Endo Windowset, but I don't know how to lift that into the X monad (where I have to eventually return $ All True). Can I use the withWindowSet function somehow?
I saw you asking about this in #xmonad and left a response message, but I guess you never checked back in. You want to do something like
windows (W.shift "mail" w)
which reruns the layout with the specified modification.
This doesn't quite work because w is a Window, not a WindowSet. However, the following does appear to do the right thing action <- runQuery (doShift "mail") w windows (appEndo action) It still seems a bit on the convoluted side. Is there a way of getting an appropriate WindowSet from the w :: Window that I do have? Best, Michael