2012-01-08 02:44:52 +00:00
<?xml version="1.0"?>
< !DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
]>
<chapter id= "gtk-migrating-smclient-GtkApplication" >
<title > Migrating from EggSMClient to GtkApplication</title>
<para >
EggSMClient provides 'session management' support for applications.
This means a number of things:
<itemizedlist >
<listitem > logout notification and negotiation</listitem>
<listitem > application state saving</listitem>
<listitem > restarting of applications with saved state</listitem>
</itemizedlist>
EggSMClient supports this functionality to varying degrees on
Windows and OS X, as well as with XSMP and D-Bus based session
managers in X11.
</para>
<para >
Starting with GTK+ 3.4, #GtkApplication supports logout notification
2012-01-10 05:59:16 +00:00
and negotiation similar to EggSMClient.
2012-01-08 02:44:52 +00:00
</para>
<table >
<tgroup cols= "2" >
<title > EggSMClient to GtkApplication</title>
<thead >
<row > <entry > EggSMClient</entry> <entry > GtkApplication</entry> </row>
</thead>
<tbody >
2012-01-10 05:59:16 +00:00
<row > <entry > EggSMClient::quit-requested</entry> <entry > instead of calling will_quit (FALSE,...) in response to this signal, install an inhibitor</entry> </row>
<row > <entry > EggSMClient::quit</entry> <entry > the #GtkApplication::quit signal</entry> </row>
<row > <entry > EggSMClient::quit-cancelled</entry> <entry > </entry> </row>
<row > <entry > egg_sm_client_will_quit</entry> <entry > instead of calling will_quit (FALSE,...), install an inhibitor</entry> </row>
2012-01-08 02:44:52 +00:00
<row > <entry > egg_sm_client_end_session</entry> <entry > gtk_application_end_session()</entry> </row>
</tbody>
</tgroup>
</table>
<para >
At this point, GtkApplication has no special support for state saving.
Applications can use GSettings or GKeyFile and save as much state as
they see fit in response to #GtkApplication::quit or whenever they
consider appropriate.
</para>
</chapter>