[xmonad] One status bar process, visible on N screens

Brandon Allbery allbery.b at gmail.com
Mon Jan 16 23:08:03 CET 2012

On Mon, Jan 16, 2012 at 16:30, Jacek Generowicz <jacek.generowicz at cern.ch>wrote:

> When running unity-2d-panel, the panel appears once on each screen,
> even though a single process is running. (There is a glitch where the
> width of the narrower screen determines the width of the panel, so it
> doesn't span the whole screen width on the wider screen.)

The glitch should alert you to what's really going on:  the GNOME panel
(Unity is built on top of GNOME) uses a single process for all panel
windows, but the windows are actually independent.  Unity is simply
arranging for the same applet config to be used in each of the windows
(it's actually running the applets multiple times).  (The way the GNOME
panel works, this amounts to duplicating some gconf/dconf keys, so that
each panel has its own copy of the config.)

> At the moment I am spawning two xmobar or dzen2 processes, one for
> each screen. This isn't really satisfactory: Requiring multiple
> processes merely to display exactly the same information, and
> hard-wiring 2 bars, is rather grating.

But that is all X11 supports; you can't actually display a window in
multiple places, you have to create separate windows with independent
contents.  It's not up to xmonad to control this.

> Have you any suggestions on how to configure XMonad so that a single
> status bar is visible on every visible screen that happens to be
> connected at any time?

As stated above, this is simply not possible.  xmonad doesn't have any
control over it; X11 only allows a window to be visible in one place at a

brandon s allbery                                      allbery.b at gmail.com
wandering unix systems administrator (available)     (412) 475-9364 vm/sms
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/xmonad/attachments/20120116/852b626b/attachment.htm>

More information about the xmonad mailing list