如何防止Xmobar隐藏在其他Xmonad窗口后面?

时间:2012-12-13 19:42:41

标签: xmonad

编辑:事实证明我的问题只是Xmobar中的一个临时错误。请参阅接受的答案。

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独立工作。感谢您的任何建议。

2 个答案:

答案 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状态栏腾出空间。