Xmonad 0.10, Xfce, Wheezy Stable

Hello All, In the four years I've been using Xmonad, I have only convinced one other human to try it and she too has become an addict. For most of that time, I had been using Ubuntu with either Gnome 2 or fallback/classic. However, in an attempt to ween myself from most DE candy, I have installed stable Debian Wheezy with Xfce. Starting up Xmonad, Xfce on Wheezy was much easier than the Xmonad wiki would have you believe. I installed xmonad and libghc6-xmonad-contrib-dev, a four line xmonad.hs using xfceConfig, and had the option to choose the WM at login. But I am having some trouble with the panel. Perhaps you can help. Because I do not need it often, I am starting the xfce4-panel from the command line as needed. But the panel behaves strangely: floating above or behind other windows. Only after moving windows around to different workspaces, the panel eventually behaves like other well tiled windows. I wonder if there is a better way. Can I have the panel hidden by default but appear with the standard mod-b key? Should I be concerned by these warnings whenever I start xfce4-panel?: "g_error_new_valist: runtime check failed (domain ! = 0)" and "Failed to connect to session manager: SESSION_MANAGER environment variable not defined" Also I'm curious. Is there any difference between xfceConfig and desktopConfig? Cheers, Alex [ B068 ED90 F47B 0965 2953 9FC3 EE9C C4D5 3E51 A207 ]

On Wed, May 8, 2013 at 8:40 PM, Alexander Genaud
Starting up Xmonad, Xfce on Wheezy was much easier than the Xmonad wiki would have you believe. I installed xmonad and libghc6-xmonad-contrib-dev, a four line xmonad.hs using xfceConfig, and had the option to choose the WM at login. But I am having some
The wiki is general; it sounds like Debian has put some effort into making things play nicely, which is a pleasant surprise.
Because I do not need it often, I am starting the xfce4-panel from the command line as needed. But the panel behaves strangely: floating
above or behind other windows. Only after moving windows around to
different workspaces, the panel eventually behaves like other well tiled windows. I wonder if there is a better way. Can I have the panel hidden by default but appear with the standard mod-b key?
I don't understand this. I use xmonad/xfce myself on two machines, and the only time the panel misbehaves is a known bug in how our strut handling is hooked into desktopConfig (you can correct it yourself in your config; see XMonad.Hooks.ManageDocks.docksEventHook).
Should I be concerned by these warnings whenever I start xfce4-panel?: "g_error_new_valist: runtime check failed (domain ! = 0)" and
"Failed to connect to session manager: SESSION_MANAGER environment
variable not defined"
This sounds like you may not actually be running a proper xfce session?
Also I'm curious. Is there any difference between xfceConfig and desktopConfig?
xfceConfig specifies Xfce's Terminal as the default terminal emulator in place of xterm, and rebinds mod-p (dmenu_run) to Xfce's application run dialog, mod-shift-p (gmrun) to xfce4-appfinder, and mod-shift-q (quit xmonad) to Xfce's session logout dialog. The latter is somewhat important, as the Xfce session manager would simply restart xmonad if it exited in the usual way. -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

Thanks Brandon,
I don't understand this. I use xmonad/xfce myself on two machines, and the only time the panel misbehaves is a known bug in how our strut handling is hooked into desktopConfig (you can correct it yourself in your config; see XMonad.Hooks.ManageDocks.docksEventHook).
I think I've used ManageDocks in the past (without fully knowing what I was doing). I'll look further into ManageDocks. I don't seem to be able to consistently reproduce the problem I described earlier. How do you start xfce4-panel? .xinitrc, .xsession or is it automatic with xfce session? And do you know if I can set the panel hidden by default (as if I pressed mod-b)?
This sounds like you may not actually be running a proper xfce session?
How would I know and what does the session provide?
xfceConfig specifies Xfce's Terminal as the default terminal emulator in place of xterm, and rebinds mod-p (dmenu_run) to Xfce's application run dialog, mod-shift-p (gmrun) to xfce4-appfinder, and mod-shift-q (quit xmonad) to Xfce's session logout dialog. The latter is somewhat important, as the Xfce session manager would simply restart xmonad if it exited in the usual way.
Thanks. Incidentally, whether I use desktopConfig or xfceConfig, both produce the same error when I press mod-shift-Q and I don't seem to be able to logout: Failed to receive a reply from the session manager The name org.xfce.SessionManager was not provided by any .service files Cheers, Alex

