forked from AuroraMiddleware/gtk
1c486fb8b8
We don't expose ::quit-requested as API anymore. Instead, we expect users to register inhibitors when needed. Without quit-requested, there is no need for ::quit-cancelled and gtk_application_quit_response anymore. We still emit ::quit when the application is about to quit.
49 lines
2.0 KiB
XML
49 lines
2.0 KiB
XML
<?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
|
|
and negotiation similar to EggSMClient.
|
|
</para>
|
|
<table>
|
|
<tgroup cols="2">
|
|
<title>EggSMClient to GtkApplication</title>
|
|
<thead>
|
|
<row><entry>EggSMClient</entry><entry>GtkApplication</entry></row>
|
|
</thead>
|
|
<tbody>
|
|
<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>
|
|
<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>
|