Xmonad切换工作区按键绑定不生效问题求助
Xmonad工作区切换按键绑定问题解决
问题根源:你写的绑定里用了
mod1Mask(对应Alt键),但你期望的是用自己设置的mod4Mask(Win键)作为修饰键,所以这段配置实际生效的是Alt+数字切换工作区,而你想要的mod+数字(Win+数字)并没有被正确配置。另外原来的默认工作区绑定可能还在生效,导致你觉得还是旧组合可用。修复方法:
把绑定代码里的mod1Mask替换成你已经定义好的modMask变量(因为你已经设置modMask = mod4Mask,用这个变量能统一管理修饰键,后续改起来也方便)。修改后的代码如下:
-- mod-[1..9], Switch to workspace N -- mod-shift-[1..9], Move client to workspace N [((m .|. modMask, k), windows $ f i) | (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_9] , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]] ++
- 额外注意:如果你的按键配置是通过
keys = \conf -> myKeys conf <++ keys def这种方式和默认绑定合并的,默认绑定可能会和你的新绑定冲突。这种情况下,要么把<++改成++(让你的绑定优先),要么直接去掉keys def,只保留自己配置的按键绑定,避免重复。
修改后用mod+q重启Xmonad,就能用Win+数字切换工作区,Win+Shift+数字移动窗口到对应工作区了。
内容的提问来源于stack exchange,提问作者Dubby
相关产品推荐
相关产品推荐

