[xmonad] doFullFloat keybinding?

wagnerdm at seas.upenn.edu wagnerdm at seas.upenn.edu
Tue Jul 10 20:38:03 CEST 2012


Quoting Matthew Hague <matthewhague at zoho.com>:

>> Date: Tue, 10 Jul 2012 10:23:23 +0200
>> From: 1126 <mailinglists at elfsechsundzwanzig.de>
>> Subject: [xmonad] doFullFloat keybinding?
>> To: Xmonad Mailinglist <xmonad at haskell.org>
>> Message-ID: <20120710082323.GA17177 at 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-StackSet.html#v:shiftMaster
...prolly don't want to stick that in your log hook, though.

~d



More information about the xmonad mailing list