How can I have more than 9 workspaces in xmonad?

天涯浪子 提交于 2020-06-27 06:55:27

问题


I can change the names of workspaces, and presumably simply add more by changing this conststant:

myWorkspaces = ["1","2","3⌂","4","5","6","7✉","8☺","9♫"]

If I add something to the array, there will be more workspaces, but how do I keybind them? Mod-1 through Mod-9 are the default but I can't find documentation for how to change that default.


回答1:


I found the answer buried in this example configuration and together with the key names list, it looks like the following:

Defining a tenth workspace:

myExtraWorkspaces = [(xK_0, "0"),(xK_minus, "tmp"),(xK_equal, "swap")]

myWorkspaces = ["1","2","3⌂","4","5","6","7✉","8☺","9♫"] ++ (map snd myExtraWorkspaces)

Then the key binding looks like this:

myKeys = 
      [ -- ... some more keys ...
      ] ++ [
        ((myModMask, key), (windows $ W.greedyView ws))
        | (key,ws) <- myExtraWorkspaces
      ] ++ [
        ((myModMask .|. shiftMask, key), (windows $ W.shift ws))
        | (key,ws) <- myExtraWorkspaces
      ]

In this example the slash key is used, but any other key from the list above can be used instead.

And finally:

main = do
 xmonad $ config {
           workspaces = myWorkspaces
        } `additionalKeys` (myKeys)



回答2:


Another way is dynamic workspaces. Add

import XMonad.Actions.DynamicWorkspaces
import XMonad.Actions.CopyWindow(copy)

to your xmonad.hs file and add

, ((modm, xK_v), selectWorkspace myXPConfig)

to the keybindings in that file. Then pressing mod+v lets you switch to a workspace by name or create it if it doesn't exist.




回答3:


-- | The default number of workspaces (virtual screens) and their names.
-- By default we use numeric strings, but any string may be used as a
-- workspace name. The number of workspaces is determined by the length
-- of this list.
--
-- A tagging example:
--
-- > workspaces = ["web", "irc", "code" ] ++ map show [4..9]
--
workspaces :: [WorkspaceId]
workspaces = map show [1 .. 9 :: Int]

Modify the length of the list in Config.hs



来源:https://stackoverflow.com/questions/27742421/how-can-i-have-more-than-9-workspaces-in-xmonad

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!