LINUX.ORG.RU

Как переключать рабочие столы в xmonad

 , , ,


0

2

Решил освоить xmonad, так как мой предыдущий ОМ - awesome - не нравился своей перегруженностью. Для полного счастья не хватает биндов на то, чтобы какая-то программа открывалась на нужном рабочем столе: типа нажал Super+Return, и alacritty открылся на рабочем столе 2. C обычным языком программирования я бы разобрался в документации, но не с Haskell’ем. Помогите.



Последнее исправление: ledity (всего исправлений: 1)

Так а что там сложного?

Вот пример тебе.

myManageHook = composeAll
    [ className =? "mpv"                --> doFloat
    , className =? "Gimp"               --> doFloat
    , resource  =? "desktop_window"     --> doIgnore
    , className =? "firefox"            --> doShift "2"
    , className =? "Code"               --> doShift "3"
    , className =? "Emacs"              --> doShift "3"
    , className =? "Code - OSS"         --> doShift "3"
    , className =? "jetbrains-webstorm" --> doShift "3"
    , className =? "jetbrains-rider"    --> doShift "3"
    , className =? "libreoffice"        --> doShift "4"
    , className =? "Steam"              --> doShift "4"
     ]
Not_a_Troll
()
Ответ на: комментарий от Not_a_Troll

Насколько я понимаю, это правила окон, то есть если я запущу терминал, скажем, из dmenu, то он тоже переключиться на тот-же тег. А мне-то как раз нужно, чтобы Super+Return переключало на 2 рабочий стол и открывало терминал, а любой другой способ открытия терминала открывал его на текущем рабочем столе, в том числе другие комбинации клавиш.

ledity
() автор топика
Ответ на: комментарий от ledity

А как ты это видишь? Один и тот же класс открывается в активном окне, если не заданы правила для окна. Если заданы, руками переносишь. Если хочется по сочетанию, делай композицию, spawn и Compose https://github.com/ArtemSmaznov/XMonad#hooks-1

Not_a_Troll
()
...
, ((0, xK_m), runAndSwitch "krita")
...

runAndSwitch :: String -> X ()
runAndSwitch x = do
                 addWorkspace x
                 spawn x

Если workspace не существует - добавит, если есть - переключит.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.