[xmonad] Set avoidStruts for an individual workspace

Wirt Wolff wirtwolff at gmail.com
Mon Jan 11 19:38:23 EST 2010

Excerpts from Ones Self's message of Mon Jan 11 15:46:43 -0700 2010:
> I'm using avoidStruts to leave the Gnome status bar uncovered, but I have one
> workspace, used for watching movies, that I would like the window to cover the
> bar.  I'm currently using a key combo to toggleStruts, but I would like that
> workspace to just have that set always.

One way would be to use PerWorkspace layouts. Say your current layoutHook
is something like myLayout = avoidStruts $ foo ||| bar ||| .... and you
want only Full ||| Grid on the movie workspace:

import XMonad.Layout.PerWorkspace
  -- skipped
  , layoutHook = onWorkspace "vid" (Full ||| Grid) myLayout
  -- skipped

would give you no statusBars on the "vid" workspace, defaulting to
Full layout, toggling with Grid, then use myLayout for all other
workspaces. If you sometimes want to toggle on the status bars
even on "vid" that's doable to, but I'm thinking this will probably
meet your needs as is.


More information about the xmonad mailing list