2015-01-02 13 views
7

मैं कार्यस्थानों के नाम बदल सकते हैं, और शायद बस इस conststant बदलकर अधिक जोड़ने:xmonad में 9 से अधिक कार्यस्थान कैसे हो सकते हैं?

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

मैं सरणी के लिए कुछ जोड़ते हैं, तो वहाँ अधिक कार्यस्थानों होगा, लेकिन मैं उन्हें कैसे keybind करते हैं? मॉड -9 के माध्यम से मॉड -1 डिफ़ॉल्ट हैं लेकिन मुझे डिफ़ॉल्ट रूप से बदलने के लिए दस्तावेज़ नहीं मिल रहा है।

+0

@AndrewC: नहीं यह तार से उत्पन्न नहीं कर रहा है। मैं "1" के बजाय "foo" कह सकता हूं और यह केवल कार्यक्षेत्र के नाम के रूप में प्रदर्शित होने वाले प्रभाव को प्रभावित करेगा। ध्यान दें कि मैं यूनिकोड वर्णों का उपयोग यह दर्शाता हूं कि कुछ कार्यस्थान किसके लिए समर्पित हैं। – 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

संबंधित मुद्दे