aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Bacher <seb128@ubuntu.com>2012-09-01 12:25:10 +0200
committerSebastien Bacher <seb128@ubuntu.com>2012-09-01 12:25:10 +0200
commitc8794795a7054eff4e21bbca52321195f2d8720c (patch)
tree3b091347bf0f422a3b84938fa5b14592f0ca1afd
parentd28296b69565793050e51717a89c84eeadd88dbc (diff)
parent998854d26580f3c9b001518cc7fcd283e41001f6 (diff)
downloadayatana-indicator-messages-c8794795a7054eff4e21bbca52321195f2d8720c.tar.gz
ayatana-indicator-messages-c8794795a7054eff4e21bbca52321195f2d8720c.tar.bz2
ayatana-indicator-messages-c8794795a7054eff4e21bbca52321195f2d8720c.zip
Import upstream version 12.10.2
-rw-r--r--ChangeLog35
-rw-r--r--Makefile.am6
-rw-r--r--Makefile.in10
-rw-r--r--NEWS12
-rwxr-xr-xconfigure31
-rw-r--r--configure.ac10
-rw-r--r--doc/Makefile.am1
-rw-r--r--doc/Makefile.in655
-rw-r--r--doc/reference/Makefile.am21
-rw-r--r--doc/reference/Makefile.in720
-rw-r--r--doc/reference/html/MessagingMenuApp.html1034
-rw-r--r--doc/reference/html/annotation-glossary.html36
-rw-r--r--doc/reference/html/api-index-full.html134
-rw-r--r--doc/reference/html/ch01.html33
-rw-r--r--doc/reference/html/deprecated-api-index.html31
-rw-r--r--doc/reference/html/home.pngbin0 -> 578 bytes
-rw-r--r--doc/reference/html/index.html37
-rw-r--r--doc/reference/html/index.sgml40
-rw-r--r--doc/reference/html/left.pngbin0 -> 373 bytes
-rw-r--r--doc/reference/html/messaging-menu.devhelp245
-rw-r--r--doc/reference/html/object-tree.html34
-rw-r--r--doc/reference/html/right.pngbin0 -> 380 bytes
-rw-r--r--doc/reference/html/style.css266
-rw-r--r--doc/reference/html/up.pngbin0 -> 291 bytes
-rw-r--r--doc/reference/messaging-menu-docs.xml38
-rw-r--r--doc/reference/messaging-menu-docs.xml.in38
-rw-r--r--doc/reference/messaging-menu-overrides.txt0
-rw-r--r--doc/reference/messaging-menu-sections.txt32
-rw-r--r--doc/reference/messaging-menu.types1
-rw-r--r--gtk-doc.make256
-rw-r--r--libmessaging-menu/messaging-menu.c356
-rw-r--r--libmessaging-menu/messaging-menu.h18
32 files changed, 3846 insertions, 84 deletions
diff --git a/ChangeLog b/ChangeLog
index 031849d..cabc7b3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,40 @@
# Generated by Makefile. Do not edit.
+2012-08-31 Lars Uebernickel <lars.uebernickel@canonical.com>
+
+ 12.10.2
+
+2012-08-31 Lars Uebernickel <lars.uebernickel@canonical.com>
+
+ libmessaging-menu: allow using multiple MessagingMenuApps
+
+ The dbus path was set to /com/canonical/indicator/messages for all
+ MessagingMenuApps that a process created. This patch adds the desktop id into
+ the path.
+
+2012-08-31 Lars Uebernickel <lars.uebernickel@canonical.com>
+
+ libmessaging-menu: allow changing label and icon of sources
+
+2012-08-29 Lars Uebernickel <lars.uebernickel@canonical.com>
+
+ libmessaging-menu: make real links out of urls in the documentation
+
+2012-08-29 Lars Uebernickel <lars.uebernickel@canonical.com>
+
+ Fix gtk-doc warnings
+
+2012-08-29 Lars Uebernickel <lars.uebernickel@canonical.com>
+
+ Add gtk-doc support
+
+2012-08-29 Lars Uebernickel <lars.uebernickel@canonical.com>
+
+ libmessaging-menu: add documentation
+
+ Adds an overview description of the messaging menu and documentation for
+ enums, properties, and signals.
+
2012-08-27 Lars Uebernickel <lars.uebernickel@canonical.com>
12.10.1
diff --git a/Makefile.am b/Makefile.am
index ef08e41..daeb2b7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -5,6 +5,10 @@ SUBDIRS = \
data \
po
+if ENABLE_GTK_DOC
+SUBDIRS += doc
+endif
+
if BUILD_TESTS
SUBDIRS += \
test
@@ -17,7 +21,7 @@ endif
-DISTCHECK_CONFIGURE_FLAGS = --enable-localinstall --enable-deprecations --enable-introspection
+DISTCHECK_CONFIGURE_FLAGS = --enable-localinstall --enable-deprecations --enable-introspection --enable-gtk-doc
dist-hook:
@if test -d "$(top_srcdir)/.bzr"; \
diff --git a/Makefile.in b/Makefile.in
index 51060cb..45488cf 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -52,7 +52,8 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-@BUILD_TESTS_TRUE@am__append_1 = \
+@ENABLE_GTK_DOC_TRUE@am__append_1 = doc
+@BUILD_TESTS_TRUE@am__append_2 = \
@BUILD_TESTS_TRUE@ test
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
@@ -99,7 +100,7 @@ AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
distdir dist dist-all distcheck
ETAGS = etags
CTAGS = ctags
-DIST_SUBDIRS = src libmessaging-menu data po test
+DIST_SUBDIRS = src libmessaging-menu data po doc test
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
@@ -325,8 +326,9 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-SUBDIRS = src libmessaging-menu data po $(am__append_1)
-DISTCHECK_CONFIGURE_FLAGS = --enable-localinstall --enable-deprecations --enable-introspection
+SUBDIRS = src libmessaging-menu data po $(am__append_1) \
+ $(am__append_2)
+DISTCHECK_CONFIGURE_FLAGS = --enable-localinstall --enable-deprecations --enable-introspection --enable-gtk-doc
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
diff --git a/NEWS b/NEWS
index 95444fd..32b926d 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,13 @@
-Overview of changes from 12.10.0 to 12.10.1
-===========================================
+
+12.10.2
+
+* libmessaging-menu:
+ - expand source documentation and add gtk-doc to the build system
+ - added new API: messaging_menu_app_set_source_{label,icon}
+ - fix bug: only one MessagingMenuApp was exported to the messaging menu
+
+
+12.10.1
* presence icons are shown again
* the icon is changed when a source draws attention
diff --git a/configure b/configure
index 5703e00..405b60c 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for indicator-messages 12.10.1.
+# Generated by GNU Autoconf 2.69 for indicator-messages 12.10.2.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -587,8 +587,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='indicator-messages'
PACKAGE_TARNAME='indicator-messages'
-PACKAGE_VERSION='12.10.1'
-PACKAGE_STRING='indicator-messages 12.10.1'
+PACKAGE_VERSION='12.10.2'
+PACKAGE_STRING='indicator-messages 12.10.2'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1448,7 +1448,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures indicator-messages 12.10.1 to adapt to many kinds of systems.
+\`configure' configures indicator-messages 12.10.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1519,7 +1519,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of indicator-messages 12.10.1:";;
+ short | recursive ) echo "Configuration of indicator-messages 12.10.2:";;
esac
cat <<\_ACEOF
@@ -1660,7 +1660,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-indicator-messages configure 12.10.1
+indicator-messages configure 12.10.2
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2233,7 +2233,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by indicator-messages $as_me 12.10.1, which was
+It was created by indicator-messages $as_me 12.10.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3053,7 +3053,7 @@ fi
# Define the identity of the package.
PACKAGE='indicator-messages'
- VERSION='12.10.1'
+ VERSION='12.10.2'
cat >>confdefs.h <<_ACEOF
@@ -18998,7 +18998,7 @@ $as_echo "$LINGUAS" >&6; }
# Files
###########################
-ac_config_files="$ac_config_files Makefile src/Makefile data/Makefile data/icons/Makefile data/icons/16x16/Makefile data/icons/16x16/status/Makefile data/icons/16x16/categories/Makefile data/icons/22x22/Makefile data/icons/22x22/status/Makefile data/icons/22x22/categories/Makefile data/icons/24x24/Makefile data/icons/24x24/status/Makefile data/icons/32x32/Makefile data/icons/32x32/status/Makefile data/icons/32x32/categories/Makefile data/icons/48x48/Makefile data/icons/48x48/status/Makefile data/icons/scalable/Makefile data/icons/scalable/status/Makefile data/icons/scalable/categories/Makefile po/Makefile.in test/Makefile libmessaging-menu/Makefile libmessaging-menu/messaging-menu.pc"
+ac_config_files="$ac_config_files Makefile src/Makefile data/Makefile data/icons/Makefile data/icons/16x16/Makefile data/icons/16x16/status/Makefile data/icons/16x16/categories/Makefile data/icons/22x22/Makefile data/icons/22x22/status/Makefile data/icons/22x22/categories/Makefile data/icons/24x24/Makefile data/icons/24x24/status/Makefile data/icons/32x32/Makefile data/icons/32x32/status/Makefile data/icons/32x32/categories/Makefile data/icons/48x48/Makefile data/icons/48x48/status/Makefile data/icons/scalable/Makefile data/icons/scalable/status/Makefile data/icons/scalable/categories/Makefile po/Makefile.in test/Makefile libmessaging-menu/Makefile libmessaging-menu/messaging-menu.pc doc/Makefile doc/reference/Makefile doc/reference/messaging-menu-docs.xml"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@@ -19578,7 +19578,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by indicator-messages $as_me 12.10.1, which was
+This file was extended by indicator-messages $as_me 12.10.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -19644,7 +19644,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-indicator-messages config.status 12.10.1
+indicator-messages config.status 12.10.2
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -20177,6 +20177,9 @@ do
"test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
"libmessaging-menu/Makefile") CONFIG_FILES="$CONFIG_FILES libmessaging-menu/Makefile" ;;
"libmessaging-menu/messaging-menu.pc") CONFIG_FILES="$CONFIG_FILES libmessaging-menu/messaging-menu.pc" ;;
+ "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+ "doc/reference/Makefile") CONFIG_FILES="$CONFIG_FILES doc/reference/Makefile" ;;
+ "doc/reference/messaging-menu-docs.xml") CONFIG_FILES="$CONFIG_FILES doc/reference/messaging-menu-docs.xml" ;;
"po/stamp-it") CONFIG_COMMANDS="$CONFIG_COMMANDS po/stamp-it" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
@@ -21739,7 +21742,8 @@ Messaging Indicator Configuration:
Indicator Dir: $INDICATORDIR
gtest: $enable_tests
gcov: $use_gcov
- introspecion: $enable_introspection
+ introspecion: $enable_introspection
+ documentation: $enable_gtk_doc
" >&5
$as_echo "$as_me:
@@ -21749,5 +21753,6 @@ Messaging Indicator Configuration:
Indicator Dir: $INDICATORDIR
gtest: $enable_tests
gcov: $use_gcov
- introspecion: $enable_introspection
+ introspecion: $enable_introspection
+ documentation: $enable_gtk_doc
" >&6;}
diff --git a/configure.ac b/configure.ac
index 4d3ef7a..37268a2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
-AC_INIT(indicator-messages, 12.10.1)
+AC_INIT(indicator-messages, 12.10.2)
AC_PREREQ(2.62)
@@ -57,7 +57,7 @@ AC_SUBST(APPLET_LIBS)
GLIB_GSETTINGS
-GTK_DOC_CHECK([1.18], [])
+GTK_DOC_CHECK([1.18], [--flavour no-tmpl])
GOBJECT_INTROSPECTION_CHECK([$INTROSPECTION_REQUIRED_VERSION])
@@ -178,6 +178,9 @@ po/Makefile.in
test/Makefile
libmessaging-menu/Makefile
libmessaging-menu/messaging-menu.pc
+doc/Makefile
+doc/reference/Makefile
+doc/reference/messaging-menu-docs.xml
])
###########################
@@ -192,5 +195,6 @@ Messaging Indicator Configuration:
Indicator Dir: $INDICATORDIR
gtest: $enable_tests
gcov: $use_gcov
- introspecion: $enable_introspection
+ introspecion: $enable_introspection
+ documentation: $enable_gtk_doc
])
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644
index 0000000..f3ddc22
--- /dev/null
+++ b/doc/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = reference
diff --git a/doc/Makefile.in b/doc/Makefile.in
new file mode 100644
index 0000000..cc002a6
--- /dev/null
+++ b/doc/Makefile.in
@@ -0,0 +1,655 @@
+# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = doc
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gcov.m4 \
+ $(top_srcdir)/m4/gtest.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+ALL_LINGUAS = @ALL_LINGUAS@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+APPLET_CFLAGS = @APPLET_CFLAGS@
+APPLET_LIBS = @APPLET_LIBS@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CATALOGS = @CATALOGS@
+CATOBJEXT = @CATOBJEXT@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+COVERAGE_CFLAGS = @COVERAGE_CFLAGS@
+COVERAGE_CXXFLAGS = @COVERAGE_CXXFLAGS@
+COVERAGE_LDFLAGS = @COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DATADIRNAME = @DATADIRNAME@
+DBUSSERVICEDIR = @DBUSSERVICEDIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOVR = @GCOVR@
+GENHTML = @GENHTML@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GIO_CFLAGS = @GIO_CFLAGS@
+GIO_LIBS = @GIO_LIBS@
+GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
+GMOFILES = @GMOFILES@
+GMSGFMT = @GMSGFMT@
+GNOMELOCALEDIR = @GNOMELOCALEDIR@
+GREP = @GREP@
+GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
+GTEST_CPPFLAGS = @GTEST_CPPFLAGS@
+GTEST_SOURCE = @GTEST_SOURCE@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+HTML_DIR = @HTML_DIR@
+INDICATORDIR = @INDICATORDIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INSTOBJEXT = @INSTOBJEXT@
+INTLLIBS = @INTLLIBS@
+INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
+INTLTOOL_MERGE = @INTLTOOL_MERGE@
+INTLTOOL_PERL = @INTLTOOL_PERL@
+INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
+INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@
+INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
+INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
+INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MKINSTALLDIRS = @MKINSTALLDIRS@
+MSGFMT = @MSGFMT@
+MSGFMT_OPTS = @MSGFMT_OPTS@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POFILES = @POFILES@
+POSUB = @POSUB@
+PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
+PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SHTOOL = @SHTOOL@
+STRIP = @STRIP@
+USE_NLS = @USE_NLS@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+gsettingsschemadir = @gsettingsschemadir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+intltool__v_merge_options_ = @intltool__v_merge_options_@
+intltool__v_merge_options_0 = @intltool__v_merge_options_0@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = reference
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu doc/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+ install-am install-strip tags-recursive
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am check check-am clean clean-generic clean-libtool \
+ ctags ctags-recursive distclean distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+ uninstall uninstall-am
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/doc/reference/Makefile.am b/doc/reference/Makefile.am
new file mode 100644
index 0000000..023f1e7
--- /dev/null
+++ b/doc/reference/Makefile.am
@@ -0,0 +1,21 @@
+DOC_MODULE = messaging-menu
+
+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
+
+DOC_SOURCE_DIR = $(top_srcdir)/libmessaging-menu
+
+SCANGOBJ_OPTIONS=--type-init-func="g_type_init()"
+MKDB_OPTIONS=--xml-mode --output-format=xml
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+HFILE_GLOB = $(top_srcdir)/libmessaging-menu/*.h
+CFILE_GLOB = $(top_srcdir)/libmessaging-menu/*.c
+
+IGNORE_HFILES= \
+ indicator-messages-service.h \
+ gtupleaction.h
+
+INCLUDES=-I$(top_srcdir)/libmessaging-menu $(GIO_CFLAGS)
+GTKDOC_LIBS=$(top_builddir)/libmessaging-menu/libmessaging-menu.la
+
+include $(top_srcdir)/gtk-doc.make
diff --git a/doc/reference/Makefile.in b/doc/reference/Makefile.in
new file mode 100644
index 0000000..eda7a81
--- /dev/null
+++ b/doc/reference/Makefile.in
@@ -0,0 +1,720 @@
+# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# -*- mode: makefile -*-
+
+####################################
+# Everything below here is generic #
+####################################
+VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(srcdir)/messaging-menu-docs.xml.in \
+ $(top_srcdir)/gtk-doc.make
+subdir = doc/reference
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gcov.m4 \
+ $(top_srcdir)/m4/gtest.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES = messaging-menu-docs.xml
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALL_LINGUAS = @ALL_LINGUAS@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+APPLET_CFLAGS = @APPLET_CFLAGS@
+APPLET_LIBS = @APPLET_LIBS@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CATALOGS = @CATALOGS@
+CATOBJEXT = @CATOBJEXT@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+COVERAGE_CFLAGS = @COVERAGE_CFLAGS@
+COVERAGE_CXXFLAGS = @COVERAGE_CXXFLAGS@
+COVERAGE_LDFLAGS = @COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DATADIRNAME = @DATADIRNAME@
+DBUSSERVICEDIR = @DBUSSERVICEDIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOVR = @GCOVR@
+GENHTML = @GENHTML@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GIO_CFLAGS = @GIO_CFLAGS@
+GIO_LIBS = @GIO_LIBS@
+GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
+GMOFILES = @GMOFILES@
+GMSGFMT = @GMSGFMT@
+GNOMELOCALEDIR = @GNOMELOCALEDIR@
+GREP = @GREP@
+GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
+GTEST_CPPFLAGS = @GTEST_CPPFLAGS@
+GTEST_SOURCE = @GTEST_SOURCE@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+HTML_DIR = @HTML_DIR@
+INDICATORDIR = @INDICATORDIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INSTOBJEXT = @INSTOBJEXT@
+INTLLIBS = @INTLLIBS@
+INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
+INTLTOOL_MERGE = @INTLTOOL_MERGE@
+INTLTOOL_PERL = @INTLTOOL_PERL@
+INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
+INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@
+INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
+INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
+INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MKINSTALLDIRS = @MKINSTALLDIRS@
+MSGFMT = @MSGFMT@
+MSGFMT_OPTS = @MSGFMT_OPTS@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POFILES = @POFILES@
+POSUB = @POSUB@
+PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
+PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SHTOOL = @SHTOOL@
+STRIP = @STRIP@
+USE_NLS = @USE_NLS@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+gsettingsschemadir = @gsettingsschemadir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+intltool__v_merge_options_ = @intltool__v_merge_options_@
+intltool__v_merge_options_0 = @intltool__v_merge_options_0@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+DOC_MODULE = messaging-menu
+DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml
+DOC_SOURCE_DIR = $(top_srcdir)/libmessaging-menu
+SCANGOBJ_OPTIONS = --type-init-func="g_type_init()"
+MKDB_OPTIONS = --xml-mode --output-format=xml
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+HFILE_GLOB = $(top_srcdir)/libmessaging-menu/*.h
+CFILE_GLOB = $(top_srcdir)/libmessaging-menu/*.c
+IGNORE_HFILES = \
+ indicator-messages-service.h \
+ gtupleaction.h
+
+INCLUDES = -I$(top_srcdir)/libmessaging-menu $(GIO_CFLAGS)
+GTKDOC_LIBS = $(top_builddir)/libmessaging-menu/libmessaging-menu.la
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN =
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+GPATH = $(srcdir)
+TARGET_DIR = $(HTML_DIR)/$(DOC_MODULE)
+SETUP_FILES = \
+ $(content_files) \
+ $(DOC_MAIN_SGML_FILE) \
+ $(DOC_MODULE)-sections.txt \
+ $(DOC_MODULE)-overrides.txt
+
+EXTRA_DIST = \
+ $(HTML_IMAGES) \
+ $(SETUP_FILES)
+
+DOC_STAMPS = setup-build.stamp scan-build.stamp sgml-build.stamp \
+ html-build.stamp pdf-build.stamp \
+ sgml.stamp html.stamp pdf.stamp
+
+SCANOBJ_FILES = \
+ $(DOC_MODULE).args \
+ $(DOC_MODULE).hierarchy \
+ $(DOC_MODULE).interfaces \
+ $(DOC_MODULE).prerequisites \
+ $(DOC_MODULE).signals
+
+REPORT_FILES = \
+ $(DOC_MODULE)-undocumented.txt \
+ $(DOC_MODULE)-undeclared.txt \
+ $(DOC_MODULE)-unused.txt
+
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_HTML_FALSE@HTML_BUILD_STAMP =
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_HTML_TRUE@HTML_BUILD_STAMP = html-build.stamp
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_PDF_FALSE@PDF_BUILD_STAMP =
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_PDF_TRUE@PDF_BUILD_STAMP = pdf-build.stamp
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/gtk-doc.make $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/reference/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu doc/reference/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+$(top_srcdir)/gtk-doc.make:
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+messaging-menu-docs.xml: $(top_builddir)/config.status $(srcdir)/messaging-menu-docs.xml.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$(top_distdir)" distdir="$(distdir)" \
+ dist-hook
+check-am: all-am
+check: check-am
+all-am: Makefile all-local
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-local
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-data-local
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic \
+ maintainer-clean-local
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-local
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am all-local check check-am clean clean-generic \
+ clean-libtool clean-local dist-hook distclean \
+ distclean-generic distclean-libtool distclean-local distdir \
+ dvi dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-data-local install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic \
+ maintainer-clean-local mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-local
+
+
+@ENABLE_GTK_DOC_TRUE@all-local: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+@ENABLE_GTK_DOC_FALSE@all-local:
+
+docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+
+$(REPORT_FILES): sgml-build.stamp
+
+#### setup ####
+
+setup-build.stamp:
+ -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ echo ' DOC Preparing build'; \
+ files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
+ if test "x$$files" != "x" ; then \
+ for file in $$files ; do \
+ test -f $(abs_srcdir)/$$file && \
+ cp -pu $(abs_srcdir)/$$file $(abs_builddir)/ || true; \
+ done; \
+ fi; \
+ fi
+ @touch setup-build.stamp
+
+#### scan ####
+
+scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
+ @echo ' DOC Scanning header files'
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)
+ @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
+ echo " DOC Introspecting gobjects"; \
+ scanobj_options=""; \
+ gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$(?)" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ scanobj_options="--verbose"; \
+ fi; \
+ fi; \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
+ gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \
+ else \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
+ fi
+ @touch scan-build.stamp
+
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
+ @true
+
+#### xml ####
+
+sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files)
+ @echo ' DOC Building XML'
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)
+ @touch sgml-build.stamp
+
+sgml.stamp: sgml-build.stamp
+ @true
+
+#### html ####
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @echo ' DOC Building HTML'
+ @rm -rf html
+ @mkdir html
+ @mkhtml_options=""; \
+ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$(?)" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ mkhtml_options="$$mkhtml_options --verbose"; \
+ fi; \
+ fi; \
+ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \
+ if test "$(?)" = "0"; then \
+ mkhtml_options="$$mkhtml_options --path=\"$(abs_srcdir)\""; \
+ fi; \
+ cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+ -@test "x$(HTML_IMAGES)" = "x" || \
+ for file in $(HTML_IMAGES) ; do \
+ if test -f $(abs_srcdir)/$$file ; then \
+ cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
+ fi; \
+ if test -f $(abs_builddir)/$$file ; then \
+ cp $(abs_builddir)/$$file $(abs_builddir)/html; \
+ fi; \
+ done;
+ @echo ' DOC Fixing cross-references'
+ @gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+ @touch html-build.stamp
+
+#### pdf ####
+
+pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @echo ' DOC Building PDF'
+ @rm -f $(DOC_MODULE).pdf
+ @mkpdf_options=""; \
+ gtkdoc-mkpdf 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$(?)" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ mkpdf_options="$$mkpdf_options --verbose"; \
+ fi; \
+ fi; \
+ if test "x$(HTML_IMAGES)" != "x"; then \
+ for img in $(HTML_IMAGES); do \
+ part=`dirname $$img`; \
+ echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
+ if test $$? != 0; then \
+ mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
+ fi; \
+ done; \
+ fi; \
+ gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)
+ @touch pdf-build.stamp
+
+##############
+
+clean-local:
+ @rm -f *~ *.bak
+ @rm -rf .libs
+
+distclean-local:
+ @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
+ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+ @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
+ fi
+
+maintainer-clean-local: clean
+ @rm -rf xml html
+
+install-data-local:
+ @installfiles=`echo $(builddir)/html/*`; \
+ if test "$$installfiles" = '$(builddir)/html/*'; \
+ then echo 1>&2 'Nothing to install' ; \
+ else \
+ if test -n "$(DOC_MODULE_VERSION)"; then \
+ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
+ else \
+ installdir="$(DESTDIR)$(TARGET_DIR)"; \
+ fi; \
+ $(mkinstalldirs) $${installdir} ; \
+ for i in $$installfiles; do \
+ echo ' $(INSTALL_DATA) '$$i ; \
+ $(INSTALL_DATA) $$i $${installdir}; \
+ done; \
+ if test -n "$(DOC_MODULE_VERSION)"; then \
+ mv -f $${installdir}/$(DOC_MODULE).devhelp2 \
+ $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \
+ fi; \
+ $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \
+ fi
+
+uninstall-local:
+ @if test -n "$(DOC_MODULE_VERSION)"; then \
+ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
+ else \
+ installdir="$(DESTDIR)$(TARGET_DIR)"; \
+ fi; \
+ rm -rf $${installdir}
+
+#
+# Require gtk-doc when making dist
+#
+@ENABLE_GTK_DOC_TRUE@dist-check-gtkdoc:
+@ENABLE_GTK_DOC_FALSE@dist-check-gtkdoc:
+@ENABLE_GTK_DOC_FALSE@ @echo "*** gtk-doc must be installed and enabled in order to make dist"
+@ENABLE_GTK_DOC_FALSE@ @false
+
+dist-hook: dist-check-gtkdoc dist-hook-local
+ @mkdir $(distdir)/html
+ @cp ./html/* $(distdir)/html
+ @-cp ./$(DOC_MODULE).pdf $(distdir)/
+ @-cp ./$(DOC_MODULE).types $(distdir)/
+ @-cp ./$(DOC_MODULE)-sections.txt $(distdir)/
+ @cd $(distdir) && rm -f $(DISTCLEANFILES)
+ @$(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html
+
+.PHONY : dist-hook-local docs
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/doc/reference/html/MessagingMenuApp.html b/doc/reference/html/MessagingMenuApp.html
new file mode 100644
index 0000000..e89bc0d
--- /dev/null
+++ b/doc/reference/html/MessagingMenuApp.html
@@ -0,0 +1,1034 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MessagingMenuApp</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="index.html" title="Messaging Menu Reference Manual">
+<link rel="up" href="ch01.html" title="API Reference">
+<link rel="prev" href="ch01.html" title="API Reference">
+<link rel="next" href="object-tree.html" title="Object Hierarchy">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="ch01.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<th width="100%" align="center">Messaging Menu Reference Manual</th>
+<td><a accesskey="n" href="object-tree.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#MessagingMenuApp.synopsis" class="shortcut">Top</a>
+  | 
+ <a href="#MessagingMenuApp.description" class="shortcut">Description</a>
+  | 
+ <a href="#MessagingMenuApp.object-hierarchy" class="shortcut">Object Hierarchy</a>
+  | 
+ <a href="#MessagingMenuApp.properties" class="shortcut">Properties</a>
+  | 
+ <a href="#MessagingMenuApp.signals" class="shortcut">Signals</a>
+</td></tr>
+</table>
+<div class="refentry">
+<a name="MessagingMenuApp"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MessagingMenuApp.top_of_page"></a>MessagingMenuApp</span></h2>
+<p>MessagingMenuApp — An application section in the messaging menu</p>
+</td>
+<td valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<a name="MessagingMenuApp.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis"> <a class="link" href="MessagingMenuApp.html#MessagingMenuApp-struct" title="MessagingMenuApp">MessagingMenuApp</a>;
+typedef <a class="link" href="MessagingMenuApp.html#MessagingMenuAppClass" title="MessagingMenuAppClass">MessagingMenuAppClass</a>;
+enum <a class="link" href="MessagingMenuApp.html#MessagingMenuStatus" title="enum MessagingMenuStatus">MessagingMenuStatus</a>;
+<span class="returnvalue">void</span> <a class="link" href="MessagingMenuApp.html#messaging-menu-app-append-source" title="messaging_menu_app_append_source ()">messaging_menu_app_append_source</a> (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GIcon.html"><span class="type">GIcon</span></a> *icon</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *label</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="MessagingMenuApp.html#messaging-menu-app-append-source-with-count" title="messaging_menu_app_append_source_with_count ()">messaging_menu_app_append_source_with_count</a>
+ (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GIcon.html"><span class="type">GIcon</span></a> *icon</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *label</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> count</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="MessagingMenuApp.html#messaging-menu-app-append-source-with-string" title="messaging_menu_app_append_source_with_string ()">messaging_menu_app_append_source_with_string</a>
+ (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GIcon.html"><span class="type">GIcon</span></a> *icon</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *label</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *str</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="MessagingMenuApp.html#messaging-menu-app-append-source-with-time" title="messaging_menu_app_append_source_with_time ()">messaging_menu_app_append_source_with_time</a>
+ (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GIcon.html"><span class="type">GIcon</span></a> *icon</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *label</code></em>,
+ <em class="parameter"><code><span class="type">gint64</span> time</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="MessagingMenuApp.html#messaging-menu-app-draw-attention" title="messaging_menu_app_draw_attention ()">messaging_menu_app_draw_attention</a> (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *source_id</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="MessagingMenuApp.html#messaging-menu-app-has-source" title="messaging_menu_app_has_source ()">messaging_menu_app_has_source</a> (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *source_id</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="MessagingMenuApp.html#messaging-menu-app-insert-source" title="messaging_menu_app_insert_source ()">messaging_menu_app_insert_source</a> (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> position</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GIcon.html"><span class="type">GIcon</span></a> *icon</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *label</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="MessagingMenuApp.html#messaging-menu-app-insert-source-with-count" title="messaging_menu_app_insert_source_with_count ()">messaging_menu_app_insert_source_with_count</a>
+ (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> position</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GIcon.html"><span class="type">GIcon</span></a> *icon</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *label</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> count</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="MessagingMenuApp.html#messaging-menu-app-insert-source-with-string" title="messaging_menu_app_insert_source_with_string ()">messaging_menu_app_insert_source_with_string</a>
+ (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> position</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GIcon.html"><span class="type">GIcon</span></a> *icon</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *label</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *str</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="MessagingMenuApp.html#messaging-menu-app-insert-source-with-time" title="messaging_menu_app_insert_source_with_time ()">messaging_menu_app_insert_source_with_time</a>
+ (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> position</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GIcon.html"><span class="type">GIcon</span></a> *icon</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *label</code></em>,
+ <em class="parameter"><code><span class="type">gint64</span> time</code></em>);
+<a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="returnvalue">MessagingMenuApp</span></a> * <a class="link" href="MessagingMenuApp.html#messaging-menu-app-new" title="messaging_menu_app_new ()">messaging_menu_app_new</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *desktop_id</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="MessagingMenuApp.html#messaging-menu-app-register" title="messaging_menu_app_register ()">messaging_menu_app_register</a> (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="MessagingMenuApp.html#messaging-menu-app-remove-attention" title="messaging_menu_app_remove_attention ()">messaging_menu_app_remove_attention</a> (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *source_id</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="MessagingMenuApp.html#messaging-menu-app-remove-source" title="messaging_menu_app_remove_source ()">messaging_menu_app_remove_source</a> (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *source_id</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="MessagingMenuApp.html#messaging-menu-app-set-source-count" title="messaging_menu_app_set_source_count ()">messaging_menu_app_set_source_count</a> (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *source_id</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> count</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="MessagingMenuApp.html#messaging-menu-app-set-source-string" title="messaging_menu_app_set_source_string ()">messaging_menu_app_set_source_string</a>
+ (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *source_id</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *str</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="MessagingMenuApp.html#messaging-menu-app-set-source-time" title="messaging_menu_app_set_source_time ()">messaging_menu_app_set_source_time</a> (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *source_id</code></em>,
+ <em class="parameter"><code><span class="type">gint64</span> time</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="MessagingMenuApp.html#messaging-menu-app-set-status" title="messaging_menu_app_set_status ()">messaging_menu_app_set_status</a> (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code><a class="link" href="MessagingMenuApp.html#MessagingMenuStatus" title="enum MessagingMenuStatus"><span class="type">MessagingMenuStatus</span></a> status</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="MessagingMenuApp.html#messaging-menu-app-unregister" title="messaging_menu_app_unregister ()">messaging_menu_app_unregister</a> (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>);
+</pre>
+</div>
+<div class="refsect1">
+<a name="MessagingMenuApp.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="synopsis">
+ <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+ +----MessagingMenuApp
+</pre>
+</div>
+<div class="refsect1">
+<a name="MessagingMenuApp.properties"></a><h2>Properties</h2>
+<pre class="synopsis">
+ "<a class="link" href="MessagingMenuApp.html#MessagingMenuApp--desktop-id" title='The "desktop-id" property'>desktop-id</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Write / Construct Only
+</pre>
+</div>
+<div class="refsect1">
+<a name="MessagingMenuApp.signals"></a><h2>Signals</h2>
+<pre class="synopsis">
+ "<a class="link" href="MessagingMenuApp.html#MessagingMenuApp-activate-source" title='The "activate-source" signal'>activate-source</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-DETAILED:CAPS"><code class="literal">Has Details</code></a>
+ "<a class="link" href="MessagingMenuApp.html#MessagingMenuApp-status-changed" title='The "status-changed" signal'>status-changed</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a>
+</pre>
+</div>
+<div class="refsect1">
+<a name="MessagingMenuApp.description"></a><h2>Description</h2>
+<p>
+A <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> represents an application section in the
+Messaging Menu. An application section is tied to an installed
+application through a desktop file id, which must be passed to
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-new" title="messaging_menu_app_new ()"><code class="function">messaging_menu_app_new()</code></a>.
+</p>
+<p>
+To register the appliction with the Messaging Menu, call
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-register" title="messaging_menu_app_register ()"><code class="function">messaging_menu_app_register()</code></a>. This signifies that the application
+should be present in the menu and be marked as "running".
+</p>
+<p>
+The first menu item in an application section represents the
+application itself, using the name and icon found in the associated
+desktop file. Activating this item starts the application.
+</p>
+<p>
+Following the application item, the Messaging Menu inserts all
+shortcuts actions found in the desktop file which are marked as
+appearing in the Messaging Menu (the TargetEnvironment or OnlyShowIn
+keywords contains "Messaging Menu"). The <a class="ulink" href="http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.1.html#extra-actions" target="_top">
+desktop file specification</a> contains a detailed explanation of
+shortcut actions [1]. An application cannot add, remove, or change
+these shortcut items while it is running.
+</p>
+<p>
+Next, an application section contains menu items for message sources.
+What exactly constitutes a message source depends on the type of
+application: an email client's message sources are folders
+containing new messages, while those of a chat program are persons
+that have contacted the user.
+</p>
+<p>
+A message source is represented in the menu by a label and optionally
+also an icon. It can be associated with either a count, a time, or
+an arbitrary string, which will appear on the right side of the menu
+item.
+</p>
+<p>
+When the user activates a source, the source is immediately removed
+from the menu and the "activate-source" signal is emitted.
+</p>
+<p>
+Applications should always expose all the message sources available.
+However, the Messaging Menu might limit the amount of sources it
+displays to the user.
+</p>
+<p>
+The Messaging Menu offers users a way to set their chat status
+(available, away, busy, invisible, or offline) for multiple
+applications at once. Applications that appear in the Messaging Menu
+can integrate with this by setting the
+"X-MessagingMenu-UsesChatSection" key in their desktop file to True.
+Use <a class="link" href="MessagingMenuApp.html#messaging-menu-app-set-status" title="messaging_menu_app_set_status ()"><code class="function">messaging_menu_app_set_status()</code></a> to signify that the application's
+chat status has changed. When the user changes status through the
+Messaging Menu, the ::status-changed signal will be emitted.
+</p>
+<p>
+If the application stops running without calling
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-unregister" title="messaging_menu_app_unregister ()"><code class="function">messaging_menu_app_unregister()</code></a>, it will be marked as "not running".
+Its application and shortcut items stay in the menu, but all message
+sources are removed. If <a class="link" href="MessagingMenuApp.html#messaging-menu-app-unregister" title="messaging_menu_app_unregister ()"><code class="function">messaging_menu_app_unregister()</code></a> is called,
+the application section is removed completely.
+</p>
+<p>
+More information about the design and recommended usage of the
+Messaging Menu is available at <a class="ulink" href="https://wiki.ubuntu.com/MessagingMenu" target="_top">https://wiki.ubuntu.com/MessagingMenu</a>.
+</p>
+</div>
+<div class="refsect1">
+<a name="MessagingMenuApp.details"></a><h2>Details</h2>
+<div class="refsect2">
+<a name="MessagingMenuApp-struct"></a><h3>MessagingMenuApp</h3>
+<pre class="programlisting">typedef struct _MessagingMenuApp MessagingMenuApp;</pre>
+<p>
+<a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> is an opaque structure.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MessagingMenuAppClass"></a><h3>MessagingMenuAppClass</h3>
+<pre class="programlisting">typedef GObjectClass MessagingMenuAppClass;
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MessagingMenuStatus"></a><h3>enum MessagingMenuStatus</h3>
+<pre class="programlisting">typedef enum {
+ MESSAGING_MENU_STATUS_AVAILABLE,
+ MESSAGING_MENU_STATUS_AWAY,
+ MESSAGING_MENU_STATUS_BUSY,
+ MESSAGING_MENU_STATUS_INVISIBLE,
+ MESSAGING_MENU_STATUS_OFFLINE
+} MessagingMenuStatus;
+</pre>
+<p>
+An enumeration for the possible chat statuses the messaging menu can be in.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><a name="MESSAGING-MENU-STATUS-AVAILABLE:CAPS"></a><span class="term"><code class="literal">MESSAGING_MENU_STATUS_AVAILABLE</code></span></p></td>
+<td>available
+</td>
+</tr>
+<tr>
+<td><p><a name="MESSAGING-MENU-STATUS-AWAY:CAPS"></a><span class="term"><code class="literal">MESSAGING_MENU_STATUS_AWAY</code></span></p></td>
+<td>away
+</td>
+</tr>
+<tr>
+<td><p><a name="MESSAGING-MENU-STATUS-BUSY:CAPS"></a><span class="term"><code class="literal">MESSAGING_MENU_STATUS_BUSY</code></span></p></td>
+<td>busy
+</td>
+</tr>
+<tr>
+<td><p><a name="MESSAGING-MENU-STATUS-INVISIBLE:CAPS"></a><span class="term"><code class="literal">MESSAGING_MENU_STATUS_INVISIBLE</code></span></p></td>
+<td>invisible
+</td>
+</tr>
+<tr>
+<td><p><a name="MESSAGING-MENU-STATUS-OFFLINE:CAPS"></a><span class="term"><code class="literal">MESSAGING_MENU_STATUS_OFFLINE</code></span></p></td>
+<td>offline
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="messaging-menu-app-append-source"></a><h3>messaging_menu_app_append_source ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> messaging_menu_app_append_source (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GIcon.html"><span class="type">GIcon</span></a> *icon</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *label</code></em>);</pre>
+<p>
+Appends a new message source to the end of the section representing <em class="parameter"><code>app</code></em>.
+Equivalent to calling <a class="link" href="MessagingMenuApp.html#messaging-menu-app-append-source-with-time" title="messaging_menu_app_append_source_with_time ()"><code class="function">messaging_menu_app_append_source_with_time()</code></a> with the
+current time.
+</p>
+<p>
+It is an error to add a source with an <em class="parameter"><code>id</code></em> which already exists. Use
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-has-source" title="messaging_menu_app_has_source ()"><code class="function">messaging_menu_app_has_source()</code></a> to find out whether there is such a source.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>app</code></em> :</span></p></td>
+<td>a <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
+<td>a unique identifier for the source to be added</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>icon</code></em> :</span></p></td>
+<td>the icon associated with the source. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>label</code></em> :</span></p></td>
+<td>a user-visible string best describing the source</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="messaging-menu-app-append-source-with-count"></a><h3>messaging_menu_app_append_source_with_count ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> messaging_menu_app_append_source_with_count
+ (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GIcon.html"><span class="type">GIcon</span></a> *icon</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *label</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> count</code></em>);</pre>
+<p>
+Appends a new message source to the end of the section representing <em class="parameter"><code>app</code></em> and
+initializes it with <em class="parameter"><code>count</code></em>.
+</p>
+<p>
+To update the count, use <a class="link" href="MessagingMenuApp.html#messaging-menu-app-set-source-count" title="messaging_menu_app_set_source_count ()"><code class="function">messaging_menu_app_set_source_count()</code></a>.
+</p>
+<p>
+It is an error to add a source with an <em class="parameter"><code>id</code></em> which already exists. Use
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-has-source" title="messaging_menu_app_has_source ()"><code class="function">messaging_menu_app_has_source()</code></a> to find out whether there is such a source.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>app</code></em> :</span></p></td>
+<td>a <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
+<td>a unique identifier for the source to be added</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>icon</code></em> :</span></p></td>
+<td>the icon associated with the source. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>label</code></em> :</span></p></td>
+<td>a user-visible string best describing the source</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>count</code></em> :</span></p></td>
+<td>the count for the source</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="messaging-menu-app-append-source-with-string"></a><h3>messaging_menu_app_append_source_with_string ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> messaging_menu_app_append_source_with_string
+ (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GIcon.html"><span class="type">GIcon</span></a> *icon</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *label</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *str</code></em>);</pre>
+<p>
+Appends a new message source to the end of the section representing <em class="parameter"><code>app</code></em> and
+initializes it with <em class="parameter"><code>str</code></em>.
+</p>
+<p>
+To update the string, use <a class="link" href="MessagingMenuApp.html#messaging-menu-app-set-source-string" title="messaging_menu_app_set_source_string ()"><code class="function">messaging_menu_app_set_source_string()</code></a>.
+</p>
+<p>
+It is an error to insert a source with an <em class="parameter"><code>id</code></em> which already exists. Use
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-has-source" title="messaging_menu_app_has_source ()"><code class="function">messaging_menu_app_has_source()</code></a> to find out whether there is such a source.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>app</code></em> :</span></p></td>
+<td>a <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
+<td>a unique identifier for the source to be added</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>icon</code></em> :</span></p></td>
+<td>the icon associated with the source. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>label</code></em> :</span></p></td>
+<td>a user-visible string best describing the source</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
+<td>a string associated with the source</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="messaging-menu-app-append-source-with-time"></a><h3>messaging_menu_app_append_source_with_time ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> messaging_menu_app_append_source_with_time
+ (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GIcon.html"><span class="type">GIcon</span></a> *icon</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *label</code></em>,
+ <em class="parameter"><code><span class="type">gint64</span> time</code></em>);</pre>
+<p>
+Appends a new message source to the end of the section representing <em class="parameter"><code>app</code></em> and
+initializes it with <em class="parameter"><code>time</code></em>.
+</p>
+<p>
+To change the time, use <a class="link" href="MessagingMenuApp.html#messaging-menu-app-set-source-time" title="messaging_menu_app_set_source_time ()"><code class="function">messaging_menu_app_set_source_time()</code></a>.
+</p>
+<p>
+It is an error to insert a source with an <em class="parameter"><code>id</code></em> which already exists. Use
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-has-source" title="messaging_menu_app_has_source ()"><code class="function">messaging_menu_app_has_source()</code></a> to find out whether there is such a source.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>app</code></em> :</span></p></td>
+<td>a <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
+<td>a unique identifier for the source to be added</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>icon</code></em> :</span></p></td>
+<td>the icon associated with the source. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>label</code></em> :</span></p></td>
+<td>a user-visible string best describing the source</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>time</code></em> :</span></p></td>
+<td>the time when the source was created</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="messaging-menu-app-draw-attention"></a><h3>messaging_menu_app_draw_attention ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> messaging_menu_app_draw_attention (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *source_id</code></em>);</pre>
+<p>
+Indicates that <em class="parameter"><code>source_id</code></em> has important unread messages. Currently, this
+means that the messaging menu's envelope icon will turn blue.
+</p>
+<p>
+Use <a class="link" href="MessagingMenuApp.html#messaging-menu-app-remove-attention" title="messaging_menu_app_remove_attention ()"><code class="function">messaging_menu_app_remove_attention()</code></a> to stop indicating that the source
+needs attention.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>app</code></em> :</span></p></td>
+<td>a <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>source_id</code></em> :</span></p></td>
+<td>a source id</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="messaging-menu-app-has-source"></a><h3>messaging_menu_app_has_source ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> messaging_menu_app_has_source (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *source_id</code></em>);</pre>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>app</code></em> :</span></p></td>
+<td>a <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>source_id</code></em> :</span></p></td>
+<td>a source id</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>TRUE if there is a source associated with <em class="parameter"><code>source_id</code></em>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="messaging-menu-app-insert-source"></a><h3>messaging_menu_app_insert_source ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> messaging_menu_app_insert_source (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> position</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GIcon.html"><span class="type">GIcon</span></a> *icon</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *label</code></em>);</pre>
+<p>
+Inserts a new message source into the section representing <em class="parameter"><code>app</code></em>. Equivalent
+to calling <a class="link" href="MessagingMenuApp.html#messaging-menu-app-insert-source-with-time" title="messaging_menu_app_insert_source_with_time ()"><code class="function">messaging_menu_app_insert_source_with_time()</code></a> with the current
+time.
+</p>
+<p>
+It is an error to insert a source with an <em class="parameter"><code>id</code></em> which already exists. Use
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-has-source" title="messaging_menu_app_has_source ()"><code class="function">messaging_menu_app_has_source()</code></a> to find out whether there is such a source.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>app</code></em> :</span></p></td>
+<td>a <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>position</code></em> :</span></p></td>
+<td>the position at which to insert the source</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
+<td>a unique identifier for the source to be added</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>icon</code></em> :</span></p></td>
+<td>the icon associated with the source</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>label</code></em> :</span></p></td>
+<td>a user-visible string best describing the source</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="messaging-menu-app-insert-source-with-count"></a><h3>messaging_menu_app_insert_source_with_count ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> messaging_menu_app_insert_source_with_count
+ (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> position</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GIcon.html"><span class="type">GIcon</span></a> *icon</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *label</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> count</code></em>);</pre>
+<p>
+Inserts a new message source into the section representing <em class="parameter"><code>app</code></em> and
+initializes it with <em class="parameter"><code>count</code></em>.
+</p>
+<p>
+To update the count, use <a class="link" href="MessagingMenuApp.html#messaging-menu-app-set-source-count" title="messaging_menu_app_set_source_count ()"><code class="function">messaging_menu_app_set_source_count()</code></a>.
+</p>
+<p>
+It is an error to insert a source with an <em class="parameter"><code>id</code></em> which already exists. Use
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-has-source" title="messaging_menu_app_has_source ()"><code class="function">messaging_menu_app_has_source()</code></a> to find out whether there is such a source.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>app</code></em> :</span></p></td>
+<td>a <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>position</code></em> :</span></p></td>
+<td>the position at which to insert the source</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
+<td>a unique identifier for the source to be added</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>icon</code></em> :</span></p></td>
+<td>the icon associated with the source. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>label</code></em> :</span></p></td>
+<td>a user-visible string best describing the source</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>count</code></em> :</span></p></td>
+<td>the count for the source</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="messaging-menu-app-insert-source-with-string"></a><h3>messaging_menu_app_insert_source_with_string ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> messaging_menu_app_insert_source_with_string
+ (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> position</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GIcon.html"><span class="type">GIcon</span></a> *icon</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *label</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *str</code></em>);</pre>
+<p>
+Inserts a new message source into the section representing <em class="parameter"><code>app</code></em> and
+initializes it with <em class="parameter"><code>str</code></em>.
+</p>
+<p>
+To update the string, use <a class="link" href="MessagingMenuApp.html#messaging-menu-app-set-source-string" title="messaging_menu_app_set_source_string ()"><code class="function">messaging_menu_app_set_source_string()</code></a>.
+</p>
+<p>
+It is an error to insert a source with an <em class="parameter"><code>id</code></em> which already exists. Use
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-has-source" title="messaging_menu_app_has_source ()"><code class="function">messaging_menu_app_has_source()</code></a> to find out whether there is such a source.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>app</code></em> :</span></p></td>
+<td>a <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>position</code></em> :</span></p></td>
+<td>the position at which to insert the source</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
+<td>a unique identifier for the source to be added</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>icon</code></em> :</span></p></td>
+<td>the icon associated with the source. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>label</code></em> :</span></p></td>
+<td>a user-visible string best describing the source</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
+<td>a string associated with the source</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="messaging-menu-app-insert-source-with-time"></a><h3>messaging_menu_app_insert_source_with_time ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> messaging_menu_app_insert_source_with_time
+ (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> position</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GIcon.html"><span class="type">GIcon</span></a> *icon</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *label</code></em>,
+ <em class="parameter"><code><span class="type">gint64</span> time</code></em>);</pre>
+<p>
+Inserts a new message source into the section representing <em class="parameter"><code>app</code></em> and
+initializes it with <em class="parameter"><code>time</code></em>.
+</p>
+<p>
+To change the time, use <a class="link" href="MessagingMenuApp.html#messaging-menu-app-set-source-time" title="messaging_menu_app_set_source_time ()"><code class="function">messaging_menu_app_set_source_time()</code></a>.
+</p>
+<p>
+It is an error to insert a source with an <em class="parameter"><code>id</code></em> which already exists. Use
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-has-source" title="messaging_menu_app_has_source ()"><code class="function">messaging_menu_app_has_source()</code></a> to find out whether there is such a source.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>app</code></em> :</span></p></td>
+<td>a <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>position</code></em> :</span></p></td>
+<td>the position at which to insert the source</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
+<td>a unique identifier for the source to be added</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>icon</code></em> :</span></p></td>
+<td>the icon associated with the source. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>label</code></em> :</span></p></td>
+<td>a user-visible string best describing the source</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>time</code></em> :</span></p></td>
+<td>the time when the source was created</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="messaging-menu-app-new"></a><h3>messaging_menu_app_new ()</h3>
+<pre class="programlisting"><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="returnvalue">MessagingMenuApp</span></a> * messaging_menu_app_new (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *desktop_id</code></em>);</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="messaging-menu-app-register"></a><h3>messaging_menu_app_register ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> messaging_menu_app_register (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>);</pre>
+<p>
+Registers <em class="parameter"><code>app</code></em> with the Messaging Menu.
+</p>
+<p>
+If the application doesn't already have a section in the Messaging
+Menu, one will be created for it. The application will also be
+marked as "running".
+</p>
+<p>
+The application will be marked as "not running" as soon as <em class="parameter"><code>app</code></em> is
+destroyed. The application launcher as well as shortcut actions will
+remain in the menu. To completely remove the application section
+from the Messaging Menu, call <a class="link" href="MessagingMenuApp.html#messaging-menu-app-unregister" title="messaging_menu_app_unregister ()"><code class="function">messaging_menu_app_unregister()</code></a>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><em class="parameter"><code>app</code></em> :</span></p></td>
+<td>a <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="messaging-menu-app-remove-attention"></a><h3>messaging_menu_app_remove_attention ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> messaging_menu_app_remove_attention (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *source_id</code></em>);</pre>
+<p>
+Stop indicating that <em class="parameter"><code>source_id</code></em> needs attention.
+</p>
+<p>
+This function does not need to be called when the source is removed
+with <a class="link" href="MessagingMenuApp.html#messaging-menu-app-remove-source" title="messaging_menu_app_remove_source ()"><code class="function">messaging_menu_app_remove_source()</code></a> or the user has activated the
+source.
+</p>
+<p>
+Use <a class="link" href="MessagingMenuApp.html#messaging-menu-app-draw-attention" title="messaging_menu_app_draw_attention ()"><code class="function">messaging_menu_app_draw_attention()</code></a> to make <em class="parameter"><code>source_id</code></em> draw attention
+again.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>app</code></em> :</span></p></td>
+<td>a <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>source_id</code></em> :</span></p></td>
+<td>a source id</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="messaging-menu-app-remove-source"></a><h3>messaging_menu_app_remove_source ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> messaging_menu_app_remove_source (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *source_id</code></em>);</pre>
+<p>
+Removes the source corresponding to <em class="parameter"><code>source_id</code></em> from the menu.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>app</code></em> :</span></p></td>
+<td>a <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>source_id</code></em> :</span></p></td>
+<td>the id of the source to remove</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="messaging-menu-app-set-source-count"></a><h3>messaging_menu_app_set_source_count ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> messaging_menu_app_set_source_count (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *source_id</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> count</code></em>);</pre>
+<p>
+Updates the count of <em class="parameter"><code>source_id</code></em> to <em class="parameter"><code>count</code></em>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>app</code></em> :</span></p></td>
+<td>a <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>source_id</code></em> :</span></p></td>
+<td>a source id</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>count</code></em> :</span></p></td>
+<td>the new count for the source</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="messaging-menu-app-set-source-string"></a><h3>messaging_menu_app_set_source_string ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> messaging_menu_app_set_source_string
+ (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *source_id</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *str</code></em>);</pre>
+<p>
+Updates the string displayed next to <em class="parameter"><code>source_id</code></em> to <em class="parameter"><code>str</code></em>.
+</p>
+<p>
+Note that the string is only displayed if the source does not also have a
+count or time associated with it.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>app</code></em> :</span></p></td>
+<td>a <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>source_id</code></em> :</span></p></td>
+<td>a source id</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
+<td>the new string for the source</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="messaging-menu-app-set-source-time"></a><h3>messaging_menu_app_set_source_time ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> messaging_menu_app_set_source_time (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *source_id</code></em>,
+ <em class="parameter"><code><span class="type">gint64</span> time</code></em>);</pre>
+<p>
+Updates the time of <em class="parameter"><code>source_id</code></em> to <em class="parameter"><code>time</code></em>.
+</p>
+<p>
+Note that the time is only displayed if the source does not also have a
+count associated with it.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>app</code></em> :</span></p></td>
+<td>a <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>source_id</code></em> :</span></p></td>
+<td>a source id</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>time</code></em> :</span></p></td>
+<td>the new time for the source</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="messaging-menu-app-set-status"></a><h3>messaging_menu_app_set_status ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> messaging_menu_app_set_status (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>,
+ <em class="parameter"><code><a class="link" href="MessagingMenuApp.html#MessagingMenuStatus" title="enum MessagingMenuStatus"><span class="type">MessagingMenuStatus</span></a> status</code></em>);</pre>
+<p>
+Notify the Messaging Menu that the chat status of <em class="parameter"><code>app</code></em> has changed to
+<em class="parameter"><code>status</code></em>.
+</p>
+<p>
+Connect to the ::status-changed signal to receive notification about
+the user changing their global chat status through the Messaging
+Menu.
+</p>
+<p>
+This function does nothing for applications whose desktop file does
+not include X-MessagingMenu-UsesChatSection.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>app</code></em> :</span></p></td>
+<td>a <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>status</code></em> :</span></p></td>
+<td>a <a class="link" href="MessagingMenuApp.html#MessagingMenuStatus" title="enum MessagingMenuStatus"><span class="type">MessagingMenuStatus</span></a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="messaging-menu-app-unregister"></a><h3>messaging_menu_app_unregister ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> messaging_menu_app_unregister (<em class="parameter"><code><a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *app</code></em>);</pre>
+<p>
+Completely removes the <em class="parameter"><code>app</code></em> from the Messaging Menu. If the
+application's launcher and shortcut actions should remain in the
+menu, destroying <em class="parameter"><code>app</code></em> with <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> suffices.
+</p>
+<p>
+Note: <em class="parameter"><code>app</code></em> will remain valid and usable after this call.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><em class="parameter"><code>app</code></em> :</span></p></td>
+<td>a <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MessagingMenuApp.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="MessagingMenuApp--desktop-id"></a><h3>The <code class="literal">"desktop-id"</code> property</h3>
+<pre class="programlisting"> "desktop-id" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Write / Construct Only</pre>
+<p>
+The desktop id of the application associated with this application
+section. Must be given when the <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> is created.
+</p>
+<p>Default value: NULL</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="MessagingMenuApp.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="MessagingMenuApp-activate-source"></a><h3>The <code class="literal">"activate-source"</code> signal</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *mmapp,
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *source_id,
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-DETAILED:CAPS"><code class="literal">Has Details</code></a></pre>
+<p>
+Emitted when the user has activated the message source with id
+<em class="parameter"><code>source_id</code></em>. The source is immediately removed from the menu,
+handlers of this signal do not need to call
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-remove-source" title="messaging_menu_app_remove_source ()"><code class="function">messaging_menu_app_remove_source()</code></a>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>mmapp</code></em> :</span></p></td>
+<td>the <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>source_id</code></em> :</span></p></td>
+<td>the source id that was activated</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
+<td>user data set when the signal handler was connected.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MessagingMenuApp-status-changed"></a><h3>The <code class="literal">"status-changed"</code> signal</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a> *mmapp,
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> status,
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a></pre>
+<p>
+Emitted when the chat status is changed through the messaging menu.
+</p>
+<p>
+Applications which are registered to use the chat status should
+change their status to <em class="parameter"><code>status</code></em> upon receiving this signal. Call
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-set-status" title="messaging_menu_app_set_status ()"><code class="function">messaging_menu_app_set_status()</code></a> to acknowledge that the application
+changed its status.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>mmapp</code></em> :</span></p></td>
+<td>the <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp"><span class="type">MessagingMenuApp</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>status</code></em> :</span></p></td>
+<td>a <a class="link" href="MessagingMenuApp.html#MessagingMenuStatus" title="enum MessagingMenuStatus"><span class="type">MessagingMenuStatus</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
+<td>user data set when the signal handler was connected.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/reference/html/annotation-glossary.html b/doc/reference/html/annotation-glossary.html
new file mode 100644
index 0000000..e682618
--- /dev/null
+++ b/doc/reference/html/annotation-glossary.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Annotation Glossary</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="index.html" title="Messaging Menu Reference Manual">
+<link rel="up" href="index.html" title="Messaging Menu Reference Manual">
+<link rel="prev" href="deprecated-api-index.html" title="Index of deprecated API">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="deprecated-api-index.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td> </td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<th width="100%" align="center">Messaging Menu Reference Manual</th>
+<td> </td>
+</tr>
+<tr><td colspan="5" class="shortcuts"><a class="shortcut" href="#glsA">A</a></td></tr>
+</table>
+<div class="glossary">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="annotation-glossary"></a>Annotation Glossary</h2></div></div></div>
+<a name="glsA"></a><h3 class="title">A</h3>
+<dt>
+<a name="annotation-glossterm-allow-none"></a>allow-none</dt>
+<dd><p>NULL is ok, both for passing and for returning.</p></dd>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/reference/html/api-index-full.html b/doc/reference/html/api-index-full.html
new file mode 100644
index 0000000..cc30f12
--- /dev/null
+++ b/doc/reference/html/api-index-full.html
@@ -0,0 +1,134 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>API Index</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="index.html" title="Messaging Menu Reference Manual">
+<link rel="up" href="index.html" title="Messaging Menu Reference Manual">
+<link rel="prev" href="object-tree.html" title="Object Hierarchy">
+<link rel="next" href="deprecated-api-index.html" title="Index of deprecated API">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="object-tree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td> </td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<th width="100%" align="center">Messaging Menu Reference Manual</th>
+<td><a accesskey="n" href="deprecated-api-index.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts"><a class="shortcut" href="#idxM">M</a></td></tr>
+</table>
+<div class="index">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="api-index-full"></a>API Index</h2></div></div></div>
+<a name="idx"></a><a name="idxM"></a><h3 class="title">M</h3>
+<dt>
+<a class="link" href="MessagingMenuApp.html#MessagingMenuApp-struct" title="MessagingMenuApp">MessagingMenuApp</a>, struct in <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp">MessagingMenuApp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MessagingMenuApp.html#MessagingMenuApp-activate-source" title='The "activate-source" signal'>MessagingMenuApp::activate-source</a>, object signal in <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp">MessagingMenuApp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MessagingMenuApp.html#MessagingMenuApp-status-changed" title='The "status-changed" signal'>MessagingMenuApp::status-changed</a>, object signal in <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp">MessagingMenuApp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MessagingMenuApp.html#MessagingMenuApp--desktop-id" title='The "desktop-id" property'>MessagingMenuApp:desktop-id</a>, object property in <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp">MessagingMenuApp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MessagingMenuApp.html#MessagingMenuAppClass" title="MessagingMenuAppClass">MessagingMenuAppClass</a>, typedef in <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp">MessagingMenuApp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MessagingMenuApp.html#MessagingMenuStatus" title="enum MessagingMenuStatus">MessagingMenuStatus</a>, enum in <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp">MessagingMenuApp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-append-source" title="messaging_menu_app_append_source ()">messaging_menu_app_append_source</a>, function in <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp">MessagingMenuApp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-append-source-with-count" title="messaging_menu_app_append_source_with_count ()">messaging_menu_app_append_source_with_count</a>, function in <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp">MessagingMenuApp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-append-source-with-string" title="messaging_menu_app_append_source_with_string ()">messaging_menu_app_append_source_with_string</a>, function in <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp">MessagingMenuApp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-append-source-with-time" title="messaging_menu_app_append_source_with_time ()">messaging_menu_app_append_source_with_time</a>, function in <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp">MessagingMenuApp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-draw-attention" title="messaging_menu_app_draw_attention ()">messaging_menu_app_draw_attention</a>, function in <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp">MessagingMenuApp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-has-source" title="messaging_menu_app_has_source ()">messaging_menu_app_has_source</a>, function in <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp">MessagingMenuApp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-insert-source" title="messaging_menu_app_insert_source ()">messaging_menu_app_insert_source</a>, function in <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp">MessagingMenuApp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-insert-source-with-count" title="messaging_menu_app_insert_source_with_count ()">messaging_menu_app_insert_source_with_count</a>, function in <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp">MessagingMenuApp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-insert-source-with-string" title="messaging_menu_app_insert_source_with_string ()">messaging_menu_app_insert_source_with_string</a>, function in <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp">MessagingMenuApp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-insert-source-with-time" title="messaging_menu_app_insert_source_with_time ()">messaging_menu_app_insert_source_with_time</a>, function in <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp">MessagingMenuApp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-new" title="messaging_menu_app_new ()">messaging_menu_app_new</a>, function in <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp">MessagingMenuApp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-register" title="messaging_menu_app_register ()">messaging_menu_app_register</a>, function in <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp">MessagingMenuApp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-remove-attention" title="messaging_menu_app_remove_attention ()">messaging_menu_app_remove_attention</a>, function in <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp">MessagingMenuApp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-remove-source" title="messaging_menu_app_remove_source ()">messaging_menu_app_remove_source</a>, function in <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp">MessagingMenuApp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-set-source-count" title="messaging_menu_app_set_source_count ()">messaging_menu_app_set_source_count</a>, function in <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp">MessagingMenuApp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-set-source-string" title="messaging_menu_app_set_source_string ()">messaging_menu_app_set_source_string</a>, function in <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp">MessagingMenuApp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-set-source-time" title="messaging_menu_app_set_source_time ()">messaging_menu_app_set_source_time</a>, function in <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp">MessagingMenuApp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-set-status" title="messaging_menu_app_set_status ()">messaging_menu_app_set_status</a>, function in <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp">MessagingMenuApp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MessagingMenuApp.html#messaging-menu-app-unregister" title="messaging_menu_app_unregister ()">messaging_menu_app_unregister</a>, function in <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp">MessagingMenuApp</a>
+</dt>
+<dd></dd>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/reference/html/ch01.html b/doc/reference/html/ch01.html
new file mode 100644
index 0000000..522cb09
--- /dev/null
+++ b/doc/reference/html/ch01.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>API Reference</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="index.html" title="Messaging Menu Reference Manual">
+<link rel="up" href="index.html" title="Messaging Menu Reference Manual">
+<link rel="prev" href="index.html" title="Messaging Menu Reference Manual">
+<link rel="next" href="MessagingMenuApp.html" title="MessagingMenuApp">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="index.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td> </td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<th width="100%" align="center">Messaging Menu Reference Manual</th>
+<td><a accesskey="n" href="MessagingMenuApp.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="idp3768560"></a>API Reference</h2></div></div></div>
+<div class="toc"><dl><dt>
+<span class="refentrytitle"><a href="MessagingMenuApp.html">MessagingMenuApp</a></span><span class="refpurpose"> — An application section in the messaging menu</span>
+</dt></dl></div>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/reference/html/deprecated-api-index.html b/doc/reference/html/deprecated-api-index.html
new file mode 100644
index 0000000..0ed9b1f
--- /dev/null
+++ b/doc/reference/html/deprecated-api-index.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Index of deprecated API</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="index.html" title="Messaging Menu Reference Manual">
+<link rel="up" href="index.html" title="Messaging Menu Reference Manual">
+<link rel="prev" href="api-index-full.html" title="API Index">
+<link rel="next" href="annotation-glossary.html" title="Annotation Glossary">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="api-index-full.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td> </td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<th width="100%" align="center">Messaging Menu Reference Manual</th>
+<td><a accesskey="n" href="annotation-glossary.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="index">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="deprecated-api-index"></a>Index of deprecated API</h2></div></div></div>
+<a name="idx"></a>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/reference/html/home.png b/doc/reference/html/home.png
new file mode 100644
index 0000000..fb60b55
--- /dev/null
+++ b/doc/reference/html/home.png
Binary files differ
diff --git a/doc/reference/html/index.html b/doc/reference/html/index.html
new file mode 100644
index 0000000..ae97e66
--- /dev/null
+++ b/doc/reference/html/index.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Messaging Menu Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="index.html" title="Messaging Menu Reference Manual">
+<link rel="next" href="ch01.html" title="API Reference">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div lang="en" class="book">
+<div class="titlepage">
+<div>
+<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">Messaging Menu Reference Manual</p></th></tr></table></div>
+<div><p class="releaseinfo">for libmessaging-menu 12.10.2</p></div>
+<div><p class="copyright">Copyright © 2012 Canonical Ltd.</p></div>
+</div>
+<hr>
+</div>
+<div class="toc"><dl>
+<dt><span class="chapter"><a href="ch01.html">API Reference</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="MessagingMenuApp.html">MessagingMenuApp</a></span><span class="refpurpose"> — An application section in the messaging menu</span>
+</dt></dl></dd>
+<dt><span class="chapter"><a href="object-tree.html">Object Hierarchy</a></span></dt>
+<dt><span class="index"><a href="api-index-full.html">API Index</a></span></dt>
+<dt><span class="index"><a href="deprecated-api-index.html">Index of deprecated API</a></span></dt>
+<dt><span class="glossary"><a href="annotation-glossary.html">Annotation Glossary</a></span></dt>
+</dl></div>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/reference/html/index.sgml b/doc/reference/html/index.sgml
new file mode 100644
index 0000000..b0cca07
--- /dev/null
+++ b/doc/reference/html/index.sgml
@@ -0,0 +1,40 @@
+<ANCHOR id="MessagingMenuApp" href="messaging-menu/MessagingMenuApp.html">
+<ANCHOR id="MessagingMenuApp.synopsis" href="messaging-menu/MessagingMenuApp.html#MessagingMenuApp.synopsis">
+<ANCHOR id="MessagingMenuApp.object-hierarchy" href="messaging-menu/MessagingMenuApp.html#MessagingMenuApp.object-hierarchy">
+<ANCHOR id="MessagingMenuApp.properties" href="messaging-menu/MessagingMenuApp.html#MessagingMenuApp.properties">
+<ANCHOR id="MessagingMenuApp.signals" href="messaging-menu/MessagingMenuApp.html#MessagingMenuApp.signals">
+<ANCHOR id="MessagingMenuApp.description" href="messaging-menu/MessagingMenuApp.html#MessagingMenuApp.description">
+<ANCHOR id="MessagingMenuApp.details" href="messaging-menu/MessagingMenuApp.html#MessagingMenuApp.details">
+<ANCHOR id="MessagingMenuApp-struct" href="messaging-menu/MessagingMenuApp.html#MessagingMenuApp-struct">
+<ANCHOR id="MessagingMenuAppClass" href="messaging-menu/MessagingMenuApp.html#MessagingMenuAppClass">
+<ANCHOR id="MessagingMenuStatus" href="messaging-menu/MessagingMenuApp.html#MessagingMenuStatus">
+<ANCHOR id="MESSAGING-MENU-STATUS-AVAILABLE:CAPS" href="messaging-menu/MessagingMenuApp.html#MESSAGING-MENU-STATUS-AVAILABLE:CAPS">
+<ANCHOR id="MESSAGING-MENU-STATUS-AWAY:CAPS" href="messaging-menu/MessagingMenuApp.html#MESSAGING-MENU-STATUS-AWAY:CAPS">
+<ANCHOR id="MESSAGING-MENU-STATUS-BUSY:CAPS" href="messaging-menu/MessagingMenuApp.html#MESSAGING-MENU-STATUS-BUSY:CAPS">
+<ANCHOR id="MESSAGING-MENU-STATUS-INVISIBLE:CAPS" href="messaging-menu/MessagingMenuApp.html#MESSAGING-MENU-STATUS-INVISIBLE:CAPS">
+<ANCHOR id="MESSAGING-MENU-STATUS-OFFLINE:CAPS" href="messaging-menu/MessagingMenuApp.html#MESSAGING-MENU-STATUS-OFFLINE:CAPS">
+<ANCHOR id="messaging-menu-app-append-source" href="messaging-menu/MessagingMenuApp.html#messaging-menu-app-append-source">
+<ANCHOR id="messaging-menu-app-append-source-with-count" href="messaging-menu/MessagingMenuApp.html#messaging-menu-app-append-source-with-count">
+<ANCHOR id="messaging-menu-app-append-source-with-string" href="messaging-menu/MessagingMenuApp.html#messaging-menu-app-append-source-with-string">
+<ANCHOR id="messaging-menu-app-append-source-with-time" href="messaging-menu/MessagingMenuApp.html#messaging-menu-app-append-source-with-time">
+<ANCHOR id="messaging-menu-app-draw-attention" href="messaging-menu/MessagingMenuApp.html#messaging-menu-app-draw-attention">
+<ANCHOR id="messaging-menu-app-has-source" href="messaging-menu/MessagingMenuApp.html#messaging-menu-app-has-source">
+<ANCHOR id="messaging-menu-app-insert-source" href="messaging-menu/MessagingMenuApp.html#messaging-menu-app-insert-source">
+<ANCHOR id="messaging-menu-app-insert-source-with-count" href="messaging-menu/MessagingMenuApp.html#messaging-menu-app-insert-source-with-count">
+<ANCHOR id="messaging-menu-app-insert-source-with-string" href="messaging-menu/MessagingMenuApp.html#messaging-menu-app-insert-source-with-string">
+<ANCHOR id="messaging-menu-app-insert-source-with-time" href="messaging-menu/MessagingMenuApp.html#messaging-menu-app-insert-source-with-time">
+<ANCHOR id="messaging-menu-app-new" href="messaging-menu/MessagingMenuApp.html#messaging-menu-app-new">
+<ANCHOR id="messaging-menu-app-register" href="messaging-menu/MessagingMenuApp.html#messaging-menu-app-register">
+<ANCHOR id="messaging-menu-app-remove-attention" href="messaging-menu/MessagingMenuApp.html#messaging-menu-app-remove-attention">
+<ANCHOR id="messaging-menu-app-remove-source" href="messaging-menu/MessagingMenuApp.html#messaging-menu-app-remove-source">
+<ANCHOR id="messaging-menu-app-set-source-count" href="messaging-menu/MessagingMenuApp.html#messaging-menu-app-set-source-count">
+<ANCHOR id="messaging-menu-app-set-source-string" href="messaging-menu/MessagingMenuApp.html#messaging-menu-app-set-source-string">
+<ANCHOR id="messaging-menu-app-set-source-time" href="messaging-menu/MessagingMenuApp.html#messaging-menu-app-set-source-time">
+<ANCHOR id="messaging-menu-app-set-status" href="messaging-menu/MessagingMenuApp.html#messaging-menu-app-set-status">
+<ANCHOR id="messaging-menu-app-unregister" href="messaging-menu/MessagingMenuApp.html#messaging-menu-app-unregister">
+<ANCHOR id="MessagingMenuApp.property-details" href="messaging-menu/MessagingMenuApp.html#MessagingMenuApp.property-details">
+<ANCHOR id="MessagingMenuApp--desktop-id" href="messaging-menu/MessagingMenuApp.html#MessagingMenuApp--desktop-id">
+<ANCHOR id="MessagingMenuApp.signal-details" href="messaging-menu/MessagingMenuApp.html#MessagingMenuApp.signal-details">
+<ANCHOR id="MessagingMenuApp-activate-source" href="messaging-menu/MessagingMenuApp.html#MessagingMenuApp-activate-source">
+<ANCHOR id="MessagingMenuApp-status-changed" href="messaging-menu/MessagingMenuApp.html#MessagingMenuApp-status-changed">
+<ANCHOR id="annotation-glossterm-allow-none" href="messaging-menu/annotation-glossary.html#annotation-glossterm-allow-none">
diff --git a/doc/reference/html/left.png b/doc/reference/html/left.png
new file mode 100644
index 0000000..48cab27
--- /dev/null
+++ b/doc/reference/html/left.png
Binary files differ
diff --git a/doc/reference/html/messaging-menu.devhelp2 b/doc/reference/html/messaging-menu.devhelp2
new file mode 100644
index 0000000..cae08fc
--- /dev/null
+++ b/doc/reference/html/messaging-menu.devhelp2
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE book PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
+<book xmlns="http://www.devhelp.net/book" title="Messaging Menu Reference Manual" link="index.html" author="" name="messaging-menu" version="2" language="c">
+ <chapters>
+ <sub name="API Reference" link="ch01.html">
+ <sub name="MessagingMenuApp" link="MessagingMenuApp.html"/>
+ </sub>
+ <sub name="Object Hierarchy" link="object-tree.html"/>
+ <sub name="API Index" link="api-index-full.html"/>
+ <sub name="Index of deprecated API" link="deprecated-api-index.html"/>
+ <sub name="Annotation Glossary" link="annotation-glossary.html"/>
+ </chapters>
+ <functions>
+ <keyword type="struct" name="MessagingMenuApp" link="MessagingMenuApp.html#MessagingMenuApp-struct"/>
+ <keyword type="typedef" name="MessagingMenuAppClass" link="MessagingMenuApp.html#MessagingMenuAppClass"/>
+ <keyword type="enum" name="enum MessagingMenuStatus" link="MessagingMenuApp.html#MessagingMenuStatus"/>
+ <keyword type="function" name="messaging_menu_app_append_source ()" link="MessagingMenuApp.html#messaging-menu-app-append-source"/>
+ <keyword type="function" name="messaging_menu_app_append_source_with_count ()" link="MessagingMenuApp.html#messaging-menu-app-append-source-with-count"/>
+ <keyword type="function" name="messaging_menu_app_append_source_with_string ()" link="MessagingMenuApp.html#messaging-menu-app-append-source-with-string"/>
+ <keyword type="function" name="messaging_menu_app_append_source_with_time ()" link="MessagingMenuApp.html#messaging-menu-app-append-source-with-time"/>
+ <keyword type="function" name="messaging_menu_app_draw_attention ()" link="MessagingMenuApp.html#messaging-menu-app-draw-attention"/>
+ <keyword type="function" name="messaging_menu_app_has_source ()" link="MessagingMenuApp.html#messaging-menu-app-has-source"/>
+ <keyword type="function" name="messaging_menu_app_insert_source ()" link="MessagingMenuApp.html#messaging-menu-app-insert-source"/>
+ <keyword type="function" name="messaging_menu_app_insert_source_with_count ()" link="MessagingMenuApp.html#messaging-menu-app-insert-source-with-count"/>
+ <keyword type="function" name="messaging_menu_app_insert_source_with_string ()" link="MessagingMenuApp.html#messaging-menu-app-insert-source-with-string"/>
+ <keyword type="function" name="messaging_menu_app_insert_source_with_time ()" link="MessagingMenuApp.html#messaging-menu-app-insert-source-with-time"/>
+ <keyword type="function" name="messaging_menu_app_new ()" link="MessagingMenuApp.html#messaging-menu-app-new"/>
+ <keyword type="function" name="messaging_menu_app_register ()" link="MessagingMenuApp.html#messaging-menu-app-register"/>
+ <keyword type="function" name="messaging_menu_app_remove_attention ()" link="MessagingMenuApp.html#messaging-menu-app-remove-attention"/>
+ <keyword type="function" name="messaging_menu_app_remove_source ()" link="MessagingMenuApp.html#messaging-menu-app-remove-source"/>
+ <keyword type="function" name="messaging_menu_app_set_source_count ()" link="MessagingMenuApp.html#messaging-menu-app-set-source-count"/>
+ <keyword type="function" name="messaging_menu_app_set_source_string ()" link="MessagingMenuApp.html#messaging-menu-app-set-source-string"/>
+ <keyword type="function" name="messaging_menu_app_set_source_time ()" link="MessagingMenuApp.html#messaging-menu-app-set-source-time"/>
+ <keyword type="function" name="messaging_menu_app_set_status ()" link="MessagingMenuApp.html#messaging-menu-app-set-status"/>
+ <keyword type="function" name="messaging_menu_app_unregister ()" link="MessagingMenuApp.html#messaging-menu-app-unregister"/>
+ <keyword type="property" name="The &quot;desktop-id&quot; property" link="MessagingMenuApp.html#MessagingMenuApp--desktop-id"/>
+ <keyword type="signal" name="The &quot;activate-source&quot; signal" link="MessagingMenuApp.html#MessagingMenuApp-activate-source"/>
+ <keyword type="signal" name="The &quot;status-changed&quot; signal" link="MessagingMenuApp.html#MessagingMenuApp-status-changed"/>
+ <keyword type="constant" name="MESSAGING_MENU_STATUS_AVAILABLE" link="MessagingMenuApp.html#MESSAGING-MENU-STATUS-AVAILABLE:CAPS"/>
+ <keyword type="constant" name="MESSAGING_MENU_STATUS_AWAY" link="MessagingMenuApp.html#MESSAGING-MENU-STATUS-AWAY:CAPS"/>
+ <keyword type="constant" name="MESSAGING_MENU_STATUS_BUSY" link="MessagingMenuApp.html#MESSAGING-MENU-STATUS-BUSY:CAPS"/>
+ <keyword type="constant" name="MESSAGING_MENU_STATUS_INVISIBLE" link="MessagingMenuApp.html#MESSAGING-MENU-STATUS-INVISIBLE:CAPS"/>
+ <keyword type="constant" name="MESSAGING_MENU_STATUS_OFFLINE" link="MessagingMenuApp.html#MESSAGING-MENU-STATUS-OFFLINE:CAPS"/>
+ </functions>
+</book>
diff --git a/doc/reference/html/object-tree.html b/doc/reference/html/object-tree.html
new file mode 100644
index 0000000..92006c1
--- /dev/null
+++ b/doc/reference/html/object-tree.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Object Hierarchy</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="index.html" title="Messaging Menu Reference Manual">
+<link rel="up" href="index.html" title="Messaging Menu Reference Manual">
+<link rel="prev" href="MessagingMenuApp.html" title="MessagingMenuApp">
+<link rel="next" href="api-index-full.html" title="API Index">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="MessagingMenuApp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td> </td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<th width="100%" align="center">Messaging Menu Reference Manual</th>
+<td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="object-tree"></a>Object Hierarchy</h2></div></div></div>
+<pre class="screen">
+ <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+ <a class="link" href="MessagingMenuApp.html" title="MessagingMenuApp">MessagingMenuApp</a>
+</pre>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/reference/html/right.png b/doc/reference/html/right.png
new file mode 100644
index 0000000..ed55207
--- /dev/null
+++ b/doc/reference/html/right.png
Binary files differ
diff --git a/doc/reference/html/style.css b/doc/reference/html/style.css
new file mode 100644
index 0000000..d6f6c26
--- /dev/null
+++ b/doc/reference/html/style.css
@@ -0,0 +1,266 @@
+.synopsis, .classsynopsis
+{
+ /* tango:aluminium 1/2 */
+ background: #eeeeec;
+ border: solid 1px #d3d7cf;
+ padding: 0.5em;
+}
+.programlisting
+{
+ /* tango:sky blue 0/1 */
+ background: #e6f3ff;
+ border: solid 1px #729fcf;
+ padding: 0.5em;
+}
+.variablelist
+{
+ padding: 4px;
+ margin-left: 3em;
+}
+.variablelist td:first-child
+{
+ vertical-align: top;
+}
+
+@media screen {
+ sup a.footnote
+ {
+ position: relative;
+ top: 0em ! important;
+
+ }
+ /* this is needed so that the local anchors are displayed below the naviagtion */
+ div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name]
+ {
+ display: inline-block;
+ position: relative;
+ top:-5em;
+ }
+ /* this seems to be a bug in the xsl style sheets when generating indexes */
+ div.index div.index
+ {
+ top: 0em;
+ }
+ /* make space for the fixed navigation bar and add space at the bottom so that
+ * link targets appear somewhat close to top
+ */
+ body
+ {
+ padding-top: 3.2em;
+ padding-bottom: 20em;
+ }
+ /* style and size the navigation bar */
+ table.navigation#top
+ {
+ position: fixed;
+ /* tango:scarlet red 0/1 */
+ background: #ffe6e6;
+ border: solid 1px #ef2929;
+ margin-top: 0;
+ margin-bottom: 0;
+ top: 0;
+ left: 0;
+ height: 3em;
+ z-index: 10;
+ }
+ .navigation a, .navigation a:visited
+ {
+ /* tango:scarlet red 3 */
+ color: #a40000;
+ }
+ .navigation a:hover
+ {
+ /* tango:scarlet red 1 */
+ color: #ef2929;
+ }
+ td.shortcuts
+ {
+ /* tango:scarlet red 1 */
+ color: #ef2929;
+ font-size: 80%;
+ white-space: nowrap;
+ }
+}
+@media print {
+ table.navigation {
+ visibility: collapse;
+ display: none;
+ }
+ div.titlepage table.navigation {
+ visibility: visible;
+ display: table;
+ /* tango:scarlet red 0/1 */
+ background: #ffe6e6;
+ border: solid 1px #ef2929;
+ margin-top: 0;
+ margin-bottom: 0;
+ top: 0;
+ left: 0;
+ height: 3em;
+ }
+}
+
+.navigation .title
+{
+ font-size: 200%;
+}
+
+div.gallery-float
+{
+ float: left;
+ padding: 10px;
+}
+div.gallery-float img
+{
+ border-style: none;
+}
+div.gallery-spacer
+{
+ clear: both;
+}
+
+a, a:visited
+{
+ text-decoration: none;
+ /* tango:sky blue 2 */
+ color: #3465a4;
+}
+a:hover
+{
+ text-decoration: underline;
+ /* tango:sky blue 1 */
+ color: #729fcf;
+}
+
+div.table table
+{
+ border-collapse: collapse;
+ border-spacing: 0px;
+ /* tango:aluminium 3 */
+ border: solid 1px #babdb6;
+}
+
+div.table table td, div.table table th
+{
+ /* tango:aluminium 3 */
+ border: solid 1px #babdb6;
+ padding: 3px;
+ vertical-align: top;
+}
+
+div.table table th
+{
+ /* tango:aluminium 2 */
+ background-color: #d3d7cf;
+}
+
+hr
+{
+ /* tango:aluminium 3 */
+ color: #babdb6;
+ background: #babdb6;
+ border: none 0px;
+ height: 1px;
+ clear: both;
+}
+
+.footer
+{
+ padding-top: 3.5em;
+ /* tango:aluminium 3 */
+ color: #babdb6;
+ text-align: center;
+ font-size: 80%;
+}
+
+.warning
+{
+ /* tango:orange 0/1 */
+ background: #ffeed9;
+ border-color: #ffb04f;
+}
+.note
+{
+ /* tango:chameleon 0/0.5 */
+ background: #d8ffb2;
+ border-color: #abf562;
+}
+.note, .warning
+{
+ padding: 0.5em;
+ border-width: 1px;
+ border-style: solid;
+}
+.note h3, .warning h3
+{
+ margin-top: 0.0em
+}
+.note p, .warning p
+{
+ margin-bottom: 0.0em
+}
+
+/* blob links */
+h2 .extralinks, h3 .extralinks
+{
+ float: right;
+ /* tango:aluminium 3 */
+ color: #babdb6;
+ font-size: 80%;
+ font-weight: normal;
+}
+
+.annotation
+{
+ /* tango:aluminium 5 */
+ color: #555753;
+ font-size: 80%;
+ font-weight: normal;
+}
+
+/* code listings */
+
+.listing_code .programlisting .cbracket { color: #a40000; } /* tango: scarlet red 3 */
+.listing_code .programlisting .comment { color: #a1a39d; } /* tango: aluminium 4 */
+.listing_code .programlisting .function { color: #000000; font-weight: bold; }
+.listing_code .programlisting .function a { color: #11326b; font-weight: bold; } /* tango: sky blue 4 */
+.listing_code .programlisting .keyword { color: #4e9a06; } /* tango: chameleon 3 */
+.listing_code .programlisting .linenum { color: #babdb6; } /* tango: aluminium 3 */
+.listing_code .programlisting .normal { color: #000000; }
+.listing_code .programlisting .number { color: #75507b; } /* tango: plum 2 */
+.listing_code .programlisting .preproc { color: #204a87; } /* tango: sky blue 3 */
+.listing_code .programlisting .string { color: #c17d11; } /* tango: chocolate 2 */
+.listing_code .programlisting .type { color: #000000; }
+.listing_code .programlisting .type a { color: #11326b; } /* tango: sky blue 4 */
+.listing_code .programlisting .symbol { color: #ce5c00; } /* tango: orange 3 */
+
+.listing_frame {
+ /* tango:sky blue 1 */
+ border: solid 1px #729fcf;
+ padding: 0px;
+}
+
+.listing_lines, .listing_code {
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0.5em;
+}
+.listing_lines {
+ /* tango:sky blue 0.5 */
+ background: #a6c5e3;
+ /* tango:aluminium 6 */
+ color: #2e3436;
+}
+.listing_code {
+ /* tango:sky blue 0 */
+ background: #e6f3ff;
+}
+.listing_code .programlisting {
+ /* override from previous */
+ border: none 0px;
+ padding: 0px;
+}
+.listing_lines pre, .listing_code pre {
+ margin: 0px;
+}
+
diff --git a/doc/reference/html/up.png b/doc/reference/html/up.png
new file mode 100644
index 0000000..8eb591f
--- /dev/null
+++ b/doc/reference/html/up.png
Binary files differ
diff --git a/doc/reference/messaging-menu-docs.xml b/doc/reference/messaging-menu-docs.xml
new file mode 100644
index 0000000..b63236a
--- /dev/null
+++ b/doc/reference/messaging-menu-docs.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
+ 'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd' [
+<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
+<!ENTITY version "12.10.2">
+]>
+<book lang="en" id="messaging-menu" xmlns:xi="http://www.w3.org/2003/XInclude">
+<title>Messaging Menu Reference Manual</title>
+ <bookinfo>
+ <title>Messaging Menu Reference Manual</title>
+ <releaseinfo>for libmessaging-menu &version;</releaseinfo>
+
+ <copyright>
+ <year>2012</year>
+ <holder>Canonical Ltd.</holder>
+ </copyright>
+ </bookinfo>
+
+ <chapter>
+ <title>API Reference</title>
+ <xi:include href="xml/messaging-menu.xml"/>
+ </chapter>
+
+ <chapter id="object-tree">
+ <title>Object Hierarchy</title>
+ <xi:include href="xml/tree_index.sgml"/>
+ </chapter>
+ <index id="api-index-full">
+ <title>API Index</title>
+ <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
+ </index>
+ <index id="deprecated-api-index" role="deprecated">
+ <title>Index of deprecated API</title>
+ <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
+ </index>
+
+ <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
+</book>
diff --git a/doc/reference/messaging-menu-docs.xml.in b/doc/reference/messaging-menu-docs.xml.in
new file mode 100644
index 0000000..742d37b
--- /dev/null
+++ b/doc/reference/messaging-menu-docs.xml.in
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
+ 'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd' [
+<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
+<!ENTITY version "@PACKAGE_VERSION@">
+]>
+<book lang="en" id="messaging-menu" xmlns:xi="http://www.w3.org/2003/XInclude">
+<title>Messaging Menu Reference Manual</title>
+ <bookinfo>
+ <title>Messaging Menu Reference Manual</title>
+ <releaseinfo>for libmessaging-menu &version;</releaseinfo>
+
+ <copyright>
+ <year>2012</year>
+ <holder>Canonical Ltd.</holder>
+ </copyright>
+ </bookinfo>
+
+ <chapter>
+ <title>API Reference</title>
+ <xi:include href="xml/messaging-menu.xml"/>
+ </chapter>
+
+ <chapter id="object-tree">
+ <title>Object Hierarchy</title>
+ <xi:include href="xml/tree_index.sgml"/>
+ </chapter>
+ <index id="api-index-full">
+ <title>API Index</title>
+ <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
+ </index>
+ <index id="deprecated-api-index" role="deprecated">
+ <title>Index of deprecated API</title>
+ <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
+ </index>
+
+ <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
+</book>
diff --git a/doc/reference/messaging-menu-overrides.txt b/doc/reference/messaging-menu-overrides.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/doc/reference/messaging-menu-overrides.txt
diff --git a/doc/reference/messaging-menu-sections.txt b/doc/reference/messaging-menu-sections.txt
new file mode 100644
index 0000000..fb090a7
--- /dev/null
+++ b/doc/reference/messaging-menu-sections.txt
@@ -0,0 +1,32 @@
+<SECTION>
+<FILE>messaging-menu</FILE>
+MessagingMenuApp
+MessagingMenuAppClass
+MessagingMenuStatus
+messaging_menu_app_append_source
+messaging_menu_app_append_source_with_count
+messaging_menu_app_append_source_with_string
+messaging_menu_app_append_source_with_time
+messaging_menu_app_draw_attention
+messaging_menu_app_has_source
+messaging_menu_app_insert_source
+messaging_menu_app_insert_source_with_count
+messaging_menu_app_insert_source_with_string
+messaging_menu_app_insert_source_with_time
+messaging_menu_app_new
+messaging_menu_app_register
+messaging_menu_app_remove_attention
+messaging_menu_app_remove_source
+messaging_menu_app_set_source_count
+messaging_menu_app_set_source_string
+messaging_menu_app_set_source_time
+messaging_menu_app_set_status
+messaging_menu_app_unregister
+<SUBSECTION Standard>
+MESSAGING_MENU_APP
+MESSAGING_MENU_APP_CLASS
+MESSAGING_MENU_IS_APP
+MESSAGING_MENU_TYPE_APP
+messaging_menu_app_get_type
+</SECTION>
+
diff --git a/doc/reference/messaging-menu.types b/doc/reference/messaging-menu.types
new file mode 100644
index 0000000..e3d49c6
--- /dev/null
+++ b/doc/reference/messaging-menu.types
@@ -0,0 +1 @@
+messaging_menu_app_get_type
diff --git a/gtk-doc.make b/gtk-doc.make
new file mode 100644
index 0000000..9841de4
--- /dev/null
+++ b/gtk-doc.make
@@ -0,0 +1,256 @@
+# -*- mode: makefile -*-
+
+####################################
+# Everything below here is generic #
+####################################
+
+if GTK_DOC_USE_LIBTOOL
+GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+GTKDOC_RUN = $(LIBTOOL) --mode=execute
+else
+GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+GTKDOC_RUN =
+endif
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+GPATH = $(srcdir)
+
+TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+
+SETUP_FILES = \
+ $(content_files) \
+ $(DOC_MAIN_SGML_FILE) \
+ $(DOC_MODULE)-sections.txt \
+ $(DOC_MODULE)-overrides.txt
+
+EXTRA_DIST = \
+ $(HTML_IMAGES) \
+ $(SETUP_FILES)
+
+DOC_STAMPS=setup-build.stamp scan-build.stamp sgml-build.stamp \
+ html-build.stamp pdf-build.stamp \
+ sgml.stamp html.stamp pdf.stamp
+
+SCANOBJ_FILES = \
+ $(DOC_MODULE).args \
+ $(DOC_MODULE).hierarchy \
+ $(DOC_MODULE).interfaces \
+ $(DOC_MODULE).prerequisites \
+ $(DOC_MODULE).signals
+
+REPORT_FILES = \
+ $(DOC_MODULE)-undocumented.txt \
+ $(DOC_MODULE)-undeclared.txt \
+ $(DOC_MODULE)-unused.txt
+
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
+
+if ENABLE_GTK_DOC
+if GTK_DOC_BUILD_HTML
+HTML_BUILD_STAMP=html-build.stamp
+else
+HTML_BUILD_STAMP=
+endif
+if GTK_DOC_BUILD_PDF
+PDF_BUILD_STAMP=pdf-build.stamp
+else
+PDF_BUILD_STAMP=
+endif
+
+all-local: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+else
+all-local:
+endif
+
+docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+
+$(REPORT_FILES): sgml-build.stamp
+
+#### setup ####
+
+setup-build.stamp:
+ -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ echo ' DOC Preparing build'; \
+ files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
+ if test "x$$files" != "x" ; then \
+ for file in $$files ; do \
+ test -f $(abs_srcdir)/$$file && \
+ cp -pu $(abs_srcdir)/$$file $(abs_builddir)/ || true; \
+ done; \
+ fi; \
+ fi
+ @touch setup-build.stamp
+
+
+#### scan ####
+
+scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
+ @echo ' DOC Scanning header files'
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)
+ @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
+ echo " DOC Introspecting gobjects"; \
+ scanobj_options=""; \
+ gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$(?)" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ scanobj_options="--verbose"; \
+ fi; \
+ fi; \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
+ gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \
+ else \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
+ fi
+ @touch scan-build.stamp
+
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
+ @true
+
+#### xml ####
+
+sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files)
+ @echo ' DOC Building XML'
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)
+ @touch sgml-build.stamp
+
+sgml.stamp: sgml-build.stamp
+ @true
+
+#### html ####
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @echo ' DOC Building HTML'
+ @rm -rf html
+ @mkdir html
+ @mkhtml_options=""; \
+ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$(?)" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ mkhtml_options="$$mkhtml_options --verbose"; \
+ fi; \
+ fi; \
+ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \
+ if test "$(?)" = "0"; then \
+ mkhtml_options="$$mkhtml_options --path=\"$(abs_srcdir)\""; \
+ fi; \
+ cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+ -@test "x$(HTML_IMAGES)" = "x" || \
+ for file in $(HTML_IMAGES) ; do \
+ if test -f $(abs_srcdir)/$$file ; then \
+ cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
+ fi; \
+ if test -f $(abs_builddir)/$$file ; then \
+ cp $(abs_builddir)/$$file $(abs_builddir)/html; \
+ fi; \
+ done;
+ @echo ' DOC Fixing cross-references'
+ @gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+ @touch html-build.stamp
+
+#### pdf ####
+
+pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @echo ' DOC Building PDF'
+ @rm -f $(DOC_MODULE).pdf
+ @mkpdf_options=""; \
+ gtkdoc-mkpdf 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$(?)" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ mkpdf_options="$$mkpdf_options --verbose"; \
+ fi; \
+ fi; \
+ if test "x$(HTML_IMAGES)" != "x"; then \
+ for img in $(HTML_IMAGES); do \
+ part=`dirname $$img`; \
+ echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
+ if test $$? != 0; then \
+ mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
+ fi; \
+ done; \
+ fi; \
+ gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)
+ @touch pdf-build.stamp
+
+##############
+
+clean-local:
+ @rm -f *~ *.bak
+ @rm -rf .libs
+
+distclean-local:
+ @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
+ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+ @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
+ fi
+
+maintainer-clean-local: clean
+ @rm -rf xml html
+
+install-data-local:
+ @installfiles=`echo $(builddir)/html/*`; \
+ if test "$$installfiles" = '$(builddir)/html/*'; \
+ then echo 1>&2 'Nothing to install' ; \
+ else \
+ if test -n "$(DOC_MODULE_VERSION)"; then \
+ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
+ else \
+ installdir="$(DESTDIR)$(TARGET_DIR)"; \
+ fi; \
+ $(mkinstalldirs) $${installdir} ; \
+ for i in $$installfiles; do \
+ echo ' $(INSTALL_DATA) '$$i ; \
+ $(INSTALL_DATA) $$i $${installdir}; \
+ done; \
+ if test -n "$(DOC_MODULE_VERSION)"; then \
+ mv -f $${installdir}/$(DOC_MODULE).devhelp2 \
+ $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \
+ fi; \
+ $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \
+ fi
+
+uninstall-local:
+ @if test -n "$(DOC_MODULE_VERSION)"; then \
+ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
+ else \
+ installdir="$(DESTDIR)$(TARGET_DIR)"; \
+ fi; \
+ rm -rf $${installdir}
+
+#
+# Require gtk-doc when making dist
+#
+if ENABLE_GTK_DOC
+dist-check-gtkdoc:
+else
+dist-check-gtkdoc:
+ @echo "*** gtk-doc must be installed and enabled in order to make dist"
+ @false
+endif
+
+dist-hook: dist-check-gtkdoc dist-hook-local
+ @mkdir $(distdir)/html
+ @cp ./html/* $(distdir)/html
+ @-cp ./$(DOC_MODULE).pdf $(distdir)/
+ @-cp ./$(DOC_MODULE).types $(distdir)/
+ @-cp ./$(DOC_MODULE)-sections.txt $(distdir)/
+ @cd $(distdir) && rm -f $(DISTCLEANFILES)
+ @$(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html
+
+.PHONY : dist-hook-local docs
diff --git a/libmessaging-menu/messaging-menu.c b/libmessaging-menu/messaging-menu.c
index b090352..93727fc 100644
--- a/libmessaging-menu/messaging-menu.c
+++ b/libmessaging-menu/messaging-menu.c
@@ -24,9 +24,74 @@
#include <gio/gdesktopappinfo.h>
/**
- * SECTION:messagingmenuapp
+ * SECTION:messaging-menu
* @title: MessagingMenuApp
* @short_description: An application section in the messaging menu
+ *
+ * A #MessagingMenuApp represents an application section in the
+ * Messaging Menu. An application section is tied to an installed
+ * application through a desktop file id, which must be passed to
+ * messaging_menu_app_new().
+ *
+ * To register the appliction with the Messaging Menu, call
+ * messaging_menu_app_register(). This signifies that the application
+ * should be present in the menu and be marked as "running".
+ *
+ * The first menu item in an application section represents the
+ * application itself, using the name and icon found in the associated
+ * desktop file. Activating this item starts the application.
+ *
+ * Following the application item, the Messaging Menu inserts all
+ * shortcuts actions found in the desktop file which are marked as
+ * appearing in the Messaging Menu (the TargetEnvironment or OnlyShowIn
+ * keywords contains "Messaging Menu"). The <ulink
+ * url="http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.1.html#extra-actions">
+ * desktop file specification</ulink> contains a detailed explanation of
+ * shortcut actions [1]. An application cannot add, remove, or change
+ * these shortcut items while it is running.
+ *
+ * Next, an application section contains menu items for message sources.
+ * What exactly constitutes a message source depends on the type of
+ * application: an email client's message sources are folders
+ * containing new messages, while those of a chat program are persons
+ * that have contacted the user.
+ *
+ * A message source is represented in the menu by a label and optionally
+ * also an icon. It can be associated with either a count, a time, or
+ * an arbitrary string, which will appear on the right side of the menu
+ * item.
+ *
+ * When the user activates a source, the source is immediately removed
+ * from the menu and the "activate-source" signal is emitted.
+ *
+ * Applications should always expose all the message sources available.
+ * However, the Messaging Menu might limit the amount of sources it
+ * displays to the user.
+ *
+ * The Messaging Menu offers users a way to set their chat status
+ * (available, away, busy, invisible, or offline) for multiple
+ * applications at once. Applications that appear in the Messaging Menu
+ * can integrate with this by setting the
+ * "X-MessagingMenu-UsesChatSection" key in their desktop file to True.
+ * Use messaging_menu_app_set_status() to signify that the application's
+ * chat status has changed. When the user changes status through the
+ * Messaging Menu, the ::status-changed signal will be emitted.
+ *
+ * If the application stops running without calling
+ * messaging_menu_app_unregister(), it will be marked as "not running".
+ * Its application and shortcut items stay in the menu, but all message
+ * sources are removed. If messaging_menu_app_unregister() is called,
+ * the application section is removed completely.
+ *
+ * More information about the design and recommended usage of the
+ * Messaging Menu is available at <ulink
+ * url="https://wiki.ubuntu.com/MessagingMenu">https://wiki.ubuntu.com/MessagingMenu</ulink>.
+ */
+
+/**
+ * MessagingMenuApp:
+ *
+ * #MessagingMenuApp is an opaque structure.
*/
struct _MessagingMenuApp
{
@@ -75,6 +140,67 @@ static void global_status_changed (IndicatorMessagesService *service,
const gchar *status_str,
gpointer user_data);
+static gchar *
+messaging_menu_app_get_dbus_object_path (MessagingMenuApp *app)
+{
+ gchar *path;
+
+ g_return_val_if_fail (app->appinfo != NULL, NULL);
+
+ path = g_strconcat ("/com/canonical/indicator/messages/",
+ g_app_info_get_id (G_APP_INFO (app->appinfo)),
+ NULL);
+
+ g_strcanon (path, "/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", '_');
+
+ return path;
+}
+
+static void
+export_menus_and_actions (GObject *source,
+ GAsyncResult *res,
+ gpointer user_data)
+{
+ MessagingMenuApp *app = user_data;
+ GDBusConnection *bus;
+ GError *error = NULL;
+ guint id;
+ gchar *object_path;
+
+ bus = g_bus_get_finish (res, &error);
+ if (bus == NULL)
+ {
+ g_warning ("unable to connect to session bus: %s", error->message);
+ g_error_free (error);
+ return;
+ }
+
+ object_path = messaging_menu_app_get_dbus_object_path (app);
+
+ id = g_dbus_connection_export_action_group (bus,
+ object_path,
+ G_ACTION_GROUP (app->source_actions),
+ &error);
+ if (!id)
+ {
+ g_warning ("unable to export action group: %s", error->message);
+ g_error_free (error);
+ }
+
+ id = g_dbus_connection_export_menu_model (bus,
+ object_path,
+ G_MENU_MODEL (app->menu),
+ &error);
+ if (!id)
+ {
+ g_warning ("unable to export menu: %s", error->message);
+ g_error_free (error);
+ }
+
+ g_object_unref (bus);
+ g_free (object_path);
+}
+
static void
messaging_menu_app_set_desktop_id (MessagingMenuApp *app,
const gchar *desktop_id)
@@ -88,6 +214,11 @@ messaging_menu_app_set_desktop_id (MessagingMenuApp *app,
g_warning ("could not find the desktop file for '%s'",
desktop_id);
}
+
+ g_bus_get (G_BUS_TYPE_SESSION,
+ app->cancellable,
+ export_menus_and_actions,
+ app);
}
static void
@@ -157,6 +288,12 @@ messaging_menu_app_class_init (MessagingMenuAppClass *class)
object_class->finalize = messaging_menu_app_finalize;
object_class->dispose = messaging_menu_app_dispose;
+ /**
+ * MessagingMenuApp:desktop-id:
+ *
+ * The desktop id of the application associated with this application
+ * section. Must be given when the #MessagingMenuApp is created.
+ */
properties[PROP_DESKTOP_ID] = g_param_spec_string ("desktop-id",
"Desktop Id",
"The desktop id of the associated application",
@@ -167,6 +304,16 @@ messaging_menu_app_class_init (MessagingMenuAppClass *class)
g_object_class_install_properties (object_class, N_PROPERTIES, properties);
+ /**
+ * MessagingMenuApp::activate-source:
+ * @mmapp: the #MessagingMenuApp
+ * @source_id: the source id that was activated
+ *
+ * Emitted when the user has activated the message source with id
+ * @source_id. The source is immediately removed from the menu,
+ * handlers of this signal do not need to call
+ * messaging_menu_app_remove_source().
+ */
signals[ACTIVATE_SOURCE] = g_signal_new ("activate-source",
MESSAGING_MENU_TYPE_APP,
G_SIGNAL_RUN_FIRST |
@@ -176,6 +323,18 @@ messaging_menu_app_class_init (MessagingMenuAppClass *class)
g_cclosure_marshal_VOID__STRING,
G_TYPE_NONE, 1, G_TYPE_STRING);
+ /**
+ * MessagingMenuApp::status-changed:
+ * @mmapp: the #MessagingMenuApp
+ * @status: a #MessagingMenuStatus
+ *
+ * Emitted when the chat status is changed through the messaging menu.
+ *
+ * Applications which are registered to use the chat status should
+ * change their status to @status upon receiving this signal. Call
+ * messaging_menu_app_set_status() to acknowledge that the application
+ * changed its status.
+ */
signals[STATUS_CHANGED] = g_signal_new ("status-changed",
MESSAGING_MENU_TYPE_APP,
G_SIGNAL_RUN_FIRST,
@@ -213,47 +372,6 @@ created_messages_service (GObject *source_object,
}
static void
-got_session_bus (GObject *source,
- GAsyncResult *res,
- gpointer user_data)
-{
- MessagingMenuApp *app = user_data;
- GDBusConnection *bus;
- GError *error = NULL;
- guint id;
-
- bus = g_bus_get_finish (res, &error);
- if (bus == NULL)
- {
- g_warning ("unable to connect to session bus: %s", error->message);
- g_error_free (error);
- return;
- }
-
- id = g_dbus_connection_export_action_group (bus,
- "/com/canonical/indicator/messages",
- G_ACTION_GROUP (app->source_actions),
- &error);
- if (!id)
- {
- g_warning ("unable to export action group: %s", error->message);
- g_error_free (error);
- }
-
- id = g_dbus_connection_export_menu_model (bus,
- "/com/canonical/indicator/messages",
- G_MENU_MODEL (app->menu),
- &error);
- if (!id)
- {
- g_warning ("unable to export menu: %s", error->message);
- g_error_free (error);
- }
-
- g_object_unref (bus);
-}
-
-static void
indicator_messages_appeared (GDBusConnection *bus,
const gchar *name,
const gchar *name_owner,
@@ -299,12 +417,6 @@ messaging_menu_app_init (MessagingMenuApp *app)
app->cancellable = g_cancellable_new ();
-
- g_bus_get (G_BUS_TYPE_SESSION,
- app->cancellable,
- got_session_bus,
- app);
-
app->watch_id = g_bus_watch_name (G_BUS_TYPE_SESSION,
"com.canonical.indicator.messages",
G_BUS_NAME_WATCHER_FLAGS_NONE,
@@ -321,11 +433,8 @@ messaging_menu_app_init (MessagingMenuApp *app)
* Creates a new #MessagingMenuApp for the application associated with
* @desktop_id.
*
- * If the application is already registered with the messaging menu, it will be
- * marked as "running". Otherwise, call messaging_menu_app_register().
- *
- * The messaging menu will return to marking the application as not running as
- * soon as the returned #MessagingMenuApp is destroyed.
+ * The application will not show up (nor be marked as "running") in the
+ * Messaging Menu before messaging_menu_app_register() has been called.
*
* Returns: (transfer full): a new #MessagingMenuApp
*/
@@ -341,17 +450,22 @@ messaging_menu_app_new (const gchar *desktop_id)
* messaging_menu_app_register:
* @app: a #MessagingMenuApp
*
- * Registers @app with the messaging menu.
+ * Registers @app with the Messaging Menu.
*
- * The messaging menu will add a section with an app launcher and the shortcuts
- * defined in its desktop file.
+ * If the application doesn't already have a section in the Messaging
+ * Menu, one will be created for it. The application will also be
+ * marked as "running".
*
- * The application will be marked as "running" as long as @app is alive or
- * messaging_menu_app_unregister() is called.
+ * The application will be marked as "not running" as soon as @app is
+ * destroyed. The application launcher as well as shortcut actions will
+ * remain in the menu. To completely remove the application section
+ * from the Messaging Menu, call messaging_menu_app_unregister().
*/
void
messaging_menu_app_register (MessagingMenuApp *app)
{
+ gchar *object_path;
+
g_return_if_fail (MESSAGING_MENU_IS_APP (app));
app->registered = TRUE;
@@ -360,19 +474,24 @@ messaging_menu_app_register (MessagingMenuApp *app)
if (!app->messages_service)
return;
+ object_path = messaging_menu_app_get_dbus_object_path (app);
+
indicator_messages_service_call_register_application (app->messages_service,
g_app_info_get_id (G_APP_INFO (app->appinfo)),
- "/com/canonical/indicator/messages",
+ object_path,
app->cancellable,
NULL, NULL);
+
+ g_free (object_path);
}
/**
* messaging_menu_app_unregister:
* @app: a #MessagingMenuApp
*
- * Completely removes the application associated with @desktop_id from the
- * messaging menu.
+ * Completely removes the @app from the Messaging Menu. If the
+ * application's launcher and shortcut actions should remain in the
+ * menu, destroying @app with g_object_unref() suffices.
*
* Note: @app will remain valid and usable after this call.
*/
@@ -397,6 +516,16 @@ messaging_menu_app_unregister (MessagingMenuApp *app)
* messaging_menu_app_set_status:
* @app: a #MessagingMenuApp
* @status: a #MessagingMenuStatus
+ *
+ * Notify the Messaging Menu that the chat status of @app has changed to
+ * @status.
+ *
+ * Connect to the ::status-changed signal to receive notification about
+ * the user changing their global chat status through the Messaging
+ * Menu.
+ *
+ * This function does nothing for applications whose desktop file does
+ * not include X-MessagingMenu-UsesChatSection.
*/
void
messaging_menu_app_set_status (MessagingMenuApp *app,
@@ -794,6 +923,107 @@ messaging_menu_app_has_source (MessagingMenuApp *app,
return g_simple_action_group_lookup (app->source_actions, source_id) != NULL;
}
+static GMenuItem *
+g_menu_find_item_with_action (GMenu *menu,
+ const gchar *action,
+ gint *out_pos)
+{
+ gint i;
+ gint n_elements;
+ GMenuItem *item = NULL;
+
+ n_elements = g_menu_model_get_n_items (G_MENU_MODEL (menu));
+
+ for (i = 0; i < n_elements && item == NULL; i++)
+ {
+ GVariant *attr;
+
+ item = g_menu_item_new_from_model (G_MENU_MODEL (menu), i);
+ attr = g_menu_item_get_attribute_value (item, G_MENU_ATTRIBUTE_ACTION, G_VARIANT_TYPE_STRING);
+
+ if (!g_str_equal (action, g_variant_get_string (attr, NULL)))
+ g_clear_object (&item);
+
+ g_variant_unref (attr);
+ }
+
+ if (item && out_pos)
+ *out_pos = i - 1;
+
+ return item;
+}
+
+static void
+g_menu_replace_item (GMenu *menu,
+ gint pos,
+ GMenuItem *item)
+{
+ g_menu_remove (menu, pos);
+ g_menu_insert_item (menu, pos, item);
+}
+
+/**
+ * messaging_menu_app_set_source_label:
+ * @app: a #MessagingMenuApp
+ * @source_id: a source id
+ * @label: the new label for the source
+ *
+ * Changes the label of @source_id to @label.
+ */
+void
+messaging_menu_app_set_source_label (MessagingMenuApp *app,
+ const gchar *source_id,
+ const gchar *label)
+{
+ gint pos;
+ GMenuItem *item;
+
+ g_return_if_fail (MESSAGING_MENU_IS_APP (app));
+ g_return_if_fail (source_id != NULL);
+ g_return_if_fail (label != NULL);
+
+ item = g_menu_find_item_with_action (app->menu, source_id, &pos);
+ if (item == NULL)
+ return;
+
+ g_menu_item_set_attribute (item, G_MENU_ATTRIBUTE_LABEL, "s", label);
+ g_menu_replace_item (app->menu, pos, item);
+
+ g_object_unref (item);
+}
+
+/**
+ * messaging_menu_app_set_source_icon:
+ * @app: a #MessagingMenuApp
+ * @source_id: a source id
+ * @icon: the new icon for the source
+ *
+ * Changes the icon of @source_id to @icon.
+ */
+void
+messaging_menu_app_set_source_icon (MessagingMenuApp *app,
+ const gchar *source_id,
+ GIcon *icon)
+{
+ gint pos;
+ GMenuItem *item;
+ gchar *iconstr;
+
+ g_return_if_fail (MESSAGING_MENU_IS_APP (app));
+ g_return_if_fail (source_id != NULL);
+
+ item = g_menu_find_item_with_action (app->menu, source_id, &pos);
+ if (item == NULL)
+ return;
+
+ iconstr = icon ? g_icon_to_string (icon) : NULL;
+ g_menu_item_set_attribute (item, "x-canonical-icon", "s", iconstr);
+ g_menu_replace_item (app->menu, pos, item);
+
+ g_free (iconstr);
+ g_object_unref (item);
+}
+
/**
* messaging_menu_app_set_source_count:
* @app: a #MessagingMenuApp
@@ -876,6 +1106,10 @@ messaging_menu_app_draw_attention (MessagingMenuApp *app,
*
* Stop indicating that @source_id needs attention.
*
+ * This function does not need to be called when the source is removed
+ * with messaging_menu_app_remove_source() or the user has activated the
+ * source.
+ *
* Use messaging_menu_app_draw_attention() to make @source_id draw attention
* again.
*/
diff --git a/libmessaging-menu/messaging-menu.h b/libmessaging-menu/messaging-menu.h
index e767099..6c405c7 100644
--- a/libmessaging-menu/messaging-menu.h
+++ b/libmessaging-menu/messaging-menu.h
@@ -29,6 +29,16 @@ G_BEGIN_DECLS
#define MESSAGING_MENU_APP_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), MESSAGING_MENU_TYPE_APP, MessagingMenuAppClass))
#define MESSAGING_MENU_IS_APP(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), MESSAGING_MENU_TYPE_APP))
+/**
+ * MessagingMenuStatus:
+ * @MESSAGING_MENU_STATUS_AVAILABLE: available
+ * @MESSAGING_MENU_STATUS_AWAY: away
+ * @MESSAGING_MENU_STATUS_BUSY: busy
+ * @MESSAGING_MENU_STATUS_INVISIBLE: invisible
+ * @MESSAGING_MENU_STATUS_OFFLINE: offline
+ *
+ * An enumeration for the possible chat statuses the messaging menu can be in.
+ */
typedef enum {
MESSAGING_MENU_STATUS_AVAILABLE,
MESSAGING_MENU_STATUS_AWAY,
@@ -107,6 +117,14 @@ void messaging_menu_app_remove_source (MessagingMenuA
gboolean messaging_menu_app_has_source (MessagingMenuApp *app,
const gchar *source_id);
+void messaging_menu_app_set_source_label (MessagingMenuApp *app,
+ const gchar *source_id,
+ const gchar *label);
+
+void messaging_menu_app_set_source_icon (MessagingMenuApp *app,
+ const gchar *source_id,
+ GIcon *icon);
+
void messaging_menu_app_set_source_count (MessagingMenuApp *app,
const gchar *source_id,
guint count);