Saya mengalami perilaku aneh xmobar
setelah saya masuk xmonad
. Ketika saya xmonad
(dari .xinitrc
, saya menggunakan XDM) saya xmobar
muncul tetapi tidak baik di bagian atas atau bawah tumpukan jendela . Setelah saya memulai aplikasi (mis. Terminal emulator dengan menekan Mod + Shift + Return
) aplikasi menggunakan seluruh layar, seolah-olah xmobar
berada di bagian bawah. Lalu saya tekan Mod + B
dan tidak ada yang terjadi, setelah saya menekan Mod + B
kedua kalinya xmobar
diangkat ke atas mengurangi ukuran jendela aplikasi.
Setelah itu Mod + B
bekerja dengan benar untuk sisa xmonad
sesi, yaitu menurunkan / memunculkan (menyembunyikan / menampilkan) xmobar
.
Saya yakin saya salah mengonfigurasi sesuatu. xmonad.hs
Penampilan saya seperti:
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
]
Sedangkan awal .xmobarrc
penampilan saya sebagai berikut:
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
]
}
Saya mencoba beberapa kombinasi:
, lowerOnStart =
, hideOnStart =
(Benar / Benar, Benar / Salah, Salah / Benar dan Salah / Salah seperti yang ditunjukkan sekarang). Tetapi perilaku sebelum saya tekan Mod + B
dua kali tidak berubah. Saya percaya bahwa saya telah salah mengonfigurasi xmonad
dalam beberapa cara tidak xmobar
tapi itu hanya dugaan.
Saya .xinitrc
mungkin bisa membantu:
#!/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
statusBar
dan hanya menimpahandleEventHook = handleEventHook defaultConfig <+> docksEventHook
paket DynamicLog diperbaiki.Membandingkan konfigurasi Anda, dengan konfigurasi saya yang lebih sederhana, yang berfungsi dengan benar dalam hal ini, saya melihat satu perbedaan yang mungkin melakukan sesuatu:
dari semua
general behaviour
opsi yang Anda miliki saya hanya punyadan tidak satu pun
hideOnStart
,overrideRedirect
dll.Cara Anda menambahkan xmobar
xmonad.hs
adalah, sejauh yang saya bisa baca, sama seperti saya.Dalam hal ini saya akan mencoba dengan pengaturan default sebanyak mungkin, mis.
.xmobarrc
Ganti nama sehingga tidak diambil, dan ubahxmonad.hs
ke misalnyadan lihat apakah itu berfungsi. Kemudian tambahkan sedikit demi sedikit, dan lihat kapan rusak.
sumber
xmonad.hs
. Itu membuat saya menemukan masalah sebenarnya :)