
I've recently set up xmonad on Ubuntu 10.04, and I think it's a testament to xmonad's ease of use that after only three days, the biggest problem I'm having is this: I've got some applications that are run at startup, including Skype. Under gnome (or do I mean metacity?) Skype shows up only in the system tray, no window. Under xmonad, Skype runs (if someone calls me a floating window appears), but since it has no window I seem to have no means of interacting with it. Is there some way I can call it up? Or at worst, have it start with an actual window? I'm trying to get a handle on the different "levels" that xmonad can run at: either within gnome, or instead of gnome... is that right? Currently I start out by selecting xmonad as my session at the gdm login page, and the operative file is /usr/share/xsessions/xmonad.desktop, rather than /usr/share/applications/xmonad.desktop. Anyway, any pointers (either purely practical, or more conceptual) would be welcome! Eric

Excerpts from Eric Abrahamsen's message of Mon, 30 Aug 2010 09:56 +0800:
I've got some applications that are run at startup, including Skype. Under gnome (or do I mean metacity?) Skype shows up only in the system tray, no window. Under xmonad, Skype runs (if someone calls me a floating window appears), but since it has no window I seem to have no means of interacting with it. Is there some way I can call it up? Or at worst, have it start with an actual window?
I'm trying to get a handle on the different "levels" that xmonad can run at: either within gnome, or instead of gnome... is that right? Currently I start out by selecting xmonad as my session at the gdm login page, and the operative file is /usr/share/xsessions/xmonad.desktop, rather than /usr/share/applications/xmonad.desktop.
Anyway, any pointers (either purely practical, or more conceptual) would be welcome!
Hi Eric, I use trayer [0] - it's a tiny application which I start from my .xinitrc. It holds Skypes and Pidgin's tray icons. I believe there must be a package for Ubuntu. Another topic is how to handle messengers' body list and other windows. People mostly use IM layout. Cheers, Sergey [0] http://download.gna.org/fvwm-crystal/

On Mon, Aug 30, 2010 at 2:50 PM, Sergey Manucharian
I'm trying to get a handle on the different "levels" that xmonad can run at: either within gnome, or instead of gnome... is that right?
Not quite; XMonad manages windows, Gnome manages "desktop sessions" and uses something else to manage windows -- in Ubuntu that's metacity. It's quite possible to have Gnome running with XMonad as the window manager -- if you do this you can have the standard gnome-panel with menus, application icons and status applets. Mind you, there is a little confusion in idiom between a window manager that primarily uses the keyboard with a panel that primarily demands the mouse ... The following command will change the window manager that Gnome uses :- $ gconftool-2 -s /desktop/gnome/session/required_components/windowmanager xmonad --type string (set it to gnome-wm to get the old metacity back) This way you can log in with "gnome session" and get xmonad. You may want to play around with the xmonad.hs a little to improve things -- use avoidStruts on your layouts so you can have "always visible" things like gkrellm running without overlapping. You can also hook up to DBus and have the XMonad Log Monitor running in gnome-panel, so you get the current window title and layout name to display in the panel ... however the log monitor applet is abandoned now, and I think there are some deep issues with xmonad sending messages to dbus reliably, because it doesn't always update for me ... I keep Gnome around despite the memory load because I've become used to things like the rhythmbox control icon, and how ssh-agent integrates. But that's about all I consciously need ...
I use trayer [0] - it's a tiny application which I start from my .xinitrc. It holds Skypes and Pidgin's tray icons.
I believe there must be a package for Ubuntu.
Looks like it -- "trayer" gets you v1.0-3 from the universe repository. From http://fbpanel.sf.net/ -jim

On Mon, Aug 30 2010, Jim Cheetham wrote:
On Mon, Aug 30, 2010 at 2:50 PM, Sergey Manucharian
wrote: I'm trying to get a handle on the different "levels" that xmonad can run at: either within gnome, or instead of gnome... is that right?
Not quite; XMonad manages windows, Gnome manages "desktop sessions" and uses something else to manage windows -- in Ubuntu that's metacity.
It's quite possible to have Gnome running with XMonad as the window manager -- if you do this you can have the standard gnome-panel with menus, application icons and status applets. Mind you, there is a little confusion in idiom between a window manager that primarily uses the keyboard with a panel that primarily demands the mouse ...
The following command will change the window manager that Gnome uses :- $ gconftool-2 -s /desktop/gnome/session/required_components/windowmanager xmonad --type string
(set it to gnome-wm to get the old metacity back)
Thanks for all the recommendations and pointers! I think this is the solution I'll start with, at least until I'm comfortable enough with xmonad configuration to play with standalone status bars. Off to give it a shot… Eric

