[gnome-devel-docs] overview: Each tech in its own page, some done



commit 54c4820b1c955225964b3b32105fcfa7fb6556e7
Author: Shaun McCance <shaunm gnome org>
Date:   Tue Apr 5 22:22:12 2011 -0400

    overview: Each tech in its own page, some done

 platform-overview/C/apx-modules.page  |  302 ------------------
 platform-overview/C/atk.page          |   51 +++
 platform-overview/C/audience.page     |  218 -------------
 platform-overview/C/cairo.page        |   38 +++
 platform-overview/C/canberra.page     |   11 +
 platform-overview/C/clutter.page      |   11 +
 platform-overview/C/core-tech.page    |  554 ---------------------------------
 platform-overview/C/d-bus.page        |   46 +++
 platform-overview/C/desktop-tech.page |  379 ----------------------
 platform-overview/C/eds.page          |   37 +++
 platform-overview/C/gda.page          |   11 +
 platform-overview/C/gdk.page          |   51 +++
 platform-overview/C/gio-network.page  |   11 +
 platform-overview/C/gio.page          |   12 +
 platform-overview/C/glib.page         |   10 +
 platform-overview/C/gobject.page      |   10 +
 platform-overview/C/gsettings.page    |   10 +
 platform-overview/C/gstreamer.page    |   53 ++++
 platform-overview/C/gtk.page          |   47 +++
 platform-overview/C/help.page         |   31 ++
 platform-overview/C/index.page        |   51 +++-
 platform-overview/C/ipc-network.page  |  142 ---------
 platform-overview/C/keyring.page      |   58 ++++
 platform-overview/C/notify.page       |   11 +
 platform-overview/C/packagekit.page   |   10 +
 platform-overview/C/pango.page        |   58 ++++
 platform-overview/C/pulseaudio.page   |   10 +
 platform-overview/C/soup.page         |   11 +
 platform-overview/C/telepathy.page    |   11 +
 platform-overview/C/tracker.page      |   11 +
 platform-overview/C/webkit.page       |   29 ++
 31 files changed, 685 insertions(+), 1610 deletions(-)
