目前,我有 Super+Space 来循环布局,这是默认设置。
我想将该操作绑定到另一个组合键,例如Super+Shift+Space,为了让原来的应用程序可以释放给启动器应用程序(当我使用 i3 时,我的肌肉记忆中有很多,而我的肌肉记忆没有任何东西可以循环布局,所以我可以吸收任何新的)。
我的理解是我应该这样
def { {- my defaults -} }
`removeKeysP` ["M-<Space>"]
`additionalKeysP` myKeys
myKeys = ("M-S-<Space>", ???) : [{- other stuff -}]
但是我不知道怎么写动作
???
;我唯一认为(我认为)知道的是它的类型应该是X ()
。嗯,谢谢:D
除了给我一个解决方案之外,你介意帮助我理解我应该如何自己找到它吗?我确实在 IDE 中使用 HLS,但我不确定如何使用它,我什至不知道在哪个模块中可以找到我要查找的内容。
从https://github.com/xmonad/xmonad/blob/master/src/XMonad/Config.hs(第193行)的默认配置中,可以找到由Mod+Space触发的消息:
sendMessage NextLayout
您可能还有兴趣查看 https://xmonad.github.io/xmonad-docs/xmonad-contrib/ 中的 contrib 操作,例如 CycleSelectedLayouts。