5
我只是剛剛開始的haskell和xmonad。 我想知道如何配置它,以便如果沒有窗戶打開,任何關鍵輸入將啓動dmenu。所以說,如果我有一個空白的屏幕,並開始鍵入「火狐」,dmenu將啓動與我的「火狐」,例如在它內。Haskell dmenu按鍵自動啓動
幾乎沒有重要的,但是這將是很好,如果我能在正確的方向得到一些指點:)
我只是剛剛開始的haskell和xmonad。 我想知道如何配置它,以便如果沒有窗戶打開,任何關鍵輸入將啓動dmenu。所以說,如果我有一個空白的屏幕,並開始鍵入「火狐」,dmenu將啓動與我的「火狐」,例如在它內。Haskell dmenu按鍵自動啓動
幾乎沒有重要的,但是這將是很好,如果我能在正確的方向得到一些指點:)
這是一個有趣的想法!目前,假設您只想映射'f'鍵。我想到的方法是將鍵映射到一個函數,該函數檢查是否有任何窗口打開。如果沒有窗口打開,它會啓動dmenu,並用剛剛輸入的字符(即'f')預填充它。如果有其他窗口打開,它會執行您通常希望該密鑰執行的任何操作。
main = xmonad $ blah blah blah
`additionalKeys`
[
((0, xK_f), multiMapKey f someAction)
-- other mappings
]
multiMapKey :: Char -> X() -> X()
multiMapKey c someAction =
if ?a window is open?
then launch dmenu with c already entered
else someAction
注:
additionalKeys
中爲你想映射的每個鍵單獨輸入。也許只需映射26個字母鍵就足夠了。
@closevoter xmonad是(書面和)在真正的哈斯克爾配置。你從字面上編程窗口系統。不能在不編寫haskell的情況下配置xmonad。這是編程。 – AndrewC