Re: [xmonad] Toggle Window (Always Below <-> Always Above)

On Mon, Jan 31, 2011 at 05:21:28PM +0100, Audun Skaugen wrote:
On Mon, Jan 31, 2011 at 3:35 PM, Jan-David Quesel
wrote: ah nice. That seems to work. Now on to the next issue. Floating the docks seems to kinda work. However it has lots of ugly side effects, such as being able to move the windows around etc.
When I call doIgnore on the window and later try to call reveal on it, it does stay in the background... same for doHideIgnore and reveal.
Is there a function I can call on a window to get on top of other windows?
Try: d <- asks display io $ raiseWindow d win
You might have to import Graphics.X11.Xlib first.
thats it. I finally was able to implement the behavior I wanted. Thank you everyone for your help. Best regards, Jan P.S. For documentation purposes I attach the relevant code parts: My handleEventHook is defined as follows: data WindowDump = WindowDump ([Window]) deriving (Read, Show, Typeable) instance ExtensionClass WindowDump where initialValue = WindowDump [] extensionType = PersistentExtension myEventHook :: Event -> X All myEventHook e = handle e >> return (All True) handle :: Event -> X () handle KeyEvent { ev_event_type = ty, ev_keycode = k, ev_time = t, ev_state = mod } | (ty == keyPress && k == 133) = do d <- asks display WindowDump windows <- XS.get :: X WindowDump mapM (io . (raiseWindow d)) windows return () handle KeyEvent { ev_event_type = ty, ev_keycode = k, ev_time = t, ev_state = mod } | (ty == keyRelease && k == 133) = do d <- asks display WindowDump windows <- XS.get :: X WindowDump mapM (io . (lowerWindow d)) windows return () handle _ = return () And the manageHook looks like this: unique = map head . group . sort composeAll [ checkDock <&&> ((fmap ("dzen slave" `isInfixOf`) title) =? False) --> do win <- ask WindowDump windows <- liftX XS.get :: Query WindowDump liftX $ XS.put $ WindowDump (unique (win:windows)) doIgnore , (fmap ("dzen slave" `isInfixOf`) title) --> do doIgnore ] -- Jan-David Quesel Carl von Ossietzky Universität Oldenburg Department of Computing Science Correct System Design D-26111 Oldenburg, Germany Phone: +49 (0)441 798-2376 Fax: +49 (0)441 798-2965
participants (1)
-
Jan-David Quesel