---
diff --git a/platform-overview/C/atk.page b/platform-overview/C/atk.page
new file mode 100644
index 0000000..4f2a099
--- /dev/null
+++ b/platform-overview/C/atk.page
@@ -0,0 +1,51 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="atk">
+<info>
+  <link type="guide" xref="index" group="atk"/>
+  <desc>Support for screen readers and other accessibility
+  tools</desc>
+</info>
+
+<title>ATK</title>
+
+<p>Accessibility is the process of ensuring your application can be
+used by people with various disabilities.  Disabilities come in many forms:
+visual impairments, movement impairments, hearing impairments, cognitive
+and language impairments, and seizure disorders.  Many people have some
+sort of disability, and making your application accessibility will allow
+more people to use your application effectively.</p>
+
+<p>GNOME provides support for accessibility devices using the ATK
+framework.  This framework defines a set of interfaces to which graphical
+interface components adhere.  This allows, for instance, screen readers
+to read the text of an interface and interact with its controls.  ATK
+support is built into GTK+ and the rest of the GNOME platform using the
+GAIL library, so any application using GTK+ will have reasonable
+accessibility support for free.</p>
+
+<p>Nonetheless, you should be aware of accessibility issues when
+when developing your applications.  Although GTK+ interfaces provide
+reasonable accessibility by default, you can often improve how well
+your program behaves with accessibility tools by providing additional
+information to ATK.  If you develop custom widgets, you should ensure
+that they expose their properties to ATK.  You should also avoid using
+sound, graphics, or color as the sole means of conveying information
+to the user.</p>
+
+<p>The GNOME desktop ships with a number of accessibility tools
+which enable users with disabilities to take full advantage of their
+desktop and applications.  Applications that fully implement ATK will
+be able to work with the accessibility tools.  GNOME's accessibility
+tools include a screen reader, a screen magnifier, an on-screen
+keyboard, and <app>Dasher</app>, an innovative
+predictive text entry tool.</p>
+
+<p>For extensive recommendations on accessibility, see <link
+href="http://developer.gnome.org/projects/gap/guide/gad/index.html";>GNOME
+Accessibility for Developers</link>.  See also <link
+href="http://library.gnome.org/devel/atk/stable/";>ATK -
+Accessibility Toolkit</link> and the <link
+href="http://library.gnome.org/devel/gail-libgail-util/stable/";>GAIL
+Reference Manual</link>.</p>
+</page>
diff --git a/platform-overview/C/cairo.page b/platform-overview/C/cairo.page
new file mode 100644
index 0000000..2798686
--- /dev/null
+++ b/platform-overview/C/cairo.page
@@ -0,0 +1,38 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="cairo">
+<info>
+  <link type="guide" xref="index" group="cairo"/>
+  <desc>Modern 2D vector drawing canvas</desc>
+</info>
+
+<title>Cairo</title>
+
+<p>Cairo is a 2D graphics library featuring a sophisticated API for
+drawing vector graphics, compositing images, and rendering anti-aliased
+text.  Cairo provides support for multiple output devices, including the
+X Window System, Microsoft Windows, and image buffers, allowing you to
+write platform-independent code to draw graphics on different media.</p>
+
+<p>The Cairo drawing model is similar to those provided by PostScript
+and PDF.  The Cairo API provides such drawing operations as stroking and
+filling cubic Bézier splines, compositing images, and performing affine
+transformations.  These vector operations allow for rich, anti-aliased
+graphics without using expensive pixel-based drawing in your application
+code.</p>
+
+<p>Cairo's rich drawing model allows for high-quality rendering to
+multiple media.  The same API can be used to create stunning on-screen
+graphics and text, to render images, or create crisp output suitable
+for printing.</p>
+
+<p>You should use Cairo whenever you need to draw graphics in your
+application beyond the widgets provided by GTK+.  Much of the drawing
+inside GTK+ is done using Cairo.  Using Cairo for your custom drawing
+will allow your application to have high-quality, anti-aliased, and
+resolution-independent graphics.</p>
+
+<p>For more information on Cairo, see <link
+href="http://www.cairographics.org/manual/";>Cairo: A Vector Graphics
+Library</link>.</p>
+</page>
diff --git a/platform-overview/C/canberra.page b/platform-overview/C/canberra.page
new file mode 100644
index 0000000..be65f8b
--- /dev/null
+++ b/platform-overview/C/canberra.page
@@ -0,0 +1,11 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="canberra">
+<info>
+  <link type="guide" xref="index" group="apps"/>
+  <desc>Simple audio API for notifications and events</desc>
+</info>
+
+<title>Canberra</title>
+
+</page>
diff --git a/platform-overview/C/clutter.page b/platform-overview/C/clutter.page
new file mode 100644
index 0000000..38500bd
--- /dev/null
+++ b/platform-overview/C/clutter.page
@@ -0,0 +1,11 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="clutter">
+<info>
+  <link type="guide" xref="index" group="clutter"/>
+  <desc>Stunning graphics and animations with a scene-graph API</desc>
+</info>
+
+<title>Clutter</title>
+
+</page>
diff --git a/platform-overview/C/d-bus.page b/platform-overview/C/d-bus.page
new file mode 100644
index 0000000..ea03cf2
--- /dev/null
+++ b/platform-overview/C/d-bus.page
@@ -0,0 +1,46 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="d-bus">
+<info>
+  <link type="guide" xref="index" group="d-bus"/>
+  <desc>Standard interprocess communications bus</desc>
+</info>
+
+<title>D-Bus</title>
+
+<p>D-Bus is a cross-desktop message bus for sending events between
+various applications, the desktop, and low-level components of the system.
+D-Bus provides a simple API for sending messages to particular services
+and for broadcasting messages to all interested services.  D-Bus enables
+different types of applications to communicate and integrate with each
+other and with the desktop, providing better interaction and a richer
+experience for the user.</p>
+
+<p>D-Bus provides a session and a system bus.  The session bus is
+used by applications in a single user session, allowing them to share
+data and event notifications and to integrate into the user's desktop.
+For example, movie players can send a D-Bus message to prevent the
+screensaver from activating when the user is watching a movie.</p>
+
+<p>The system bus is a single message bus which runs independently of
+any user sessions.  It can communicate with applications in any session,
+enabling those applications to interact with system components without
+dealing with low-level system details.  The system bus is used to provide
+important functionality that users expect to work on their systems.  For
+example, the system bus is used to monitor when network interfaces go up
+or down, when external drives get plugged in, and when laptop batteries
+are low.</p>
+
+<p>D-Bus is developed jointly on <link
+href="http://www.freedesktop.org/";>freedesktop.org</link>, so you can
+use it with different desktop environments and applications.  Because
+D-Bus is a cross-desktop project, you use it to create portable and
+versatile software that seamlessly integrates with the user's desktop,
+regardless of which desktop it is.</p>
+
+<p>For more information on D-Bus, see <link
+href="http://dbus.freedesktop.org/doc/dbus-tutorial.html";>The D-Bus
+Tutorial</link> and <link
+href="http://dbus.freedesktop.org/doc/dbus-specification.html";>The
+D-Bus Specification</link>.</p>
+</page>
diff --git a/platform-overview/C/eds.page b/platform-overview/C/eds.page
new file mode 100644
index 0000000..c3a5038
--- /dev/null
+++ b/platform-overview/C/eds.page
@@ -0,0 +1,37 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="eds">
+<info>
+  <link type="guide" xref="index" group="apps"/>
+  <desc>Integration with the desktop-wide address book and calendar</desc>
+</info>
+
+<title>Evolution Data Server</title>
+
+<p>With Evolution Data Server, GNOME provides a single address book and
+calendar that all applications can use to store and retrieve information.
+Using Evolution Data Server means that users no longer have to maintain
+separate lists of contacts in each application, or manually copy events
+to their calendar.</p>
+
+<p>People use computers increasingly to interact with their friends
+and colleagues.  Applications such as email programs, instant messengers,
+and telephony and video conferencing applications are used to communicate
+with others.  These applications often provide contact lists to help users.
+Using Evolution Data Server, applications can store contact information in
+a single location, allowing all applications to see all the pertinent data
+about users' contacts.</p>
+
+<p>Applications can also use Evolution Data Server to store and retrieve
+appointments on the user's calendar.  For example, the clock on the panel
+shows a simple calendar when clicked.  If the user has any appointments
+scheduled, they are shown alongside the calendar.  This makes it easy to
+see upcoming appointments without opening a full calendar application.</p>
+
+<p>For more information on the address book, see <link
+href="http://gnome.org/projects/evolution/developer-doc/libebook/ch01.html";>
+Evolution API Reference: libebook</link>.  For more information on the
+calendar, see <link
+href="http://gnome.org/projects/evolution/developer-doc/libecal/index.html";>
+Evolution API Reference: libecal</link>.</p>
+</page>
diff --git a/platform-overview/C/gda.page b/platform-overview/C/gda.page
new file mode 100644
index 0000000..4fe427f
--- /dev/null
+++ b/platform-overview/C/gda.page
@@ -0,0 +1,11 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="gda">
+<info>
+  <link type="guide" xref="index" group="apps"/>
+  <desc>Common relational database access</desc>
+</info>
+
+<title>GDA</title>
+
+</page>
diff --git a/platform-overview/C/gdk.page b/platform-overview/C/gdk.page
new file mode 100644
index 0000000..34cc5a5
--- /dev/null
+++ b/platform-overview/C/gdk.page
@@ -0,0 +1,51 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="gdk">
+<info>
+  <link type="guide" xref="index" group="gdk"/>
+  <desc>Underlying windowing and event handling</desc>
+</info>
+
+<title>GDK</title>
+
+<p>GDK is the low-level library used by GTK+ to interact with the
+system for graphics and input devices.  Although you will rarely use
+GDK directly in application code, it contains all the necessary
+functionality to draw objects and text to the screen and to interact
+with the user with various input devices.</p>
+<note><p>GDK runs on a number of different platforms, including the X Window
+System, Microsoft Windows, DirectFB, and Quartz.  On any platform, GDK
+provides the same consistent API, allowing GTK+ and GTK+ applications to
+run unmodified.</p></note>
+
+<p>GDK features a graphics context and drawing primitives that are
+suitable for drawing simple objects and rendering images on the screen.
+Since a more extensive drawing system is provided by Cairo, GDK provides
+hooks to use Cairo contexts within GDK.</p>
+
+<p>GDK enables you to access events from keyboards, mice, and other
+input devices, rather than connect to the high-level signals used in
+GTK+.  GDK also provides low-level routines to access drag and drop
+and clipboard data from the system.  When implementing custom controls,
+you may need to access these features to implement proper user interaction
+behavior.</p>
+
+<p>GDK provides other functionality which is needed to implement
+a complete graphical toolkit like GTK+.  Since GDK acts as a platform
+abstraction, allowing GTK+ to run under multiple environments, it
+provides an API for all of the system functionality needed by GTK+.
+This includes information about multi-head displays, resolution and
+color depth, colormaps, and cursors.</p>
+
+<p>You should use GDK whenever you need low-level access to the
+underlying windowing system, including low-level access to events,
+windows, and the clipboard.  Using GDK for these tasks ensures that
+your code is portable and integrates with the rest of your GTK+ code.
+The simple drawing routines in GDK should generally not be used.
+Instead, you should use the extensive functionality provide by
+Cairo.</p>
+
+<p>For more information on GDK, see the
+<link href="http://library.gnome.org/devel/gdk/stable/";>GDK Reference
+Manual</link>.</p>
+</page>
diff --git a/platform-overview/C/gio-network.page b/platform-overview/C/gio-network.page
new file mode 100644
index 0000000..30befae
--- /dev/null
+++ b/platform-overview/C/gio-network.page
@@ -0,0 +1,11 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="gio-network">
+<info>
+  <link type="guide" xref="index" group="gio-network"/>
+  <desc>Powerful networking API built on the GIO stream classes</desc>
+</info>
+
+<title>GIO Networking</title>
+
+</page>
diff --git a/platform-overview/C/gio.page b/platform-overview/C/gio.page
new file mode 100644
index 0000000..2fded7e
--- /dev/null
+++ b/platform-overview/C/gio.page
@@ -0,0 +1,12 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="gio">
+<info>
+  <link type="guide" xref="index" group="gio"/>
+  <desc>Asynchronous file and URI handling with access
+  to file and volume info</desc>
+</info>
+
+<title>GIO Files</title>
+
+</page>
diff --git a/platform-overview/C/glib.page b/platform-overview/C/glib.page
new file mode 100644
index 0000000..033e510
--- /dev/null
+++ b/platform-overview/C/glib.page
@@ -0,0 +1,10 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="glib">
+<info>
+  <link type="guide" xref="index" group="glib"/>
+</info>
+
+<title>GLib</title>
+
+</page>
diff --git a/platform-overview/C/gobject.page b/platform-overview/C/gobject.page
new file mode 100644
index 0000000..73648cf
--- /dev/null
+++ b/platform-overview/C/gobject.page
@@ -0,0 +1,10 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="gobject">
+<info>
+  <link type="guide" xref="index" group="gobject"/>
+</info>
+
+<title>GObject</title>
+
+</page>
diff --git a/platform-overview/C/gsettings.page b/platform-overview/C/gsettings.page
new file mode 100644
index 0000000..7a6c3d1
--- /dev/null
+++ b/platform-overview/C/gsettings.page
@@ -0,0 +1,10 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="gsettings">
+<info>
+  <link type="guide" xref="index" group="gsettings"/>
+</info>
+
+<title>GSettings</title>
+
+</page>
diff --git a/platform-overview/C/gstreamer.page b/platform-overview/C/gstreamer.page
new file mode 100644
index 0000000..4644349
--- /dev/null
+++ b/platform-overview/C/gstreamer.page
@@ -0,0 +1,53 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="gstreamer">
+<info>
+  <link type="guide" xref="index" group="gstreamer"/>
+  <desc>Plugin-based rich multimedia creation and delivery</desc>
+</info>
+
+<title>GStreamer</title>
+
+<p>GStreamer is a powerful multimedia library for playing, creating,
+and manipulating sound, video, and other media.  You can use GStreamer
+to provide sound and video playback, record input from multiple sources,
+and edit multimedia content.  GStreamer supports encoding and decoding
+numerous formats by default, and support for additional formats can be
+added with plug-ins.</p>
+
+<p>GStreamer provides a flexible architecture wherein media is
+processed through a pipeline of elements.  Each element may apply
+filters to the content, such as encoding or decoding, combining
+multiple sources, or transforming the multimedia content.  This
+architecture allows for an arbitrary arrangement of elements,
+so that you can accomplish virtually any effect using GStreamer.
+Furthermore, GStreamer is designed to have low overhead, so it
+can be used in applications with high demands on latency.</p>
+
+<p>While GStreamer provides a powerful API for manipulating
+multimedia, it also provides convenient routines for simple
+playback.  GStreamer can automatically construct a pipeline to
+read and playback files in any supported format, allowing you
+to use sound and video in your application easily.</p>
+
+<p>The GStreamer architecture allows plugins to add encoders,
+decoders, and all sorts of content filters.  Third-party developers
+can provide GStreamer plugins which will be automatically available
+to other applications using GStreamer.  Plugins can provide support
+for other multimedia formats or provide additional functionality
+and effects.</p>
+
+<p>You should use GStreamer whenever you need to read or play
+multimedia content in your application, or if your application
+needs to manipulate sound or video.  Using GStreamer makes your
+application development easy, and it provides you well-tested
+elements for many of your needs.</p>
+
+<p>For comprehensive information on GStreamer, see <link
+href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/index.html";>The
+GStreamer Application Development Manual</link>, <link
+href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/";>The
+GStreamer 0.10 Core Reference Manual</link>, and <link
+href="http://gstreamer.freedesktop.org/documentation/";>the
+GStreamer documentation page</link>.</p>
+</page>
diff --git a/platform-overview/C/gtk.page b/platform-overview/C/gtk.page
new file mode 100644
index 0000000..a798636
--- /dev/null
+++ b/platform-overview/C/gtk.page
@@ -0,0 +1,47 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="gtk">
+<info>
+  <link type="guide" xref="index" group="gtk"/>
+  <desc>Graphical interfaces and core application support</desc>
+  <revision pkgversion="3.0" date="2011-04-05" status="candidate"/>
+</info>
+
+<title>GTK+</title>
+
+<p>GTK+ is the primary library used to construct user interfaces
+in GNOME.  It provides all the user interface controls, or widgets,
+used in a common graphical application.  Its modern, object-oriented
+API allows you to construct attractive and sophisticated user
+interfaces without dealing with the low-level details of drawing and
+device interaction.</p>
+
+<p>In addition to basic widgets, such as buttons, check boxes,
+and text entries, GTK+ also provides powerful Model-View-Controller
+(MVC) APIs for tree views, multi-line text fields, and menu and
+toolbar actions.</p>
+
+<p>Widgets in GTK+ are placed on windows using a box-packing model.
+Programmers specify only how to pack widgets together in container
+boxes, rather than position them directly with absolute coordinates.
+GTK+ ensures that windows are sized correctly to fit their contents,
+and it automatically handles window resizing.</p>
+
+<p>Because GTK+ offers a flexible API, developing additional widgets
+for use in GTK+ applications is easy.  A number of third-party libraries
+exist which provide additional widgets, and many developers have created
+custom, special-purpose widgets for their applications.</p>
+
+<p>GTK+ handles the difficult details of user interfaces and user
+interaction, and provides a simple yet powerful API which allows you
+to focus on the details of your application.  Applications developed
+with GTK+ will automatically follow the user's theme and font settings,
+will interact properly with accessibility technologies, and will behave
+as users expect.</p>
+
+<list style="compact">
+  <item><p><link href="http://developer.gnome.org/gnome-devel-demos/stable/image-viewer.c.html";>GTK+ demo tutorial</link></p></item>
+  <item><p><link href="http://developer.gnome.org/gtk3/stable/";>GTK+ Reference Manual</link></p></item>
+  <item><p><link href="http://gtk.org/";>The GTK+ web site</link></p></item>
+</list>
+</page>
diff --git a/platform-overview/C/help.page b/platform-overview/C/help.page
new file mode 100644
index 0000000..b6008fd
--- /dev/null
+++ b/platform-overview/C/help.page
@@ -0,0 +1,31 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="help">
+<info>
+  <link type="guide" xref="index" group="apps"/>
+  <desc>Topic-oriented help system</desc>
+  <revision pkgversion="3.0" date="2011-04-05" status="final"/>
+</info>
+
+<title>Help</title>
+
+<p>Users sometimes need a little help, even with the best-designed
+applications. GNOME provides a built-in topic-oriented help system
+using the <link href="http://projectmallard.org/";>Mallard</link>
+markup language. Pioneered by GNOME developers, Mallard is an agile
+and dynamic language that helps you write and revise quickly. Its
+topic-oriented design means your users can find the answers they
+need without sifting through a manual. With its unique linking and
+organization system, Mallard is the only language designed to handle
+plugin and vendor help in one coherent document.</p>
+
+<p>When you do need linear manuals, GNOME also supports the
+industry-standard <link href="http://docbook.org/";>DocBook</link>
+format.</p>
+
+<list style="compact">
+  <item><p><link href="http://projectmallard.org/about/learn/tenminutes.html";>Ten Minute Mallard Tour</link></p></item>
+  <item><p><link href="http://projectmallard.org/";>The Mallard web site</link></p></item>
+  <item><p><link href="http://docbook.org/";>The DocBook web site</link></p></item>
+</list>
+</page>
diff --git a/platform-overview/C/index.page b/platform-overview/C/index.page
index 7620c82..f41e3aa 100644
--- a/platform-overview/C/index.page
+++ b/platform-overview/C/index.page
@@ -20,25 +20,46 @@
     <name>GNOME Foundation</name>
     <page xmlns="http://xmlns.com/foaf/0.1/";>http://foundation.gnome.org/</page>
   </credit>
