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、メイン関数で設定することにより、デフォルト設定をオーバーライドしました。additionalKeys次のように、演算子を使用してキーを追加できます。

main =
   xmonad $ desktopConfig `additionalKeys` myKeys

または、desktopConfig に他のカスタマイズがある場合は、

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