2015-01-02 5 views
7

Ich kann den Namen von Arbeitsbereichen ändern, und vermutlich einfach mehr hinzufügen, indem Sie diese conststant Wechsel:Wie kann ich in xmonad mehr als 9 Arbeitsbereiche haben?

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

Wenn ich etwas zu dem Array hinzufügen, wird es mehr Arbeitsbereiche sein, aber wie sie mich keybind? Mod-1 bis Mod-9 sind die Standardeinstellungen, aber ich kann keine Dokumentation finden, um diesen Standard zu ändern.

+0

@AndrewC: Nein, es nicht von den Saiten erzeugt wird. Ich kann "foo" anstelle von "1" sagen und das beeinflusst nur, was als Name des Arbeitsbereichs angezeigt wird. Beachten Sie, dass ich Unicode-Zeichen verwende, um darzustellen, wofür einige der Arbeitsbereiche reserviert sind. – bitmask

Antwort

9

fand ich die in this example configuration begraben Antwort und zusammen mit dem key names list, sieht es wie folgt aus:

einen zehnten Arbeitsplatz definieren:

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

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

Dann werden die Tastenkombination sieht wie folgt aus:

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

In diesem Beispiel wird der Schrägstrichschlüssel verwendet, aber jeder andere Schlüssel aus der obigen Liste kann stattdessen verwendet werden.

Und schließlich:

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

Danke! Um Ihre Beispiele funktionieren zu lassen, musste ich auch '' qualifiedXMonad.StackSet als W' importieren und beide Vorkommen von 'myModMask' bis' modm' ersetzen. Ich bin nicht sicher, wo "modm" definiert ist, aber es stimmt mit dem Muster überein, das in anderen Tastenbindungen verwendet wird. –

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] 

Ändern Sie die Länge der Liste in Config.hs

Verwandte Themen