
xmobar - issue #74
Wrong _NET_WM_STRUT_PARTIAL value makes Xmonad not clear an area of the screen for xmobar
What steps will reproduce the problem? 1. In Arch linux x86-64, upgrade xmobar to 0.16-1 (from 0.15-2) 2. Restart xmonad with mod-q
What is the expected output? What do you see instead? I expect to see a gap above my windows with xmobar.
I see either xmobar over the top of my windows or hidden below them (depending on the phase of the moon).
The internet told me to run xprop on xmobar, this is what I got:
~ $ xprop _NET_WM_PID(CARDINAL) = 1500 _NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_DOCK _NET_WM_STRUT_PARTIAL(CARDINAL) = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 WM_NAME(STRING) = "xmobar" WM_CLASS(STRING) = "xmobar"
Compared to the reverted 0.15-2 that works well: ~ $ xprop _NET_WM_PID(CARDINAL) = 2077 _NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_DOCK _NET_WM_STRUT_PARTIAL(CARDINAL) = 0, 0, 17, 0, 0, 0, 0, 0, 0, 1919, 0, 0 WM_NAME(STRING) = "xmobar" WM_CLASS(STRING) = "xmobar"
What version of the product are you using? On what operating system? xmobar 0.16-1, Arch linux x86-64. xmobar 0.15-2 works as expected.
Comment #1
Posted on Oct 13, 2012 by Swift WombatI cannot reproduce this problem with xmonad 0.10.1: i've got the correct values for _NET_WM_STRUT_PARTIAL. Probably it's not the cause, but do you have lowerOnStart set in you xmobar config?
Comment #2
Posted on Oct 14, 2012 by Helpful HorseSet to false. Attached is my .xmobarrc.
- .xmobarrc 1.27KB
Comment #3
Posted on Oct 14, 2012 by Swift WombatDoes it help setting it to true? What version of xmonad are you using?
Comment #4
Posted on Oct 14, 2012 by Helpful HorseIt helps.
You can close after you explain where I was wrong :-)
Comment #5
Posted on Oct 14, 2012 by Swift WombatThis lowerOnStart parameter was added to xmobar before my time, to address this kind of issues. I think the problem has to do with the relative order in which some data structures are filled when xmonad and xmobar are started together, but i don't know xmonad well enough to really know what exactly is going on (personally, i start my instances of xmobar independently of the window manager, which sometimes is not xmonad, and use XMonadProperty instead of StdinReader -- that also sidesteps this issue). As to why things work in 0.15 and not 0.16, i cannot think of a reason off-hand.
Comment #6
Posted on Oct 19, 2012 by Massive PandaI have this problem as well on Arch Linux, xmobar 0.16-1 and xmonad 0.10-5.
When xmobar is started from .xinitrc or .xmonad/xmonad.hs, _NET_WM_STRUT_PARTIAL(CARDINAL) = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 Other windows display atop it.
On the other hand, if I kill xmobar and start it manually (from a terminal or from xmonad's shellPrompt) it gets displayed as expected with _NET_WM_STRUT_PARTIAL(CARDINAL) = 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 1365
Attached is my xmobar configuration.
- .xmobarrc 1.75KB
Comment #7
Posted on Oct 19, 2012 by Massive PandaI also suspect it has something to do with the new hideOnStart and persistent options, though this may just be an illusion.
Comment #8
Posted on Oct 19, 2012 by Swift Wombategan.mccomb, i cannot reproduce this issue with the current git version of xmobar (neither in xmonad nor in sawfish). I haven't released xmobar 0.16 yet, so the version in ArchLinux must come from a git checkout that is probably not the same that i am testing. Is it easy for you to try with the latest git? Or to see if the problem is there also with any other window manager (my xmonad is from the darcs repo, so it's not exactly the same as yours, i guess)? Thanks a lot!
Comment #9
Posted on Oct 31, 2012 by Massive KangarooI seem to suffer from this problem as well. Arch x86_64, xmonad 0.10-5, xmobar 0.16-1 and ghc 7.6.1-1.
I removed the pacman installed xmobar. Cloned the git://github.com/jaor/xmobar repo. The build and install proceeded uneventfully.
xmobar appears on empty workspaces when xmonad starts, but is hidden as soon as the first window is opened on that workspace.
After a Mod-q xmobar seems to run as expected.
I have only very recently started using xmonad and xmobar; I know next to nothing about either. Given these results I'm suspicious of how I am starting xmobar with xmonad, so I will look into that.
- .xmobarrc 350
- xmonad.hs 620
Comment #10
Posted on Oct 31, 2012 by Swift WombatWatsonKP, thanks for your report! What flags did you use to build xmobar? Apart from that, if you set in your configuration lowerOnStart to false, what happens?
Comment #11
Posted on Oct 31, 2012 by Massive KangarooI used the "with_utf8" flag.
With lowerOnStart = False xmobar obscures the top of existing windows. The first window to be started on an empty workspace obscures xmobar completely on that workspace.
Comment #12
Posted on Apr 21, 2013 by Happy CatIn my particular case, adding
startupHook = setWMName "LG3D"
to my xmonad config works around the problem (for unknown reasons).
Status: Started
Labels:
Type-Defect
Priority-Medium