On 30/08/10 02:56, Eric Abrahamsen wrote:
I've recently set up xmonad on Ubuntu 10.04, and I think it's a testament to xmonad's ease of use that after only three days, the biggest problem I'm having is this:
I've got some applications that are run at startup, including Skype. Under gnome (or do I mean metacity?) Skype shows up only in the system tray, no window. Under xmonad, Skype runs (if someone calls me a floating window appears), but since it has no window I seem to have no means of interacting with it. Is there some way I can call it up? Or at worst, have it start with an actual window?
As other people have already responded you need some sort of panel/notification area where skype and other applications can display their icon when minimised. Once you have that up and running though, you might run into another issue. One that I haven't found any solution to yet. Some applications seem to minimise just fine under other WMs, but refuse to do so under xmonad. The only application I frequently use suffering from this is empathy. If you run into the same issue, and manage to solve it, then please pass on the information :-) /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus@therning.org http://therning.org/magnus identi.ca|twitter: magthe

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 8/30/10 04:21 , Magnus Therning wrote:
Once you have that up and running though, you might run into another issue. One that I haven't found any solution to yet. Some applications seem to minimise just fine under other WMs, but refuse to do so under xmonad. The only application I frequently use suffering from this is empathy. If you run into the same issue, and manage to solve it, then please pass on the information :-)
At a guess, it posts _NET_WM_STATE to the root window instead of minimizing. I'm working on it :) -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkx8GCIACgkQIn7hlCsL25UtawCghTFz+N+MchwYsd+eu8cLOE7r M0QAn1XZSRDzWcM7r98xPJwCoZATZdul =Bzt4 -----END PGP SIGNATURE-----

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 8/30/10 21:41 , Justin Bogner wrote:
Brandon S Allbery KF8NH
writes: At a guess, it posts _NET_WM_STATE to the root window instead of minimizing. I'm working on it :)
WM_CHANGE_STATE, actually...
Hm. http://standards.freedesktop.org/wm-spec/1.3/ar01s05.html#id2522991 says "A Client wishing to change the state of a window MUST send a _NET_WM_STATE client message to the root window (see below)." Are there multiple ways of doing this now? (I noticed a few other things seem to have changed, but their documentation at least says so.) - -- brandon s. allbery [linux,solaris,freebsd,perl] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.10 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkx8YSYACgkQIn7hlCsL25XwkACdH+xDPmNqDpaSfYpBNgL0pe+N Xg8AmwZFnwJ9lSBg9zBLhRUkSrwZWKEf =RFnV -----END PGP SIGNATURE-----

Brandon S Allbery KF8NH
WM_CHANGE_STATE, actually...
Hm. http://standards.freedesktop.org/wm-spec/1.3/ar01s05.html#id2522991 says "A Client wishing to change the state of a window MUST send a _NET_WM_STATE client message to the root window (see below)." Are there multiple ways of doing this now? (I noticed a few other things seem to have changed, but their documentation at least says so.)
Hmm, WM_CHANGE_STATE is ICCCM: http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.4 Whereas _NET_WM_STATE is EWMH, and covers more possible states. Since both of these are pretty standard, it's likely most clients a little bit of both, I think. Xlib standards kind of frighten me though, so feel free to point out if I'm wrong here.

Magnus Therning
Once you have that up and running though, you might run into another issue. One that I haven't found any solution to yet. Some applications seem to minimise just fine under other WMs, but refuse to do so under xmonad. The only application I frequently use suffering from this is empathy. If you run into the same issue, and manage to solve it, then please pass on the information :-)
XMonad.Hooks.Minimize can handle how empathy minimizes. The problem is that empathy uses hints to minimize, rather than just hiding its own window.
participants (6)
-
Brandon S Allbery KF8NH
-
Eric Abrahamsen
-
Jim Cheetham
-
Justin Bogner
-
Magnus Therning
-
Sergey Manucharian