
Hello, 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 are: 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. Thanks, -- Tomáš Janoušek, a.k.a. Liskni_si, http://work.lisk.in/