4

编辑:原来我的问题只是 Xmobar 中的一个临时错误。请参阅已接受的答案。

谷歌上有很多解决方案,但几乎没有一个对我有用。我正在建立一个 Arch 系统,所以我的第一个倾向是使用Arch wiki 上的配置。这是我的:

import XMonad
import XMonad.Hooks.DynamicLog

main = xmonad =<< xmobar defaultConfig { terminal = "gnome-terminal" }

如果没有 xmobarrc(或我尝试复制的任何内容),xmobar 在空工作区中可见,但打开任何应用程序会完全覆盖它。尝试使用 Alt-b 切换栏空间不会将其恢复。我还尝试逐字复制John Goerzen 的配置文件,但这也不起作用。

一个有效的技巧(来自 John Goerzen)是在我的 xinitrc 中启动托盘程序。当托盘运行时,它以某种方式成功地在屏幕顶部保留了空间,xmobar 也可以使用。但我想让 xmobar 自己工作。感谢您的任何建议。

4

2 回答 2

5

由 OODavo 在#xmonad IRC 频道上解决。原来 Arch 上最新的 xmobar 包(0.16-3)只是有一个错误,它破坏了 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

于 2012-12-13T23:47:44.177 回答
2

我在 ubuntu 上使用 xmonad 和 xmobar,它按预期工作。

我在 xmonad.hs 中有以下配置

manageHook  = manageDocks <+> manageHook defaultConfig
layoutHook  = avoidStruts $ layoutHook defaultConfig

我的 xmobarrc 有自定义配置,但没有特定于对齐的。

我的 xmonad 版本是 0.11,xmobar 版本是 0.18

我不会在系统启动时自动启动 xmobar,我更喜欢手动启动它,在它启动后,所有其他窗口都会礼貌地为 xmobar 状态栏腾出空间。

于 2014-01-10T05:08:16.237 回答