Google上有很多解决方案,几乎没有一个适合我。我正在建立一个Arch系统,所以我的第一个倾向是使用the config on the Arch wiki。这是我的:
import XMonad
import XMonad.Hooks.DynamicLog
main = xmonad =<< xmobar defaultConfig { terminal = "gnome-terminal" }
如果没有xmobarrc(或者我尝试复制的任何内容),xmobar在空工作区中可见,但打开任何应用程序都会完全覆盖它。尝试使用Alt-b切换栏空间不会将其恢复。我也尝试逐字复制John Goerzen's config files,但这也不起作用。
有一个工作的黑客(来自John Goerzen)是在我的xinitrc中启动trayer。当托盘运行时,它以某种方式成功地保留了屏幕顶部的空间,xmobar也可以使用它。但我想让xmobar独立工作。感谢您的任何建议。
答案 0 :(得分:4)
由OODavo在#xmonad IRC频道解决。原来在Arch(0.16-3)上的最新xmobar软件包中只有一个错误,它打破了avoidStruts布局。解决方法是降级到以前的版本,或者从git构建最新版本。
该软件包的早期版本:http://arm.konnichi.com/2012/12/02/community/os/x86_64/xmobar-0.16-1-x86_64.pkg.tar.xz
在Arch中降级软件包的说明:https://wiki.archlinux.org/index.php/Downgrading_Packages#How_to_downgrade_a_package
答案 1 :(得分:1)
我在ubuntu上使用xmonad和xmobar,它按预期工作。
我在xmonad.hs中有以下配置
manageHook = manageDocks <+> manageHook defaultConfig
layoutHook = avoidStruts $ layoutHook defaultConfig
我的xmobarrc有自定义配置,但没有特定的对齐方式。
我的xmonad版本是0.11,xmobar版本是0.18
我没有在系统启动时自动启动xmobar,我更喜欢手动启动它,启动后,所有其他窗口都礼貌地为xmobar状态栏腾出空间。