我正在使用 xmonad,并且想要一种锁定屏幕的好方法。所以我安装了 slock (apt-get install slock),效果很好。
然后我想要一个简单的按键序列来触发 slock,所以我在 xmonad.hs 中定义了这个新函数:
import qualified Data.Map as M
myKeys conf@(XConfig {XMonad.modMask = modMask}) = M.fromList $
[ ((modMask .|. controlMask, xK_l),
spawn "slock")
]
Run Code Online (Sandbox Code Playgroud)
并添加keys = myKeys到主函数中。
这使我能够使用 很好地锁定屏幕Ctrl+Alt+l,但其他 xmonad 快捷方式都不起作用!
有没有办法让我添加一个新的按键绑定,但不改变任何现有的绑定?
正如您可能已经猜到的,通过keys = myKeys在 main 函数中进行设置,您所做的就是覆盖默认设置。您可以使用运算符添加密钥additionalKeys,如下所示:
main =
xmonad $ desktopConfig `additionalKeys` myKeys
Run Code Online (Sandbox Code Playgroud)
或者,如果您对desktopConfig 有一些其他自定义,
main =
xmonad $ desktopConfig
{
-- other customisations
} `additionalKeys` myKeys
Run Code Online (Sandbox Code Playgroud)