XMonad:如何使用manageHook?

时间:2017-12-28 06:28:25

标签: haskell xmonad

我按照说明enter image description here使程序(wicd-gtk)始终在浮动窗口中运行。

以下是我的xmonad.hs中的相关部分:

myManageHook = composeAll
    [ className =? "wicd-gtk"       --> doFloat
    , className =? "stalonetray"    --> doIgnore
    , manageDocks  
    ]

main = do
    xmproc <- spawnPipe "~/.local/bin/xmobar ~/.xmobarrc"
    xmonad $ dynamicProjects projects $ docks def
        { layoutHook            = avoidStruts $ myLayoutHook
        , manageHook            = myManageHook <+> manageHook def
        , logHook               = dynamicLogWithPP xmobarPP
            { ppOutput  = hPutStrLn xmproc
            , ppLayout  = (\x -> drop 10 x)
            , ppTitle   = xmobarColor "green" "" . shorten 150
            }
        , modMask               = mod4Mask
        , keys                  = myKeys
        , workspaces            = myWorkspaces
        , normalBorderColor     = myNormalBorderColor
        , focusedBorderColor    = myFocusedBorderColor
        }

我在重新编译时没有遇到任何错误,但是wicd-gtk没有作为浮动窗口加载。我之前也尝试使用doShift强制firefox进入特定的窗口,但是效果不佳。

任何想法我做错了什么?

1 个答案:

答案 0 :(得分:0)

如果有其他人坚持这一点,那么事实证明manageHooks采用xprop类名而不是程序名。你可以在这里阅读所有相关内容:https://wiki.haskell.org/Xmonad/Frequently_asked_questions#I_need_to_find_the_class_title_or_some_other_X_property_of_my_program