[release-notes/gnome-3-12] fill out and elaborate the developers page some more



commit ff27c67d0418957fc6145df467a6bcf91b588a1f
Author: Allan Day <allanpday gmail com>
Date:   Mon Mar 17 19:02:06 2014 +0000

    fill out and elaborate the developers page some more

 help/C/developers.page |   74 +++++++++++++++++++++++++++++++++---------------
 1 files changed, 51 insertions(+), 23 deletions(-)
---
diff --git a/help/C/developers.page b/help/C/developers.page
index d077503..5188c39 100644
--- a/help/C/developers.page
+++ b/help/C/developers.page
@@ -26,24 +26,25 @@
 
   <section id="gtk-widgets">
     <title>New GTK+ Widgets</title>
-    <p>The GTK+ toolkit has three new interface widgets for 3.12:</p>
+    <p>The <app>GTK+</app> toolkit has three new interface widgets for 3.12:</p>
     <list>
-      <item><p>GtkActionBar: A new container, which has a centered child like GtkHeaderBar. This is intended 
for use at the bottom of widgets for presenting actions for selected content.</p></item>
-      <item><p>GtkPopover: A new widget that is can be used for transient views, as an alternative to menus 
or dialogs.</p></item>
-      <item><p>GtkFlowBox: A container that its children in a reflowing grid, which can be oriented 
horizontally or vertically.</p></item>
+      <item><p><cmd>GtkActionBar</cmd>: A new container, which has a centered child like 
<cmd>GtkHeaderBar</cmd>. This is intended for use at the bottom of widgets for presenting actions for 
selected content.</p></item>
+      <item><p><cmd>GtkPopover</cmd>: A new widget that is can be used for transient views, as an 
alternative to menus or dialogs.</p></item>
+      <item><p><cmd>GtkFlowBox</cmd>: A container that its children in a reflowing grid, which can be 
oriented horizontally or vertically.</p></item>
     </list>
   </section>
 
   <section id="notifications">
     <title>Integrated Notifications API</title>
-    <p>3.12 introduces a new API that adds notification support to GApplication. This replaces the existing 
libnotify API, but can fall back to the org.freedesktop.Notifications D-Bus interface. The new API provides 
many of libnotify's capabilities, plus some new ones, such as the ability for notifications to persist after 
an application exits. It also makes it possible to restart an application when a notification is activated by 
the user.</p>
-    <p>More details on how to use the GNotification API can be found on the <link 
href="https://wiki.gnome.org/HowDoI/GNotification";>How Do I</link> page.</p>
+    <p>GNOME 3.12 includes a new notifications API. Included in <app>GIO</app> and called 
<cmd>GNotification</cmd>, the new API replaces <cmd>libnotify</cmd>, so that developers no longer need to 
link against it. (<cmd>GNotification</cmd> can fall back to the <cmd>org.freedesktop.Notifications</cmd> 
<app>D-Bus</app> interface.)</p>
+    <p>The new API neatly integrates with <app>GTK+</app>, and works in conjunction with 
<cmd>GApplication</cmd> and <cmd>GAction</cmd>. It provides many of <cmd>libnotify</cmd>'s capabilities plus 
some new ones, such as the ability for notifications to persist after an application exits. It also makes it 
possible to restart an application when a notification is activated by the user.</p>
+    <p>More details on how to use the <cmd>GNotification</cmd> API can be found on the <link 
href="https://wiki.gnome.org/HowDoI/GNotification";>How Do I</link> page.</p>
   </section>
 
   <section id="process-launching">
     <title>Powerful New Process Launching API</title>
