2015-01-02 18 views
7

我可以改變工作區的名稱,大概只需改變這個conststant添加更多:如何在xmonad中擁有超過9個工作區?

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

如果我添加了一些數組,將會有更多的工作空間,但我怎麼熱鍵綁定呢? Mod-1到Mod-9是默認設置,但我找不到有關如何更改該默認設置的文檔。

+0

@AndrewC:不,這不是從琴絃產生。我可以說「foo」而不是「1」,這隻會影響作爲工作區名稱顯示的內容。請注意,我使用Unicode字符來描述某些工作區專用的內容。 – bitmask

回答

9

我發現埋在this example configuration並與key names list一起答案,它看起來像如下:

定義第十個工作區:

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

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

然後鍵綁定如下所示:

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

在此示例中使用了斜線鍵,但可以使用上面列表中的任何其他鍵代替。

最後:

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

謝謝!爲了使你的例子能夠工作,我還需要'將合格的XMonad.StackSet導入爲W',並且必須將兩個'myModMask'替換爲'modm'。我不確定'modm'是在哪裏定義的,但它與其他鍵綁定中使用的模式相匹配。 –

0
-- | 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] 

修改列表的長度Config.hs

相關問題