Re: [xmonad] doFullFloat keybinding?

Date: Tue, 10 Jul 2012 10:23:23 +0200 From: 1126
Subject: [xmonad] doFullFloat keybinding? To: Xmonad Mailinglist Message-ID: <20120710082323.GA17177@1126.localdomain> Content-Type: text/plain; charset=us-ascii When evince is FullFloating I got problems when opening more than one instance of it, like a second paper. It just lets the first one disappear under the freshly opened one.
The solutions discussed already are probably the way to go for a clean approach, but just a remark on this point, as it's a general problem with floating windows in xmonad. There's a (undocumented, i think) function raiseWindow that you can use to put a window in front of all others. I guess this isn't called by default since tiled windows don't need to be raised in front of each other (whereas floats do). So you can add this to your config to get around it, but maybe it's a hack: raiseFocused :: X () raiseFocused = do disp <- asks display mw <- gets (W.peek . windowset) maybe (return ()) (io . (raiseWindow disp)) mw myLogHook = ... <+> raiseFocused <+> ... Matt

On Tue, Jul 10, 2012 at 10:42 AM, Matthew Hague
There's a (undocumented, i think) function raiseWindow that you can use to put
It's documented, but not where you expect; since it's part of the X11 bindings and not xmonad proper, the documentation is "man 3 XRaiseWindow". (That is, there is a haddock for it but all it says is "does XRaiseWindow".) http://xmonad.org/xmonad-docs/X11/Graphics-X11-Xlib-Window.html#v:raiseWindo... http://tronche.com/gui/x/xlib/window/XRaiseWindow.html -- brandon s allbery allbery.b@gmail.com wandering unix systems administrator (available) (412) 475-9364 vm/sms

Quoting Matthew Hague
Date: Tue, 10 Jul 2012 10:23:23 +0200 From: 1126
Subject: [xmonad] doFullFloat keybinding? To: Xmonad Mailinglist Message-ID: <20120710082323.GA17177@1126.localdomain> Content-Type: text/plain; charset=us-ascii When evince is FullFloating I got problems when opening more than one instance of it, like a second paper. It just lets the first one disappear under the freshly opened one.
The solutions discussed already are probably the way to go for a clean approach, but just a remark on this point, as it's a general problem with floating windows in xmonad.
There's a (undocumented, i think) function raiseWindow that you can use to put a window in front of all others. I guess this isn't called by default since tiled windows don't need to be raised in front of each other (whereas floats do).
So you can add this to your config to get around it, but maybe it's a hack:
raiseFocused :: X () raiseFocused = do disp <- asks display mw <- gets (W.peek . windowset) maybe (return ()) (io . (raiseWindow disp)) mw
myLogHook = ... <+> raiseFocused <+> ...
The way to raise the focused floating window without going behind xmonad's back is to use shiftMaster. mod+click does this by default. http://hackage.haskell.org/packages/archive/xmonad/latest/doc/html/XMonad-St... ...prolly don't want to stick that in your log hook, though. ~d

On Tue, 10. Jul 16:42, Matthew Hague wrote:
Date: Tue, 10 Jul 2012 10:23:23 +0200 From: 1126
Subject: [xmonad] doFullFloat keybinding? To: Xmonad Mailinglist Message-ID: <20120710082323.GA17177@1126.localdomain> Content-Type: text/plain; charset=us-ascii When evince is FullFloating I got problems when opening more than one instance of it, like a second paper. It just lets the first one disappear under the freshly opened one.
The solutions discussed already are probably the way to go for a clean approach, but just a remark on this point, as it's a general problem with floating windows in xmonad.
Well, actually, the solution discussed and implemented does just what it should. I should've given more thought to what actually mattered (being: more than just one instance of evince view-/accessible + no xmobar on that ws). ...
There's a (undocumented, i think) function raiseWindow that you can use to put a window in front of all others. I guess this isn't called by default since tiled windows don't need to be raised in front of each other (whereas floats do).
So you can add this to your config to get around it, but maybe it's a hack:
raiseFocused :: X () raiseFocused = do disp <- asks display mw <- gets (W.peek . windowset) maybe (return ()) (io . (raiseWindow disp)) mw
myLogHook = ... <+> raiseFocused <+> ...
... but thank you nevertheless :)
Matt
_______________________________________________ xmonad mailing list xmonad@haskell.org http://www.haskell.org/mailman/listinfo/xmonad
participants (4)
-
1126
-
Brandon Allbery
-
Matthew Hague
-
wagnerdm@seas.upenn.edu