-  <license>
-    <include href="cc-by-sa-3-0.xml" xmlns="http://www.w3.org/2001/XInclude"/>
-  </license>
+  <title type="link" role="trail">GNOME</title>
+  <include href="cc-by-sa-3-0.xml" xmlns="http://www.w3.org/2001/XInclude"/>
 </info>
 
 <title>Overview of the GNOME Platform</title>
-  <p>GNOME is a powerful but simple desktop environment with a strong focus
-  on usability, accessibility, and internationalization.  GNOME is designed to
-  be usable by everybody, regardless of technical expertise, disabilitites, or
-  native language.  GNOME makes it easy for people to use their computers.</p>
+<p>GNOME is a powerful but simple desktop environment with a strong focus
+on usability, accessibility, and internationalization.  GNOME is designed to
+be usable by everybody, regardless of technical expertise, disabilitites, or
+native language.  GNOME makes it easy for people to use their computers.</p>
 
-  <p>The GNOME platform provides a comprehensive development environment
-  for graphical applications and other software.  GNOME provides a
-  comprehensive developer platform that allow developers to create professional
-  software that is easy to use and aesthetically pleasing. Using the
-  technologies in GNOME, you can create high-quality software to meet and
-  exceed your users' expectations.   This document provides a high-level
-  overview of the GNOME platform along with links to detailed documentation
-  on each part of the platform.</p>
+<p>The GNOME platform provides a comprehensive development environment
+for graphical applications and other software.  GNOME provides a
+comprehensive developer platform that allow developers to create professional
+software that is easy to use and aesthetically pleasing. Using the
+technologies in GNOME, you can create high-quality software to meet and
+exceed your users' expectations.   This document provides a high-level
+overview of the GNOME platform along with links to detailed documentation
+on each part of the platform.</p>
+
+<links type="topic" style="toronto"
+       groups="gtk clutter webkit gstreamer">
+  <title>Graphics and Multimedia</title>
+</links>
+
+<links type="topic" style="toronto"
+       groups="gio gio-network gsettings d-bus soup">
+  <title>Core Application Support</title>
+</links>
+
+
+<links type="topic" style="toronto" groups="apps">
+  <title>Application Technologies</title>
+</links>
+
+<links type="topic" style="toronto"
+       groups="atk pango pulseaudio cairo gdk gobject glib">
+  <title>Under the Hood</title>
+</links>
+
+<links type="topic" style="toronto"/>
 
   <section id="introduction" style="2column">
     <info>
