[xmonad] announce: XMonad.Layout.Monitor

Roman Cheplyaka roma at ro-che.info
Mon Dec 15 14:08:28 EST 2008


* Michal 'vorner' Vaner <vorner at ucw.cz> [2008-12-15 15:09:36+0100]
> Hello
> 
> On Sat, Nov 15, 2008 at 01:06:58PM +0200, Roman Cheplyaka wrote:
> > XMonad.Layout.Monitor is module for managing 'monitor' windows. Monitor
> > windows are like dock windows, but they are placed above other windows.
> > For example, see screenshot[1]. 
> > 'Monitor' is layout modifier which shows monitor window above the tiled
> > windows of current layout.
> > Its features are:
> > - works with unmanaged windows ( => it's trivial to get monitor on all
> >   workspaces, plus monitor never gets focus)
> > - toggling visibility with a keybinding
> > - it's possible to have several monitors and toggle them independently
> >   (using nested modifiers)
> 
> Sorry for responding so late, I didn't find time earlier. I want to
> thank for this, I was missing something like this.
> 
> A also want to report it works for me well, with three separate monitors
> on all viewports and with adding and removing real screens (with xrandr)
> on the fly (but they are all on the primary screen, which is never
> removed).

Glad to hear this!

> Just one question at the end: is it possible to start them hidden? Eg.
> when the window is created, do not show it and let it wait there before
> the monitor is showed?

Yes, this is possible. 

1. Update XMonadContrib to latest darcs
2. use 'doHideIgnore' as ManageHook for your window
3. instead of (addMonitor ... $ ...) use:

-- define monitor
clock = Monitor
    { prop = ClassName "Cairo-clock" `And` Title "MacSlow's Cairo-Clock"
    , rect = Rectangle (1280-150) (800-150) 150 150
    , visible = False  -- this is what you want
    , mbName = Nothing -- or (Just "name") for named monitors
    , persistent = True
    }

layoutHook = ModifiedLayout clock $ ...

-- 
Roman I. Cheplyaka (aka Feuerbach @ IRC)


More information about the xmonad mailing list