session management tweaking
benedikt.meurer at unix-ag.uni-siegen.de
Mon Oct 11 14:51:43 CEST 2004
edscott wilson garcia wrote:
> Hey Benny,
> 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
> WM_COMMAND Xatom?
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.
More information about the Xfce4-dev