diff --git a/platform-overview/C/keyring.page b/platform-overview/C/keyring.page
new file mode 100644
index 0000000..6c19016
--- /dev/null
+++ b/platform-overview/C/keyring.page
@@ -0,0 +1,58 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="keyring">
+<info>
+  <link type="guide" xref="index" group="apps"/>
+  <desc>Secure storage for passwords and other data</desc>
+</info>
+
+<title>Keyring</title>
+
+<p>GNOME provides a modern and secure keyring manager to store users'
+passwords and other sensitive data.  Applications can use the keyring
+manager library to store and access passwords, and users can manage
+their passwords using GNOME's <app>Seahorse</app>
+application.</p>
+
+<p>The keyring manager provides any number of keyrings, where each
+keyring can contain any number of keyring items.  Items in a keyring
+store some piece of data, often a password.  Each keyring is locked
+individually, and users must provide a password to unlock the keyring.
+Once a keyring has been unlocked, the user has access to all of the
+items in that keyring.</p>
+
+<p>The keyring manager provides access control lists for each keyring
+item, controlling which applications are allowed access to that item.
+If an unknown application attempts to access a keyring item, the keyring
+manager will prompt the user to allow or deny that application access.
+This helps prevent malicious or poorly-written programs from accessing
+the user's sensitive data.</p>
+
+<p>Keyring data stored on the file system is encrypted with the AES
+block cipher, and SHA1 is used for hashes of the item's attributes.
+Using the attributes hash, the keyring manager is able to look up items
+requested by applications without ever unlocking the keyring.  The
+keyring has to be unlocked when a matching item is found and
+accessed.</p>
+
+<p>The keyring manager also provides a session keyring.  Items in
+the session keyring are never stored on disk, and are lost as soon as
+the user's session ends.  The session keyring can be used to store
+passwords to be used in the current session only.</p>
+
+<p>If you use GIO to access remote servers, you automatically
+get the benefits of the keyring manager.  Whenever GVFS needs to
+authenticate the user, it provides the option to store the password,
+either in the default keyring or in the session keyring.</p>
+
+<p>You should use the keyring manager whenever your application needs
+to store passwords or other sensitive data for users.  Using the keyring
+manager provides a better user experience while still keeping user data
+safe and secure.</p>
+
+<p>For API references please see the 
+<link href="http://library.gnome.org/devel/gnome-keyring/stable/";>gnome-keyring 
+Reference Manual</link> and the 
+<link href="http://library.gnome.org/devel/libseahorse/stable/";>libseahorse 
+Reference Manual</link>.</p>
+</page>
diff --git a/platform-overview/C/notify.page b/platform-overview/C/notify.page
new file mode 100644
index 0000000..d73ca08
--- /dev/null
+++ b/platform-overview/C/notify.page
@@ -0,0 +1,11 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="notify">
+<info>
+  <link type="guide" xref="index" group="apps"/>
+  <desc>Interactive notifications in the messaging tray</desc>
+</info>
+
+<title>Notify</title>
+
+</page>
diff --git a/platform-overview/C/packagekit.page b/platform-overview/C/packagekit.page
new file mode 100644
index 0000000..b668dc1
--- /dev/null
+++ b/platform-overview/C/packagekit.page
@@ -0,0 +1,10 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="packagekit">
+<info>
+  <link type="guide" xref="index" group="apps"/>
+</info>
+
+<title>PackageKit</title>
+
+</page>
diff --git a/platform-overview/C/pango.page b/platform-overview/C/pango.page
new file mode 100644
index 0000000..0399992
--- /dev/null
+++ b/platform-overview/C/pango.page
@@ -0,0 +1,58 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="pango">
+<info>
+  <link type="guide" xref="index" group="pango"/>
+  <desc>Fully internationalized text layout and rendering</desc>
+</info>
+
+<title>Pango</title>
+
+<p>Pango is the core text and font handling library in the GNOME
+platform.  It is responsible for laying out and rendering text, and
+is used throughout GTK+.</p>
+<note><p>The Pango layout engine can be used with different font
+backends and drawing backends.  On most GNOME systems, Pango
+will use FreeType, fontconfig, and Cairo to access fonts and
+render text.  On other systems, Pango will use the native font
+systems, such as Uniscribe on Microsoft Windows and ATSUI on
+MacOS</p></note>
+
+<p>Pango has extensive support for the various writing systems
+used throughout the world.  Many of the writing systems used for
+languages have complex rules for laying out glyphs and composing
+characters.  With Pango, nearly all languages can be written and
+displayed correctly, allowing users everywhere to view text in their
+native languages.  Pango support for multiple writing systems is
+automatic; application developers do not have to write any special
+code to support other languages.</p>
+
+<figure>
+  <title>Displaying Multiple Languages With Pango</title>
+  <desc>Screenshot of the <app>gedit</app>
+  text editor displaying phrases from multiple languages and writing
+  systems.</desc>
+  <media type="image" mime="image/png" src="figures/pango.png" ></media>
+</figure>
+
+<p>Pango supports the text styling used in typical documents
+and interfaces, including italics, font weights, and underlines.
+Pango uses a simple XML-like vocabulary called PangoMarkup which
+enables you to set font size, color, styles, and other text
+attributes.  Using PangoMarkup, you can specify inline styles
+without manually iterating over text blocks.  PangoMarkup can
+be used directly from GTK+, enabling you to style text in your
+graphical interfaces easily.</p>
+
+<p>You should use Pango directly whenever you need to lay
+text out on the screen or on a different medium.  Using Pango
+will allow your text layout to work seamlessly with GTK+ and
+the rest of the GNOME platform.  It will help you create
+portable code, and most importantly, it will ensure that your
+application can render text correctly in hundreds of different
+languages.</p>
+
+<p>For more information on Pango, see the
+<link href="http://library.gnome.org/devel/pango/stable/";>Pango
+Reference Manual</link>.</p>
+</page>
diff --git a/platform-overview/C/pulseaudio.page b/platform-overview/C/pulseaudio.page
new file mode 100644
index 0000000..65765dc
--- /dev/null
+++ b/platform-overview/C/pulseaudio.page
@@ -0,0 +1,10 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="pulseaudio">
+<info>
+  <link type="guide" xref="index" group="pulseaudio"/>
+</info>
+
+<title>PulseAudio</title>
+
+</page>
diff --git a/platform-overview/C/soup.page b/platform-overview/C/soup.page
new file mode 100644
index 0000000..3392e6f
--- /dev/null
+++ b/platform-overview/C/soup.page
@@ -0,0 +1,11 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="soup">
+<info>
+  <link type="guide" xref="index" group="soup"/>
+  <desc>Asynchronous HTTP library with cookies, SSL, and XML-RPC</desc>
+</info>
+
+<title>Soup</title>
+
+</page>
diff --git a/platform-overview/C/telepathy.page b/platform-overview/C/telepathy.page
new file mode 100644
index 0000000..728b01d
--- /dev/null
+++ b/platform-overview/C/telepathy.page
@@ -0,0 +1,11 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="telepathy">
+<info>
+  <link type="guide" xref="index" group="apps"/>
+  <desc>Unified and integrated contacts and instant messaging</desc>
+</info>
+
+<title>Telepathy</title>
+
+</page>
diff --git a/platform-overview/C/tracker.page b/platform-overview/C/tracker.page
new file mode 100644
index 0000000..870683b
--- /dev/null
+++ b/platform-overview/C/tracker.page
@@ -0,0 +1,11 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="tracker">
+<info>
+  <link type="guide" xref="index" group="apps"/>
+  <desc>Semantic data storage with RDF and SPARQL</desc>
+</info>
+
+<title>Tracker</title>
+
+</page>
diff --git a/platform-overview/C/webkit.page b/platform-overview/C/webkit.page
new file mode 100644
index 0000000..1de4a0a
--- /dev/null
+++ b/platform-overview/C/webkit.page
@@ -0,0 +1,29 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="webkit">
+<info>
+  <link type="guide" xref="index" group="webkit"/>
+  <desc>The power of HTML5 and the web in your application</desc>
+  <revision pkgversion="3.0" date="2011-04-05" status="incomplete"/>
+</info>
+
+<title>WebKit</title>
+
+<p>WebKit is a powerful, multi-platform HTML engine used in open
+source and commercial products. WebKitGTK+ is the port of WebKit
+built on <link xref="gtk">GTK+</link> and integrated into the
+GNOME developer platform. WebKitGTK+ is developed upstream as
+part of the main WebKit project, so it's always up to date with
+the latest HTML5 features.</p>
+
+<p>WebKitGTK+ makes it easy to add web functionality to your
+application, or to use HTML5 and associated technologies to
+create dynamic user interfaces quickly.</p>
+
+<list style="compact">
+  <item><p><link href="http://developer.gnome.org/gnome-devel-demos/stable/message-board.c.html";>WebKitGTK+ demo tuturoail</link></p></item>
+  <item><p><link href="http://webkitgtk.org/reference/index.html";>WebKitGTK+ Reference Manual</link></p></item>
+  <item><p><link href="http://webkitgtk.org/";>The WebKitGTK+ web site</link></p></item>
+</list>
+
+</page>



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