我已经在 arch 上设置了 xmonad,但是当我通过 wine 启动 .exe 文件时,xmonad 停止响应(我仍然可以键入应用程序并与应用程序交互,但不能切换窗口、打开 dmenu 等)。我已经查看了 xmonad 的常见问题解答,但我没有使用 unclutter,并且我认为我已经处理了管道问题。
这是我的 xmonad.hs:
import XMonad
import XMonad.ManageHook
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.ManageHelpers
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.FadeInactive
import XMonad.Hooks.EwmhDesktops
import XMonad.Util.Run
import XMonad.Util.EZConfig
import XMonad.Layout.Monitor
import XMonad.Layout.NoBorders(smartBorders)
import Graphics.X11.ExtraTypes.XF86
import System.IO
import Data.Default
main = xmonad =<< statusBar "xmobar" barPP toggleStrutsKey myConfig
toggleStrutsKey XConfig {XMonad.modMask = mm} = (mm,xK_b)
barPP = xmobarPP
{ ppOutput = (\_ -> return ())
, ppTitle = xmobarColor "white" "" . shorten 5
}
myXmonadBar = "xmobar /home/iam/.xmobarrc"
myTerm = "urxvt"
myWorkspaces =
[ "1:Main"
, "2:Alt"
, "3:Music"
, "4:Chat"
, "5:Web"
, "6:Code"
]
myConfig = ewmh def
{ manageHook = (isFullscreen --> doFullFloat) <+> manageDocks <+> manageHook'
, handleEventHook = handleEventHook def <+> fullscreenEventHook
, workspaces = myWorkspaces
, layoutHook = smartBorders $ avoidStruts $ layoutHook def
, modMask = mod4Mask
, terminal = myTerm
, normalBorderColor = "#1F034E"
, focusedBorderColor = "#958500"
} `additionalKeys`
[ ((mod4Mask .|. shiftMask, xK_z), spawn "xscreensaver-command -lock")
, ((0, xF86XK_AudioLowerVolume), spawn "amixer set Master 2%- unmute")
, ((0, xF86XK_AudioRaiseVolume), spawn "amixer set Master 2%+ unmute")
, ((0, xF86XK_AudioMute), spawn "amixer set Master toggle")
]
manageHook' :: ManageHook
manageHook' = composeAll . concat $
[ [className =? "Vivaldi-stable" --> doShift "5:Web"]
--, [className =? c --> doShift "4:Term" | c <- terminals]
, [className =? "Emacs" --> doShift "6:Code"]
, [className =? music --> doShift "3:Music" | music <- ["Rhythmbox"]]
--, [resource =? r --> doIgnore | r <- myIgnores]
]
where
terminals = [ "urxvt"
, "gnome-terminal"
, "terminator"
, "xterm"
]
myIgnores = [ "desktop"
, "desktop_window"
, "trayer"
]
browsers = [ "Vivaldi-stable"
, "Firefox"
]