-    <p>A new, more powerful process launching API is included in 3.12, called GSubprocess. The new API 
allows the gapplication command line utility to be used for launching applications. Applications can be 
instructed to open files, and application actions can also be triggered. It is also possible to list the 
available applications and actions, and the command line utility comes complete with bash completion</p>
-    <p>GApplication now also supports command line handling, including a convenient --gapplication-service 
option.</p>
+    <p>A new, more powerful process launching API is included in 3.12, called <cmd>GSubprocess</cmd>. The 
new API allows the <cmd>gapplication</cmd> command line utility to be used for launching applications. 
Applications can be instructed to open files, and application actions can also be triggered. It is also 
possible to list the available applications and actions, and the command line utility comes complete with 
bash completion.</p>
+    <p><cmd>GApplication</cmd> now also supports command line handling, including the convenient 
<cmd>--gapplication-service</cmd> option.</p>
   </section>
 
   <section id="docs">
@@ -53,40 +54,67 @@
 
   <section id="portability">
     <title>Enhanced Portability</title>
-    <p>Improved portability for OpenBSD, Solaris.</p>
+    <p>Improved portability for <app>OpenBSD</app>, <app>Solaris</app>.</p>
   </section>
 
   <section id="tracker">
     <title>Tracker</title>
     <p><app>Tracker</app> the search engine, search tool and metadata storage system, comes with a long list 
of improvements for 3.12:</p>
     <list>
