[xmonad] Dynamic workspace names

Tomas Janousek tomi at nomi.cz
Tue Dec 1 11:38:52 EST 2009


I'm attaching a module X.A.WorkspaceNames (WN) that allows to dynamically
assign names to workspaces and to show them in DynamicLog, which is the kind
of workflow that I was hoping DynamicWorkspaces (DW) provides. The differences

DW allows to create, delete and rename workspaces, but their order is somewhat
fixed. WN supports only renaming and swapping workspaces, so their order is
changeable. With WN, we have a fixed set of workspaces, for example [1..12]
assigned to F1..F12, we can rename them and change their order by swapping
(just like with X.A.SwapWorkspaces). The workspace tags and their order are
intact, so that xmobar shows which key switches to which workspace.

This works well with XMonad.Layout.WorkspaceDir.

The workflow described in Issue 335 (Manual workspace sorting mode using
extensible state) may be more or less achieved using this module.

When cleaning it up, I noticed that if implemented as a layout modifier
instead of a custom extensible state module, we'd get the swapping behaviour
for free. However, if the layout hook in config is changed (which happens
sometimes), the names would be lost. That's BTW what happens with WorkspaceDir
now, so it might be a good idea to reimplement WorkspaceDir using extensible
state and together with the code I have call it DynamicTopicWorkspaces or
something like that.

I'd like to have your opinion on this so that I can polish it even further.

Tomáš Janoušek, a.k.a. Liskni_si, http://work.lisk.in/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: WorkspaceNames.hs
Type: text/x-haskell
Size: 5152 bytes
Desc: not available
Url : http://www.haskell.org/pipermail/xmonad/attachments/20091201/7061dd5b/WorkspaceNames.bin

More information about the xmonad mailing list