Я надеюсь, что вы, ребята, сможете мне помочь, поскольку я новичок в Haskell, а Haskell-fu довольно слаб.
Я пытаюсь создать терминал, похожий на землетрясение, который падает при вызове. По большей части я полагал, что сохранение именованного терминала urxvt в макете, управляемом simpleDrawer
(XMonad.Layout.Drawer
), хорошо работает для этого. У меня проблема с привязкой ключа к нему, чтобы он появлялся в любом рабочем пространстве, в котором я оказался.
Опция bringSelected
не работает для меня, так как я не хочу иметь дело с меню сетки. То, что я попробовал, дало мне самое близкое:
raiseMaybe (spawnHere "urxvt -name drawer") (resource =? "drawer")
И
ifWindows (resource =? "drawer") (mapM_ focus) (spawn "urxvt -name drawer")
Проблема заключается в том, что оба по сути делают одно и то же в том, что вместо переноса указанного окна (с resource =? "drawer"
) в мое текущее рабочее пространство, оно сдвигает меня из моего текущего рабочего пространства туда, где оно было вызвано в последний раз.
В идеале я ищу что-то вроде:
ifWindows (resource =? "drawer") ({- bring window to current workspace -})
(spawnHere "urxvt -name drawer")