xmonad hides xfce4-panel

Hello xmonad experts, I am trying to set up xmonad (0.11 from Ubuntu repository) as a WM for xfce on a fresh install of Lubuntu 14.04. I configured xmonad.hs as instructed on the Wiki page (The file is so short, I included it inline at the end of this mail). When I start xfce using xfwm4 and then run "xmonad --replace" from a terminal, I practically arrive at my dream desktop. However, when I configure xfce to autostart xmonad, I can briefly see the xfce4 panel flash up and then immediately disappear. xmonad just leaves an empty space where the panel is supposed to be. mod-b toggles the empty space but does not show the panel. The default configuraiton of Lubuntu is to have a single panel at the top of the screen. I can revive the panel by briefly running xfwm4: $ killall xmonad-x86_64-linux $ xfwm4 $ xmonad --replace But that is not really a permanent solution. I looked through the archives, but all I cloud find was posts relating to the interaction of the panel workspace indicator and xmonad workspaces, nothing about the panel going AWOL. What do I have to do to make both the panel show up and run xmonad as my default WM to xfce? Regards, Damian Philipp My xmonad.hs:
import XMonad import XMonad.Config.Xfce
main = xmonad xfceConfig { modMask = mod4Mask , terminal = "xfce4-terminal" }

On Sun, Jun 15, 2014 at 2:20 AM, Damian Philipp
When I start xfce using xfwm4 and then run "xmonad --replace" from a terminal, I practically arrive at my dream desktop. However, when I configure xfce to autostart xmonad, I can briefly see the xfce4 panel flash up and then immediately disappear. xmonad just leaves an empty space where the panel is supposed to be. mod-b toggles the empty space but does not show the panel. The default configuraiton of Lubuntu is to have a single panel at the top of the screen.
Are you running anything else that isn't part of a standard XFCE4 session? This *may* relate to a recently fixed bug (not in a released version yet, you need to build from darcs) where we were not registering the work area and therefore desktops (Thunar in your case) will use space allocated to panels; which one "wins" and is displayed depends on the start order, which in your case means Thunar is displaying on top of xfce4-panel. If you start with xfwm4 and then replace wiith xmonad, Thunar will use xfwm4's _NET_WORKAREA; your version of xmonad won't set _NET_WORKAREA and either xfwm4 doesn't remove its when it exits (arguably this is a bug in xfwm4) or Thunar doesn't detect it doing so (bug in Thunar in this case), so things continue to work "by accident". xmonad from darcs has code to set _NET_WORKAREA. I'm not convinced that it is working 100% correctly, but this problem at least is not happening in my xfce4+xmonad configs. -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

Hello, Thank you for your answer. Sorry for not responding sooner, but I was on a trip well away from the internet or any computing device. Am 23.06.2014 17:48, schrieb Brandon Allbery:
Are you running anything else that isn't part of a standard XFCE4 session?
Depends on what the Xubuntu people did to it - I am running on the default configuration of Xubuntu 14.04. Apart from that, there is only the owncloud client running. In case it helps, I attached a process list taken after logging into my session and restarting xmonad in the following way:
killall xmonad-x86_64-linux && xfwm4 & sleep 1 && xmonad --replace &
This *may* relate to a recently fixed bug (not in a released version yet, you need to build from darcs)
I pulled the darcs version of xmonad and xmonad-contrib (0.12 as per ghc-pkg list) and built it according to the instructions at http://www.haskell.org/haskellwiki/Xmonad/xmonad_development_tutorial#Gettin... This did not fix the problem, I still need to do the above killall-dance. I also tried having xfce start /home/damian/.cabal/bin/xmonad instead of the ubuntu-provided /usr/bin/xmonad, but that did not change anything. Uninstalling the ubuntu-packages for xmonad, libghc-xmonad-contrib-dev and libghc-xmonad-dev didn't change anything, either. However, while tinkering, I have made a new observation. Currently, I have only one xfce4-terminal and thunderbird running. At some point, I forgot to close them before logging out and back in to restart xmonad. When logging back in, xfce4 will try to restore the previous session, i.e., restart the terminal and thunderbird. xfce4-terminal starts right away (filling the entire window tile of xmonad), along with the xfce4-panel. Both are briefly visible and then vanish. Thunderbird takes a bit longer to start but when its window appears and the tiling is rearranged, both the resized xfce4-terminal and thunderbird remain visible, while the panel is still invisible. Is there anything else I can try? Any verbosity flags to add to get more debug output (.xsession-errors and .xmonad/xmonad.errors are both empty)? Regards, Damian Philipp

Hi,
I incurred in the same problem!
I followed the hint in the first reply about the "order" in which the different
components are called, but that turned out to not solve the issue
unless I disable xfdesktop.
(you can play with the order by having a look at the xfce4-settings-editor
in the xfce4-session group, and change them using xfconf-query)
Anyway no matter what the order seems that starting xfdesktop along with
xmonad always hides the xfce4-panel.
My solution is to start xmonad using a small script:
#!/bin/bash
sleep 2
xmonad --replace
That's it , a little delay for xmonad allows xfdesktop to do it's thing safely
with xfce4-panel and xfwm4 and everyone is happy :)
I assume that this happens because xmonad is faster than xfdesktop and does
something unexpected (perhaps ovverriding some environment variable as the
first reply suggested?), or maybe simply doesn't give xfdesktop sufficient time
to talk to xfwm4?
hope this helps
Antonio
Damian Philipp

Hi, On Thu, Aug 07, 2014 at 07:44:12AM +0000, Antonio Bibiano wrote:
Hi, I incurred in the same problem!
I also have had the same problem (on both a real computer and a VirtualBox VM). [...]
My solution is to start xmonad using a small script:
My workaround has been to run "xfce4-panel --restart" after logging in (which was an improvement over killing xmonad/xfwm4/xmonad --replace). Starting xmonad with a delay at least has the advantage that it's an automated bodge, so I may do that for now, thanks. :-) Regards, Chris
participants (4)
-
Antonio Bibiano
-
Brandon Allbery
-
Chris Emerson
-
Damian Philipp