1

我正在使用 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")
        ]

并添加keys = myKeys到主函数中。

这使我能够使用 很好地锁定屏幕Ctrl+Alt+l,但是其他 xmonad 快捷方式都不起作用!

有没有办法让我添加一个新的键绑定,但不改变任何现有的绑定?

4

1 回答 1

5

您可能已经猜到了,通过keys = myKeys在 main 函数中进行设置,您所做的就是覆盖默认设置。您可以使用additionalKeys运算符添加密钥,如下所示:

main =
   xmonad $ desktopConfig `additionalKeys` myKeys

或者,如果您对 desktopConfig 有其他一些自定义设置,

main =
   xmonad $ desktopConfig
    { 
       -- other customisations
    } `additionalKeys` myKeys
于 2014-02-20T11:41:22.847 回答