У меня проблемы с тем, чтобы эта функция работала так, как я ожидал.
setScreenAndWorkspace i =
windows (viewOnScreen screenId workspaceId)
where
screenId = ((i-1) `mod` numberOfScreens)
-- workspaceId = show i -- doesn't work for some reason
workspaceId =
case i of
1 -> "1"
2 -> "2"
3 -> "3"
4 -> "4"
5 -> "5"
6 -> "6"
7 -> "7"
8 -> "8"
9 -> "9"
Я вызываю функцию следующим образом:
myKeys =
[
("M-1" , setScreenAndWorkspace 1),
("M-2" , setScreenAndWorkspace 2),
("M-3" , setScreenAndWorkspace 3),
("M-4" , setScreenAndWorkspace 4),
("M-5" , setScreenAndWorkspace 5),
("M-6" , setScreenAndWorkspace 6),
("M-7" , setScreenAndWorkspace 7),
("M-8" , setScreenAndWorkspace 8),
("M-9" , setScreenAndWorkspace 9)
]
Во-первых, покажи, что я неКажется, я делаю то же самое, что и я.Должно быть, я неправильно понимаю некоторые основные вещи на Хаскеле;если я использую show i, кажется, что xmonad не может найти какое-либо рабочее пространство.
Вторая проблема заключается в том, что функция работает, но не всегда передает фокус.Мне нужно дважды нажать последовательность клавиш, чтобы установить экран, установить рабочее пространство и установить фокус на этом рабочем пространстве.