Tôi đang trải qua một hành vi kỳ lạ xmobarngay sau khi tôi bước vào xmonad. Khi tôi xmonad(từ .xinitrc, tôi sử dụng XDM) xmobarxuất hiện nhưng nó không ở trên cùng hoặc dưới cùng của ngăn xếp cửa sổ . Khi tôi khởi động một ứng dụng (ví dụ: trình giả lập thiết bị đầu cuối bằng cách nhấn Mod + Shift + Return), ứng dụng sẽ sử dụng toàn bộ màn hình, như thể xmobarnó ở phía dưới. Sau đó tôi nhấn Mod + Bvà không có gì xảy ra, một khi tôi nhấn Mod + Blần thứ hai xmobarđược nâng lên trên cùng làm giảm kích thước cửa sổ ứng dụng.
Sau đó, Mod + Bhoạt động chính xác cho phần còn lại của xmonadphiên, tức là nó giảm / tăng (ẩn / hiển thị) xmobar.
Tôi tự tin rằng tôi đã cấu hình sai một cái gì đó. Hình của tôi xmonad.hsnhư:
import XMonad
import XMonad.Hooks.SetWMName
import XMonad.Hooks.DynamicLog
main = do
xmonad =<< statusBar "xmobar" myPP toggleStrutsKey defaultConfig
{ terminal = "urxvt"
, focusFollowsMouse = True
, clickJustFocuses = False
, borderWidth = 1
, modMask = mod4Mask
, workspaces = myworkspaces
, normalBorderColor = "#dddddd"
, focusedBorderColor = "#00dd00"
, manageHook = mymanager
, startupHook = setWMName "LG3D"
}
myPP = xmobarPP { ppOutput = putStrLn
, ppCurrent = xmobarColor "#336433" "" . wrap "[" "]"
--, ppHiddenNoWindows = xmobarColor "grey" ""
, ppTitle = xmobarColor "darkgreen" "" . shorten 20
, ppLayout = shorten 6
--, ppVisible = wrap "(" ")"
, ppUrgent = xmobarColor "red" "yellow"
}
toggleStrutsKey XConfig { XMonad.modMask = modMask } = (modMask, xK_b)
myworkspaces = [ "code"
, "web"
, "media"
, "irc"
, "random"
, "mail"
, "docs"
, "music"
, "root"
]
mymanager = composeAll
[ className =? "gimp" --> doFloat
, className =? "vlc" --> doFloat
]
Trong khi bắt đầu .xmobarrcngoại hình của tôi như sau:
Config {
-- appearance
font = "xft:Bitstream Vera Sans Mono:size=9:bold:antialias=true"
, bgColor = "black"
, fgColor = "#646464"
, position = Top
, border = BottomB
, borderColor = "#646464"
-- layout
, sepChar = "%" -- delineator between plugin names and straight text
, alignSep = "}{" -- separator between left-right alignment
, template = "%battery% | %multicpu% | %coretemp% | %memory% | %dynnetwork% | %StdinReader% }{ %date% || %kbd% "
-- general behavior
, lowerOnStart = False -- send to bottom of window stack on start
, hideOnStart = False -- start with window unmapped (hidden)
, allDesktops = True -- show on all desktops
, overrideRedirect = True -- set the Override Redirect flag (Xlib)
, pickBroadest = False -- choose widest display (multi-monitor)
, persistent = True -- enable/disable hiding (True = disabled)
-- plugins (i do not use any)
, commands = [ -- actually several commands are in here
]
}
Tôi đã thử một số kết hợp:
, lowerOnStart =
, hideOnStart =
(Đúng / Đúng, Đúng / Sai, Sai / Đúng và Sai / Sai như hiển thị bây giờ). Nhưng hành vi trước khi tôi nhấn Mod + Bhai lần không thay đổi. Tôi tin rằng tôi đã cấu hình sai xmonadtheo một cách nào đó không xmobarnhưng đó chỉ là một phỏng đoán.
Tôi .xinitrccó thể giúp đỡ:
#!/bin/sh
if test -d /etc/X11/xinit/xinitrc.d
then
# /etc/X11/xinit/xinitrc.d is actually empty
for f in /etc/X11/xinit/xinitrc.d/*
do
[ -x "$f" ] && source "$f"
done
unset f
fi
# uk keyboard
setxkbmap gb
xrdb .Xresources
xscreensaver -no-splash &
# java behaves badly in non-reparenting window managers (e.g. xmonad)
export _JAVA_AWT_WM_NONREPARENTING=1
# set the background (again, because qiv uses a different buffer)
/usr/bin/feh --bg-scale --no-fehbg -z /usr/share/archlinux/wallpaper/a*.jpg
# pulse audio for alsa
then
/usr/bin/start-pulseaudio-x11
fi
exec xmonad
statusBarvà chỉ ghi đè lênhandleEventHook = handleEventHook defaultConfig <+> docksEventHookcho đến khi gói DynamicLog được sửa.