Alexander Genaud
xfceConfig specifies Xfce's Terminal as the default terminal emulator in place of xterm, and rebinds mod-p (dmenu_run) to Xfce's application run dialog, mod-shift-p (gmrun) to xfce4-appfinder, and mod-shift-q (quit xmonad) to Xfce's session logout dialog. The latter is somewhat important, as the Xfce session manager would simply restart xmonad if it exited in the usual way.
Thanks. Incidentally, whether I use desktopConfig or xfceConfig, both produce the same error when I press mod-shift-Q and I don't seem to be able to logout:
Failed to receive a reply from the session manager The name org.xfce.SessionManager was not provided by any .service files
It sounds like what you're doing is running a vanilla xmonad session with a few xfce components (ie, the panel). The desktopConfig settings, and the derivatives like xfceConfig and gnomeConfig, generally expect you to be running the desktop environment with xmonad as a window manager. There is a subtle but important difference between these two models. When you start gnome or xfce, but set the window manager to xmonad, there are a number of services that are started for you. In your case, the important one is probably xfce4-session, which many of the xfce programs hook into in various ways. Your session starts xmonad, and then runs subcomponents without the session manager, which is why you see warnings. I think that you want to do one of two things: 1. Don't use desktopConfig/xfceConfig, and start xmonad with the xmonad session as you are now. If you do this you will probably need to use ewmhDesktops to get the xfce panel to work properly. 2. Start an xfce session, but configure it to use xmonad as a window manager. I don't know how to set this setting in xfce, but it's the usual use case for the xfceConfig/gnomeConfig/etc modules. In this case, you would choose xfce at the login screen, and it would start xmonad for you. I hope this is helpful, -- Bogner

On Thu, May 9, 2013 at 2:02 AM, Justin Bogner
1. Don't use desktopConfig/xfceConfig, and start xmonad with the xmonad session as you are now. If you do this you will probably need to use ewmhDesktops to get the xfce panel to work properly.
Actually, desktopConfig is exactly what he wants here if he's not running xfce4-session; it doesn't know about session managers, it just adds in EWMH and dock support.
2. Start an xfce session, but configure it to use xmonad as a window manager. I don't know how to set this setting in xfce, but it's the
Edit the xfce4 session config file while not running xfce4-session, or do an ugly kill/replace dance as documented in the Xfce integration page on the wiki. -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

Hello Brandon and Justin, Your comments were very useful, pointed out my misunderstandings/mental holes, and lead me on my way to further research. I started documenting my branching experiments in a vm, taking screenshots and notes at every step. Before I go off the grid or run out of steam, I just wanted to say Thanks. Maybe I'll have something to show for the efforts. My goal is to understand session managers, be able to dissect, mix and match the components of various desktop environments. I would like to have a minimal setup with conveniences such as wifi and not much more. I may prefer to login via console and start x and xmonad manually. I also want to support at least one other user who would likely be more comfortable with xmonad on a full desktop environment. I've scanned a few years of posts on this list and came across several relevant threads. Yet I wonder if there are good reference documents you can recommend describing the components, dis/advantages, dependencies, required to build a minimal or desktop environment from scratch? Otherwise, that's what I intend to write, but I'm certainly not the most experienced guy for the job. Cheers, Alex [ B068 ED90 F47B 0965 2953 9FC3 EE9C C4D5 3E51 A207 ]
participants (3)
-
Alexander Genaud
-
Brandon Allbery
-
Justin Bogner