]> Pileus Git - ~andy/gtk/commitdiff
Add session management migration chapter
authorMatthias Clasen <mclasen@redhat.com>
Sun, 8 Jan 2012 02:44:52 +0000 (21:44 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 8 Jan 2012 02:44:52 +0000 (21:44 -0500)
Add some preliminary information about migration from EggSMClient
to GtkApplication.

docs/reference/gtk/Makefile.am
docs/reference/gtk/gtk-docs.sgml
docs/reference/gtk/migrating-smclient-GtkApplication.xml [new file with mode: 0644]
docs/reference/gtk/migrating-unique-GtkApplication.xml [moved from docs/reference/gtk/migrating-GtkApplication.xml with 98% similarity]

index d0d19e6c4c6909dd2cf32548ba1932c638d17cd0..54f3c7a33d52904c638a684bce8a5d1cc9ffa3a0 100644 (file)
@@ -123,7 +123,8 @@ content_files =                                     \
        glossary.xml                            \
        migrating-2to3.xml                      \
        migrating-checklist.sgml                \
-       migrating-GtkApplication.xml            \
+       migrating-unique-GtkApplication.xml     \
+       migrating-smclient-GtkApplication.xml   \
        migrating-GtkGrid.xml                   \
        migrating-GtkStyleContext.xml           \
        objects_grouped.sgml                    \
@@ -146,7 +147,8 @@ expand_content_files =                              \
        glossary.xml                            \
        migrating-2to3.xml                      \
        migrating-checklist.sgml                \
-       migrating-GtkApplication.xml            \
+       migrating-unique-GtkApplication.xml     \
+       migrating-smclient-GtkApplication.xml   \
        migrating-GtkGrid.xml                   \
        migrating-GtkStyleContext.xml           \
        question_index.sgml                     \
index baf190578ba3d3bc8b80c641af53ddd8aafa8623..9be29d7de0fef1ca4175ecf35038783c9d37171a 100644 (file)
 
     <xi:include href="xml/migrating-2to3.xml" />
     <xi:include href="xml/migrating-GtkStyleContext.xml" />
-    <xi:include href="xml/migrating-GtkApplication.xml" />
+    <xi:include href="xml/migrating-unique-GtkApplication.xml" />
+    <xi:include href="xml/migrating-smclient-GtkApplication.xml" />
     <xi:include href="xml/migrating-GtkGrid.xml" />
     <xi:include href="xml/migrating-checklist.sgml" />
   </part>
diff --git a/docs/reference/gtk/migrating-smclient-GtkApplication.xml b/docs/reference/gtk/migrating-smclient-GtkApplication.xml
new file mode 100644 (file)
index 0000000..58cae9a
--- /dev/null
@@ -0,0 +1,49 @@
+<?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 in the same way as EggSMClient, using the same
+    basic API:
+  </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>#GtkApplication::quit-requested</entry></row>
+        <row><entry>EggSMClient::quit</entry><entry>#GtkApplication::quit</entry></row>
+        <row><entry>EggSMClient::quit-cancelled</entry><entry>#GtkApplication::quit-cancelled</entry></row>
+        <row><entry>egg_sm_client_will_quit</entry><entry>gtk_application_quit_response()</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>
similarity index 98%
rename from docs/reference/gtk/migrating-GtkApplication.xml
rename to docs/reference/gtk/migrating-unique-GtkApplication.xml
index a53f165d559c2a6746bc469178a908a9cfa602dd..aaa6645fbc92816fa979b048928ccfaec125cfb5 100644 (file)
@@ -2,7 +2,7 @@
 <!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-GtkApplication">
+<chapter id="gtk-migrating-unique-GtkApplication">
 
   <title>Migrating from libunique to GApplication or GtkApplication</title>