编辑:原来我的问题只是Xmobar中的一个临时bug。请参阅可接受的答案。
谷歌上有很多解决方案,但几乎没有一个对我有效。我正在设置一个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。当trayer运行时,它以某种方式成功地预留了屏幕顶部的空间,xmobar也可以使用。但是我想让xmobar自己工作。谢谢你的建议。
发布于 2012-12-14 07:47:44
由OODavo在#xmonad IRC频道上解决。事实证明,Arch (0.16-3)上最新的xmobar包中有一个破坏avoidStruts布局的bug。解决方法是降级到以前的版本,或者从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中的软件包降级说明
发布于 2014-01-10 13:08:16
我在ubuntu上使用xmonad和xmobar,它可以正常工作。
我在xmonad.hs中有以下配置
manageHook = manageDocks <+> manageHook defaultConfig
layoutHook = avoidStruts $ layoutHook defaultConfig我的xmobarrc有自定义配置,但没有特定于对齐的配置。
我的xmonad版本是0.11,xmobar版本是0.18
我不会在系统启动时自动启动xmobar,我更喜欢手动启动它,在它启动后,所有其他窗口都会礼貌地为xmobar状态栏腾出空间。
https://stackoverflow.com/questions/13867197
复制相似问题