-      <item><p>A new library called libmediaart has been created from Tracker code to handle art associated 
with multimedia files. libmediaart allows art stored in media files to be cache, and provides a consistent 
way to lookup art and reduce cache sizes for artists, albums and media items. (Note that it is not intended 
to generate thumbnails to be confused with thumbnail generation which is usually for personal content (e.g. 
photos taken).</p></item>
-      <item><p>libtracker-control is another new library for 3.12, which manages search miners.</p></item>
+      <item><p>A new library called <cmd>libmediaart</cmd> has been created from <app>Tracker</app> code to 
handle art associated with multimedia files. <cmd>libmediaart</cmd> allows art stored in media files to be 
cache, and provides a consistent way to lookup art and reduce cache sizes for artists, albums and media 
items. (Note that it is not intended to generate thumbnails to be confused with thumbnail generation which is 
usually for personal content (e.g. photos taken).</p></item>
+      <item><p><cmd>libtracker-control</cmd> is another new library for 3.12, which manages search 
miners.</p></item>
       <item><p>The new passive extraction features allows specified metadata extraction (e.g. image 
orientation) by listening to signals on resource changes. Previously inserting information about a resource 
was done in one step. This feature means that now file data (e.g. file name, size, etc) is inserted even if 
specific metadata isn't.</p></item>
       <item><p>It is now possible to prioritize RDF types when indexing: this enables indexing to be tuned 
and depending on the situation.</p></item>
-      <item><p>The tracker:normalize() and tracker:unaccent() SPARQL functions are now supported.</p></item>
-      <item><p>A new command called tracker-sparql --tree will display the database ontology and so help 
developers to get a clear picture of the class hierarchy.</p></item>
+      <item><p>The <cmd>tracker:normalize()</cmd> and <cmd>tracker:unaccent()</cmd> <app>SPARQL</app> 
functions are now supported.</p></item>
+      <item><p>A new command called <cmd>tracker-sparql --tree</cmd> will display the database ontology and 
so help developers to get a clear picture of the class hierarchy.</p></item>
       <item><p>Encoding detection is now supported for metadata with ICU.</p></item>
-      <item><p><app>Tracker</app> store's GraphUpdated signal delay is now configurable. This signal is used 
to provide notifications of resource changes in the database (e.g. new file added). Previously it was always 
1 second.</p></item>
+      <item><p><app>Tracker</app> store's <cmd>GraphUpdated</cmd> signal delay is now configurable. This 
signal is used to provide notifications of resource changes in the database (e.g. new file added). Previously 
it was always one second.</p></item>
     </list>
   </section>
 
   <section id="grilo-extensions">
     <title>Grilo Extensions with Lua</title>
-    <p>The updated Videos application includes a range of online video channels that users can browse, 
search and view. Developers can easily add video channels of their own, with a simple extension  
http://www.hadess.net/2014/02/extend-gnome-videos-with-lua.html</p>
+    <p>The <link href="https://wiki.gnome.org/Projects/Grilo";>Grilo media discovery framework</link> now 
allows online media sources to be added using <app>Lua</app>'s powerful yet simple pattern matching 
abilities. More details, including examples, can be found in <link 
href="http://www.hadess.net/2014/02/extend-gnome-videos-with-lua.html";>Bastien Nocera's blog post on the 
subject</link>.</p>
   </section>
 
-Matured Client-Side Decorations
-height problems fixed, drag-by-touch working
+  <section id="csd">
+    <title>Mature Client-Side Decorations</title>
+    <p>Client-side decorations allow application windows to take over functions from the window manager. 
These were first introduced last cycle, with the new <cmd>GtkHeaderBar</cmd> widget. Since then, 
<cmd>GtkHeaderBar</cmd> has matured greatly. The widget now has a consistent height, and windows can now be 
moved by dragging the header bar on touch devices. Header bacs can now also include application menus as well 
as a variety of window controls in addition to the standard close button.</p>
+    </section>
+
+  <section id="pygobject">
+    <title>Improved Python Bindings</title>
+    <p>GNOME's <app>Python</app> bindings have been improved for 3.12:</p>
+    <list>
+      <item><p><app>Python</app> doc strings for functions now show accurate call signatures including 
argument and return type information.</p></item>
+      <item><p>There is now an implicit <cmd>None</cmd> default for tail-end function arguments.</p></item>
+      <item><p>All callback connection functions now accept a variable number of user-data 
arguments.</p></item>
+      <item><p>New demos show how to use <app>CSS</app> in <app>GTK+</app> from <app>Python</app>.</p></item>
+      <item><p>Calling <cmd>GObject.threads_init</cmd> is no longer required for multi-threaded 
programming.</p></item>
+    </list>
+    <p>Additionally, there have been many memory and performance improvements.</p>
+  </section>
+
+  <section id="wayland">
+    <title>Wayland</title>
+    <p>A huge amount of progress has been made towards full <app>Wayland</app> integration for 3.12. This 
includes the creation of a new <cmd>libinput</cmd> library and new functionality for login and session 
management. Developers who are interested in <app>Wayland</app>, or who want to test their software in a 
Wayland environment, can try the latest development work.</p>
+    <p>To run <cmd>gnome-shell</cmd> under <app>Wayland</app>, execute the following command in a 
terminal:</p>
+    <p><cmd>gnome-session --session=gnome-wayland</cmd></p>
+    <p>It is also possible to run individual applications on Wayland by specifying the 
<cmd>GDK_BACKEND</cmd>. Run the following command, substituting <input>application-name</input> for the name 
of the application's executable:</p>
+    <p><cmd>GDK_BACKEND=wayland <input>application-name</input></cmd></p>
+    <p>If an application fails to run on Wayland, it will try to fall back to X11.</p>
+    <p>Further details about GNOME on Wayland can be found on the <link 
href="https://wiki.gnome.org/Initiatives/Wayland";>GNOME Wayland wiki page</link>.</p>
+  </section>
 
   <section id="more">
     <title>Other Improvements</title>
-    <p>Unicode 6.3.0 support</p>
-    <p>Most GTK+ containers draw backgrounds</p>
-    <p>Model-based menus can hide items on various conditions</p>
-    <p>GtkBox supports a centered child like GtkHeaderBar</p>
-    <p>High DPI density displays are now supported in Clutter, using the same setting shared by GTK+ and the 
GNOME Settings Daemon.</p>
-    <p>GtkHeaderBar - improved compatibility with different environments. </p>
+    <p>Other improvements for developers and sysadmins in 3.12 include:</p>
+    <list>
+      <item><p>Most GTK+ containers draw backgrounds.</p></item>
+      <item><p>Model-based menus can now hide items based on specified conditions.</p></item>
+      <item><p>GtkBox now supports a centered child, in the same way as GtkHeaderBar.</p></item>
+      <item><p>High DPI density displays are now supported in Clutter, using the same setting shared by GTK+ 
and the GNOME Settings Daemon.</p></item>
+    </list>
   </section>
 
 </page>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]