2015-01-02 18 views
7

tôi có thể thay đổi tên của không gian làm việc, và có lẽ chỉ đơn giản là bổ sung thêm bằng cách thay đổi conststant này:Làm cách nào để có nhiều hơn 9 không gian làm việc trong xmonad?

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

Nếu tôi thêm một cái gì đó để mảng, sẽ có nhiều không gian làm việc, nhưng làm thế nào để tôi keybind họ? Mod-1 đến Mod-9 là mặc định nhưng tôi không thể tìm thấy tài liệu về cách thay đổi mặc định đó.

+0

@AndrewC: Không có nó không tạo ra từ các chuỗi. Tôi có thể nói "foo" thay vì "1" và điều đó sẽ chỉ ảnh hưởng đến những gì được hiển thị dưới dạng tên của không gian làm việc. Lưu ý rằng tôi sử dụng các ký tự Unicode để mô tả những gì một số không gian làm việc được dành riêng cho. – bitmask

Trả lời

9

Tôi tìm thấy câu trả lời chôn cất tại this example configuration và cùng với key names list, nó trông giống như sau:

Xác định một không gian làm việc thứ mười:

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

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

Sau đó, ràng buộc khóa trông như sau:

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

Trong ví dụ này, phím dấu gạch chéo được sử dụng, nhưng bất kỳ khóa nào khác từ danh sách ở trên có thể được sử dụng thay thế.

Và cuối cùng:

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

Cảm ơn! Để làm cho ví dụ của bạn hoạt động, tôi cũng cần 'nhập đủ điều kiện XMonad.StackSet là W' và phải thay thế cả hai lần xuất hiện' myModMask' thành 'modm'. Tôi không chắc chắn nơi 'modm' được xác định nhưng nó phù hợp với mô hình được sử dụng trong các ràng buộc quan trọng khác. –

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] 

Sửa đổi độ dài của danh sách trong Config.hs

Các vấn đề liên quan