session management tweaking

Benedikt Meurer benedikt.meurer at
Mon Oct 11 14:51:43 CEST 2004

edscott wilson garcia wrote:
> Hey Benny,

Hey Edscott,

>   I'm trying to get xffm to restore itself to the directory in which it
> was located for each session. In xfce3 this was done with the legacy
> method of setting the Xatom "WM_COMMAND". Although the xfce4-session
> code includes legacy stuff, it seems to prefer the argument list which
> was sent to gtk_init(), which not necessarily is the same when the
> session comes to an end.

The legacy code basicly implements the X11R5 session management 
(WM_SAVE_YOURSELF protocol) with a fallback on plain WM_COMMAND 
grabbing. I use XGetCommand which IIRC does nothing more than querying 
the WM_COMMAND property value.

> Is there an easy way to change argument list the xfce4-session manager
> will use to restart a gtk2 application? Or maybe make it use the legacy

The best way to get good session management support would be to use the 
X11R6 protocol (libSM on top of libICE). libxfcegui4 contains very 
limited support for this.

Another way (the X11R5 way) would be to listen for WM_SAVE_YOURSELF on 
the client leader window (the window where the WM_CLIENT_LEADER property 
of your toplevel windows points to) and set WM_COMMAND on the leader 
window after you received a save yourself notify. I'm not sure if Gtk+ 
doesn't already do this. Maybe there's even a way to trick Gtk+ to set 
different arguments for the WM_COMMAND property.

> regards,
> Edscott


More information about the Xfce4-dev mailing list