aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog132
-rwxr-xr-xconfigure20
-rw-r--r--configure.ac4
-rw-r--r--docs/reference/html/api-index-full.html60
-rw-r--r--docs/reference/html/ch01.html6
-rw-r--r--docs/reference/html/index.html6
-rw-r--r--docs/reference/html/index.sgml14
-rw-r--r--docs/reference/html/libappindicator-app-indicator.html370
-rw-r--r--docs/reference/html/libappindicator.devhelp14
-rw-r--r--docs/reference/html/libappindicator.devhelp214
-rw-r--r--docs/reference/html/object-tree.html4
-rw-r--r--docs/reference/html/style.css8
-rw-r--r--docs/reference/libappindicator-docs.sgml2
-rw-r--r--docs/reference/tmpl/app-indicator.sgml111
-rw-r--r--docs/reference/version.xml2
-rw-r--r--docs/reference/xml/api-index-full.xml14
-rw-r--r--docs/reference/xml/app-indicator.xml265
-rw-r--r--src/application-service-appstore.c306
-rw-r--r--src/application-service-marshal.c39
-rw-r--r--src/application-service-marshal.list1
-rw-r--r--src/application-service-watcher.c4
-rw-r--r--src/notification-approver.xml7
-rw-r--r--src/notification-watcher.xml2
-rw-r--r--tests/test-approver.c2
24 files changed, 1289 insertions, 118 deletions
diff --git a/ChangeLog b/ChangeLog
index 68de16c..101131b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,137 @@
# Generated by Makefile. Do not edit.
+2010-08-19 Ted Gould <ted@gould.cx>
+
+ Adding a signal for approvers to be able to change their mind
+
+2010-08-18 Ted Gould <ted@gould.cx>
+
+ Flesh out the revise judgement handler to update the list of approvers.
+
+2010-08-18 Ted Gould <ted@gould.cx>
+
+ Refactor so that there is a function to look for applications.
+
+2010-08-18 Ted Gould <ted@gould.cx>
+
+ Connecting into the signal coming from the approver
+
+2010-08-18 Ted Gould <ted@gould.cx>
+
+ Adding a signal to the approver interface
+
+2010-08-18 Ted Gould <ted@gould.cx>
+
+ Changing function name as well.
+
+2010-08-18 Ted Gould <ted@gould.cx>
+
+ XAyatana the register interface
+
+2010-08-18 Ted Gould <ted@gould.cx>
+
+ Start some approvin'
+
+2010-08-19 Ted Gould <ted@gould.cx>
+
+ Changing the state machine to have approvers actually aprove things.
+
+2010-08-16 Ted Gould <ted@gould.cx>
+
+ Commenting out debug message
+
+2010-08-16 Ted Gould <ted@gould.cx>
+
+ Making it so that we don't set the proxy to null right away.
+
+2010-08-16 Ted Gould <ted@gould.cx>
+
+ Making the list so that if there are errors we handle them well.
+
+2010-08-13 Ted Gould <ted@gould.cx>
+
+ Making sure to remove our applications from the list as well.
+
+2010-08-13 Ted Gould <ted@gould.cx>
+
+ Responding to approver errors like they're approval.
+
+2010-08-13 Ted Gould <ted@gould.cx>
+
+ Uhg, broken merge.
+
+2010-08-13 Ted Gould <ted@gould.cx>
+
+ Updating to trunk
+
+2010-08-11 Ted Gould <ted@gould.cx>
+
+ Changing it so that the list of applications has all the applications in it, independent of visible state.
+
+2010-08-11 Ted Gould <ted@gould.cx>
+
+ Making sure to only list the visible applications.
+
+2010-08-11 Ted Gould <ted@gould.cx>
+
+ Switching the get_position() function to look at the visibility of the applications.
+
+2010-08-11 Ted Gould <ted@gould.cx>
+
+ Handle the proxy being destroyed, and cleaning up the approver.
+
+2010-08-11 Ted Gould <ted@gould.cx>
+
+ Simplifying the visual state to just be shown/hidden while letting the status show which icon is shown.
+
+2010-08-11 Ted Gould <ted@gould.cx>
+
+ Switching a few status checks to look at the visible state
+
+2010-08-11 Ted Gould <ted@gould.cx>
+
+ Make it so that an approver that gets free'd gets removed from the applications list of approval.
+
+2010-08-11 Ted Gould <ted@gould.cx>
+
+ Moving some TODOs
+
+2010-08-11 Ted Gould <ted@gould.cx>
+
+ Changing the apply_status function to be less about applying the status and more about trying to apply a visual state that can be determined by things like approvers. This means that it doesn't get passed the status.
+
+2010-08-11 Ted Gould <ted@gould.cx>
+
+ Making sure to clean up the approved by list
+
+2010-08-11 Ted Gould <ted@gould.cx>
+
+ Adding a visible state entry to the application structure
+
+2010-08-11 Ted Gould <ted@gould.cx>
+
+ Managing the list with the approver returns.
+
+2010-08-11 Ted Gould <ted@gould.cx>
+
+ Changing to a list, we're going to need to track who so when they disconnect we can know the state change.
+
+2010-08-11 Ted Gould <ted@gould.cx>
+
+ Adding a count for the number of approvers that have approved the application.
+
+2010-08-19 Ted Gould <ted@gould.cx>
+
+ Fixing a memory leak Cody noticed.
+
+2010-08-13 Ted Gould <ted@gould.cx>
+
+ Freeing the allocated keys.
+
+2010-08-12 Ted Gould <ted@gould.cx>
+
+ 0.2.4
+
2010-08-12 Ted Gould <ted@gould.cx>
Switching to using ordering IDs instead of the LRU file.
diff --git a/configure b/configure
index 2b2f75e..3f70b53 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.67 for indicator-application 0.2.4.
+# Generated by GNU Autoconf 2.67 for indicator-application 0.2.5.
#
# Report bugs to <ted@canonical.com>.
#
@@ -703,8 +703,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='indicator-application'
PACKAGE_TARNAME='indicator-application'
-PACKAGE_VERSION='0.2.4'
-PACKAGE_STRING='indicator-application 0.2.4'
+PACKAGE_VERSION='0.2.5'
+PACKAGE_STRING='indicator-application 0.2.5'
PACKAGE_BUGREPORT='ted@canonical.com'
PACKAGE_URL=''
@@ -1510,7 +1510,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-application 0.2.4 to adapt to many kinds of systems.
+\`configure' configures indicator-application 0.2.5 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1581,7 +1581,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of indicator-application 0.2.4:";;
+ short | recursive ) echo "Configuration of indicator-application 0.2.5:";;
esac
cat <<\_ACEOF
@@ -1718,7 +1718,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-indicator-application configure 0.2.4
+indicator-application configure 0.2.5
generated by GNU Autoconf 2.67
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1998,7 +1998,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-application $as_me 0.2.4, which was
+It was created by indicator-application $as_me 0.2.5, which was
generated by GNU Autoconf 2.67. Invocation command line was
$ $0 $@
@@ -2819,7 +2819,7 @@ fi
# Define the identity of the package.
PACKAGE=indicator-application
- VERSION=0.2.4
+ VERSION=0.2.5
cat >>confdefs.h <<_ACEOF
@@ -13695,7 +13695,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-application $as_me 0.2.4, which was
+This file was extended by indicator-application $as_me 0.2.5, which was
generated by GNU Autoconf 2.67. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -13761,7 +13761,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-application config.status 0.2.4
+indicator-application config.status 0.2.5
configured by $0, generated by GNU Autoconf 2.67,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 0b57308..035c9da 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,11 +1,11 @@
-AC_INIT(indicator-application, 0.2.4, ted@canonical.com)
+AC_INIT(indicator-application, 0.2.5, ted@canonical.com)
AC_COPYRIGHT([Copyright 2009, 2010 Canonical])
AC_PREREQ(2.53)
AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(indicator-application, 0.2.4)
+AM_INIT_AUTOMAKE(indicator-application, 0.2.5)
AM_MAINTAINER_MODE
diff --git a/docs/reference/html/api-index-full.html b/docs/reference/html/api-index-full.html
index a8f892d..8d49112 100644
--- a/docs/reference/html/api-index-full.html
+++ b/docs/reference/html/api-index-full.html
@@ -7,7 +7,7 @@
<link rel="home" href="index.html" title="libappindicator Reference Manual">
<link rel="up" href="index.html" title="libappindicator Reference Manual">
<link rel="prev" href="object-tree.html" title="Object Hierarchy">
-<meta name="generator" content="GTK-Doc V1.14 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.15 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -50,10 +50,18 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="libappindicator-app-indicator.html#AppIndicator-new-label" title='The "new-label" signal'>AppIndicator::new-label</a>, object signal in <a class="link" href="libappindicator-app-indicator.html" title="AppIndicator">AppIndicator</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="libappindicator-app-indicator.html#AppIndicator-new-status" title='The "new-status" signal'>AppIndicator::new-status</a>, object signal in <a class="link" href="libappindicator-app-indicator.html" title="AppIndicator">AppIndicator</a>
</dt>
<dd></dd>
<dt>
+<a class="link" href="libappindicator-app-indicator.html#AppIndicator-x-ayatana-new-label" title='The "x-ayatana-new-label" signal'>AppIndicator::x-ayatana-new-label</a>, object signal in <a class="link" href="libappindicator-app-indicator.html" title="AppIndicator">AppIndicator</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="libappindicator-app-indicator.html#AppIndicator--attention-icon-name" title='The "attention-icon-name" property'>AppIndicator:attention-icon-name</a>, object property in <a class="link" href="libappindicator-app-indicator.html" title="AppIndicator">AppIndicator</a>
</dt>
<dd></dd>
@@ -78,14 +86,38 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="libappindicator-app-indicator.html#AppIndicator--label" title='The "label" property'>AppIndicator:label</a>, object property in <a class="link" href="libappindicator-app-indicator.html" title="AppIndicator">AppIndicator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libappindicator-app-indicator.html#AppIndicator--label-guide" title='The "label-guide" property'>AppIndicator:label-guide</a>, object property in <a class="link" href="libappindicator-app-indicator.html" title="AppIndicator">AppIndicator</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="libappindicator-app-indicator.html#AppIndicator--menu" title='The "menu" property'>AppIndicator:menu</a>, object property in <a class="link" href="libappindicator-app-indicator.html" title="AppIndicator">AppIndicator</a>
</dt>
<dd></dd>
<dt>
+<a class="link" href="libappindicator-app-indicator.html#AppIndicator--ordering-index" title='The "ordering-index" property'>AppIndicator:ordering-index</a>, object property in <a class="link" href="libappindicator-app-indicator.html" title="AppIndicator">AppIndicator</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="libappindicator-app-indicator.html#AppIndicator--status" title='The "status" property'>AppIndicator:status</a>, object property in <a class="link" href="libappindicator-app-indicator.html" title="AppIndicator">AppIndicator</a>
</dt>
<dd></dd>
<dt>
+<a class="link" href="libappindicator-app-indicator.html#AppIndicator--x-ayatana-label" title='The "x-ayatana-label" property'>AppIndicator:x-ayatana-label</a>, object property in <a class="link" href="libappindicator-app-indicator.html" title="AppIndicator">AppIndicator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libappindicator-app-indicator.html#AppIndicator--x-ayatana-label-guide" title='The "x-ayatana-label-guide" property'>AppIndicator:x-ayatana-label-guide</a>, object property in <a class="link" href="libappindicator-app-indicator.html" title="AppIndicator">AppIndicator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libappindicator-app-indicator.html#AppIndicator--x-ayatana-ordering-index" title='The "x-ayatana-ordering-index" property'>AppIndicator:x-ayatana-ordering-index</a>, object property in <a class="link" href="libappindicator-app-indicator.html" title="AppIndicator">AppIndicator</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="libappindicator-app-indicator.html#AppIndicatorCategory" title="enum AppIndicatorCategory">AppIndicatorCategory</a>, enum in <a class="link" href="libappindicator-app-indicator.html" title="AppIndicator">app-indicator</a>
</dt>
<dd></dd>
@@ -130,10 +162,22 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="libappindicator-app-indicator.html#app-indicator-get-label" title="app_indicator_get_label ()">app_indicator_get_label</a>, function in <a class="link" href="libappindicator-app-indicator.html" title="AppIndicator">AppIndicator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libappindicator-app-indicator.html#app-indicator-get-label-guide" title="app_indicator_get_label_guide ()">app_indicator_get_label_guide</a>, function in <a class="link" href="libappindicator-app-indicator.html" title="AppIndicator">AppIndicator</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="libappindicator-app-indicator.html#app-indicator-get-menu" title="app_indicator_get_menu ()">app_indicator_get_menu</a>, function in <a class="link" href="libappindicator-app-indicator.html" title="AppIndicator">AppIndicator</a>
</dt>
<dd></dd>
<dt>
+<a class="link" href="libappindicator-app-indicator.html#app-indicator-get-ordering-index" title="app_indicator_get_ordering_index ()">app_indicator_get_ordering_index</a>, function in <a class="link" href="libappindicator-app-indicator.html" title="AppIndicator">AppIndicator</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="libappindicator-app-indicator.html#app-indicator-get-status" title="app_indicator_get_status ()">app_indicator_get_status</a>, function in <a class="link" href="libappindicator-app-indicator.html" title="AppIndicator">AppIndicator</a>
</dt>
<dd></dd>
@@ -162,10 +206,18 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="libappindicator-app-indicator.html#app-indicator-set-label" title="app_indicator_set_label ()">app_indicator_set_label</a>, function in <a class="link" href="libappindicator-app-indicator.html" title="AppIndicator">AppIndicator</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="libappindicator-app-indicator.html#app-indicator-set-menu" title="app_indicator_set_menu ()">app_indicator_set_menu</a>, function in <a class="link" href="libappindicator-app-indicator.html" title="AppIndicator">AppIndicator</a>
</dt>
<dd></dd>
<dt>
+<a class="link" href="libappindicator-app-indicator.html#app-indicator-set-ordering-index" title="app_indicator_set_ordering_index ()">app_indicator_set_ordering_index</a>, function in <a class="link" href="libappindicator-app-indicator.html" title="AppIndicator">AppIndicator</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="libappindicator-app-indicator.html#app-indicator-set-status" title="app_indicator_set_status ()">app_indicator_set_status</a>, function in <a class="link" href="libappindicator-app-indicator.html" title="AppIndicator">AppIndicator</a>
</dt>
<dd></dd>
@@ -186,6 +238,10 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="libappindicator-app-indicator.html#APP-INDICATOR-SIGNAL-NEW-LABEL:CAPS" title="APP_INDICATOR_SIGNAL_NEW_LABEL">APP_INDICATOR_SIGNAL_NEW_LABEL</a>, macro in <a class="link" href="libappindicator-app-indicator.html" title="AppIndicator">app-indicator</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="libappindicator-app-indicator.html#APP-INDICATOR-SIGNAL-NEW-STATUS:CAPS" title="APP_INDICATOR_SIGNAL_NEW_STATUS">APP_INDICATOR_SIGNAL_NEW_STATUS</a>, macro in <a class="link" href="libappindicator-app-indicator.html" title="AppIndicator">app-indicator</a>
</dt>
<dd></dd>
@@ -204,6 +260,6 @@
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.14</div>
+ Generated by GTK-Doc V1.15</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/ch01.html b/docs/reference/html/ch01.html
index 1ffe5ec..6ed73af 100644
--- a/docs/reference/html/ch01.html
+++ b/docs/reference/html/ch01.html
@@ -8,7 +8,7 @@
<link rel="up" href="index.html" title="libappindicator Reference Manual">
<link rel="prev" href="index.html" title="libappindicator Reference Manual">
<link rel="next" href="libappindicator-app-indicator.html" title="AppIndicator">
-<meta name="generator" content="GTK-Doc V1.14 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.15 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -21,7 +21,7 @@
</tr></table>
<div class="chapter" title="Base Classes for Applications">
<div class="titlepage"><div><div><h2 class="title">
-<a name="id457927"></a>Base Classes for Applications</h2></div></div></div>
+<a name="id500112"></a>Base Classes for Applications</h2></div></div></div>
<div class="toc"><dl><dt>
<span class="refentrytitle"><a href="libappindicator-app-indicator.html">AppIndicator</a></span><span class="refpurpose"> — An object to put application information
into the panel.</span>
@@ -29,6 +29,6 @@
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.14</div>
+ Generated by GTK-Doc V1.15</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/index.html b/docs/reference/html/index.html
index b9d7a8e..687d69d 100644
--- a/docs/reference/html/index.html
+++ b/docs/reference/html/index.html
@@ -6,7 +6,7 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="index.html" title="libappindicator Reference Manual">
<link rel="next" href="ch01.html" title="Base Classes for Applications">
-<meta name="generator" content="GTK-Doc V1.14 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.15 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -15,7 +15,7 @@
<div>
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">libappindicator Reference Manual</p></th></tr></table></div>
<div><p class="releaseinfo">
- for libappindicator 0.2.3
+ for libappindicator 0.2.5
</p></div>
</div>
<hr>
@@ -32,6 +32,6 @@
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.14</div>
+ Generated by GTK-Doc V1.15</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/index.sgml b/docs/reference/html/index.sgml
index 7ecc58f..550deb3 100644
--- a/docs/reference/html/index.sgml
+++ b/docs/reference/html/index.sgml
@@ -16,6 +16,7 @@
<ANCHOR id="APP-INDICATOR-SIGNAL-NEW-ICON:CAPS" href="libappindicator/libappindicator-app-indicator.html#APP-INDICATOR-SIGNAL-NEW-ICON:CAPS">
<ANCHOR id="APP-INDICATOR-SIGNAL-NEW-ATTENTION-ICON:CAPS" href="libappindicator/libappindicator-app-indicator.html#APP-INDICATOR-SIGNAL-NEW-ATTENTION-ICON:CAPS">
<ANCHOR id="APP-INDICATOR-SIGNAL-NEW-STATUS:CAPS" href="libappindicator/libappindicator-app-indicator.html#APP-INDICATOR-SIGNAL-NEW-STATUS:CAPS">
+<ANCHOR id="APP-INDICATOR-SIGNAL-NEW-LABEL:CAPS" href="libappindicator/libappindicator-app-indicator.html#APP-INDICATOR-SIGNAL-NEW-LABEL:CAPS">
<ANCHOR id="APP-INDICATOR-SIGNAL-NEW-ICON-THEME-PATH:CAPS" href="libappindicator/libappindicator-app-indicator.html#APP-INDICATOR-SIGNAL-NEW-ICON-THEME-PATH:CAPS">
<ANCHOR id="APP-INDICATOR-SIGNAL-CONNECTION-CHANGED:CAPS" href="libappindicator/libappindicator-app-indicator.html#APP-INDICATOR-SIGNAL-CONNECTION-CHANGED:CAPS">
<ANCHOR id="AppIndicatorCategory" href="libappindicator/libappindicator-app-indicator.html#AppIndicatorCategory">
@@ -39,6 +40,8 @@
<ANCHOR id="app-indicator-set-menu" href="libappindicator/libappindicator-app-indicator.html#app-indicator-set-menu">
<ANCHOR id="app-indicator-set-icon" href="libappindicator/libappindicator-app-indicator.html#app-indicator-set-icon">
<ANCHOR id="app-indicator-set-icon-theme-path" href="libappindicator/libappindicator-app-indicator.html#app-indicator-set-icon-theme-path">
+<ANCHOR id="app-indicator-set-label" href="libappindicator/libappindicator-app-indicator.html#app-indicator-set-label">
+<ANCHOR id="app-indicator-set-ordering-index" href="libappindicator/libappindicator-app-indicator.html#app-indicator-set-ordering-index">
<ANCHOR id="app-indicator-get-id" href="libappindicator/libappindicator-app-indicator.html#app-indicator-get-id">
<ANCHOR id="app-indicator-get-category" href="libappindicator/libappindicator-app-indicator.html#app-indicator-get-category">
<ANCHOR id="app-indicator-get-status" href="libappindicator/libappindicator-app-indicator.html#app-indicator-get-status">
@@ -46,6 +49,9 @@
<ANCHOR id="app-indicator-get-icon-theme-path" href="libappindicator/libappindicator-app-indicator.html#app-indicator-get-icon-theme-path">
<ANCHOR id="app-indicator-get-attention-icon" href="libappindicator/libappindicator-app-indicator.html#app-indicator-get-attention-icon">
<ANCHOR id="app-indicator-get-menu" href="libappindicator/libappindicator-app-indicator.html#app-indicator-get-menu">
+<ANCHOR id="app-indicator-get-label" href="libappindicator/libappindicator-app-indicator.html#app-indicator-get-label">
+<ANCHOR id="app-indicator-get-label-guide" href="libappindicator/libappindicator-app-indicator.html#app-indicator-get-label-guide">
+<ANCHOR id="app-indicator-get-ordering-index" href="libappindicator/libappindicator-app-indicator.html#app-indicator-get-ordering-index">
<ANCHOR id="libappindicator-app-indicator.property-details" href="libappindicator/libappindicator-app-indicator.html#libappindicator-app-indicator.property-details">
<ANCHOR id="AppIndicator--attention-icon-name" href="libappindicator/libappindicator-app-indicator.html#AppIndicator--attention-icon-name">
<ANCHOR id="AppIndicator--category" href="libappindicator/libappindicator-app-indicator.html#AppIndicator--category">
@@ -53,11 +59,19 @@
<ANCHOR id="AppIndicator--icon-name" href="libappindicator/libappindicator-app-indicator.html#AppIndicator--icon-name">
<ANCHOR id="AppIndicator--icon-theme-path" href="libappindicator/libappindicator-app-indicator.html#AppIndicator--icon-theme-path">
<ANCHOR id="AppIndicator--id" href="libappindicator/libappindicator-app-indicator.html#AppIndicator--id">
+<ANCHOR id="AppIndicator--label" href="libappindicator/libappindicator-app-indicator.html#AppIndicator--label">
+<ANCHOR id="AppIndicator--label-guide" href="libappindicator/libappindicator-app-indicator.html#AppIndicator--label-guide">
<ANCHOR id="AppIndicator--menu" href="libappindicator/libappindicator-app-indicator.html#AppIndicator--menu">
+<ANCHOR id="AppIndicator--ordering-index" href="libappindicator/libappindicator-app-indicator.html#AppIndicator--ordering-index">
<ANCHOR id="AppIndicator--status" href="libappindicator/libappindicator-app-indicator.html#AppIndicator--status">
+<ANCHOR id="AppIndicator--x-ayatana-label" href="libappindicator/libappindicator-app-indicator.html#AppIndicator--x-ayatana-label">
+<ANCHOR id="AppIndicator--x-ayatana-label-guide" href="libappindicator/libappindicator-app-indicator.html#AppIndicator--x-ayatana-label-guide">
+<ANCHOR id="AppIndicator--x-ayatana-ordering-index" href="libappindicator/libappindicator-app-indicator.html#AppIndicator--x-ayatana-ordering-index">
<ANCHOR id="libappindicator-app-indicator.signal-details" href="libappindicator/libappindicator-app-indicator.html#libappindicator-app-indicator.signal-details">
<ANCHOR id="AppIndicator-connection-changed" href="libappindicator/libappindicator-app-indicator.html#AppIndicator-connection-changed">
<ANCHOR id="AppIndicator-new-attention-icon" href="libappindicator/libappindicator-app-indicator.html#AppIndicator-new-attention-icon">
<ANCHOR id="AppIndicator-new-icon" href="libappindicator/libappindicator-app-indicator.html#AppIndicator-new-icon">
<ANCHOR id="AppIndicator-new-icon-theme-path" href="libappindicator/libappindicator-app-indicator.html#AppIndicator-new-icon-theme-path">
+<ANCHOR id="AppIndicator-new-label" href="libappindicator/libappindicator-app-indicator.html#AppIndicator-new-label">
<ANCHOR id="AppIndicator-new-status" href="libappindicator/libappindicator-app-indicator.html#AppIndicator-new-status">
+<ANCHOR id="AppIndicator-x-ayatana-new-label" href="libappindicator/libappindicator-app-indicator.html#AppIndicator-x-ayatana-new-label">
diff --git a/docs/reference/html/libappindicator-app-indicator.html b/docs/reference/html/libappindicator-app-indicator.html
index ef83d4e..2217219 100644
--- a/docs/reference/html/libappindicator-app-indicator.html
+++ b/docs/reference/html/libappindicator-app-indicator.html
@@ -8,7 +8,7 @@
<link rel="up" href="ch01.html" title="Base Classes for Applications">
<link rel="prev" href="ch01.html" title="Base Classes for Applications">
<link rel="next" href="object-tree.html" title="Object Hierarchy">
-<meta name="generator" content="GTK-Doc V1.14 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.15 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -60,6 +60,7 @@ Unstable, unless otherwise indicated
#define <a class="link" href="libappindicator-app-indicator.html#APP-INDICATOR-SIGNAL-NEW-ICON:CAPS" title="APP_INDICATOR_SIGNAL_NEW_ICON">APP_INDICATOR_SIGNAL_NEW_ICON</a>
#define <a class="link" href="libappindicator-app-indicator.html#APP-INDICATOR-SIGNAL-NEW-ATTENTION-ICON:CAPS" title="APP_INDICATOR_SIGNAL_NEW_ATTENTION_ICON">APP_INDICATOR_SIGNAL_NEW_ATTENTION_ICON</a>
#define <a class="link" href="libappindicator-app-indicator.html#APP-INDICATOR-SIGNAL-NEW-STATUS:CAPS" title="APP_INDICATOR_SIGNAL_NEW_STATUS">APP_INDICATOR_SIGNAL_NEW_STATUS</a>
+#define <a class="link" href="libappindicator-app-indicator.html#APP-INDICATOR-SIGNAL-NEW-LABEL:CAPS" title="APP_INDICATOR_SIGNAL_NEW_LABEL">APP_INDICATOR_SIGNAL_NEW_LABEL</a>
#define <a class="link" href="libappindicator-app-indicator.html#APP-INDICATOR-SIGNAL-NEW-ICON-THEME-PATH:CAPS" title="APP_INDICATOR_SIGNAL_NEW_ICON_THEME_PATH">APP_INDICATOR_SIGNAL_NEW_ICON_THEME_PATH</a>
#define <a class="link" href="libappindicator-app-indicator.html#APP-INDICATOR-SIGNAL-CONNECTION-CHANGED:CAPS" title="APP_INDICATOR_SIGNAL_CONNECTION_CHANGED">APP_INDICATOR_SIGNAL_CONNECTION_CHANGED</a>
enum <a class="link" href="libappindicator-app-indicator.html#AppIndicatorCategory" title="enum AppIndicatorCategory">AppIndicatorCategory</a>;
@@ -85,6 +86,11 @@ enum <a class="link" href="libappindicator-app-indicator.html#App
<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> *icon_name</code></em>);
<span class="returnvalue">void</span> <a class="link" href="libappindicator-app-indicator.html#app-indicator-set-icon-theme-path" title="app_indicator_set_icon_theme_path ()">app_indicator_set_icon_theme_path</a> (<em class="parameter"><code><a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> *self</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> *icon_theme_path</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="libappindicator-app-indicator.html#app-indicator-set-label" title="app_indicator_set_label ()">app_indicator_set_label</a> (<em class="parameter"><code><a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> *self</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> *guide</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="libappindicator-app-indicator.html#app-indicator-set-ordering-index" title="app_indicator_set_ordering_index ()">app_indicator_set_ordering_index</a> (<em class="parameter"><code><a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> ordering_index</code></em>);
const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="libappindicator-app-indicator.html#app-indicator-get-id" title="app_indicator_get_id ()">app_indicator_get_id</a> (<em class="parameter"><code><a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> *self</code></em>);
<a class="link" href="libappindicator-app-indicator.html#AppIndicatorCategory" title="enum AppIndicatorCategory"><span class="returnvalue">AppIndicatorCategory</span></a> <a class="link" href="libappindicator-app-indicator.html#app-indicator-get-category" title="app_indicator_get_category ()">app_indicator_get_category</a> (<em class="parameter"><code><a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> *self</code></em>);
<a class="link" href="libappindicator-app-indicator.html#AppIndicatorStatus" title="enum AppIndicatorStatus"><span class="returnvalue">AppIndicatorStatus</span></a> <a class="link" href="libappindicator-app-indicator.html#app-indicator-get-status" title="app_indicator_get_status ()">app_indicator_get_status</a> (<em class="parameter"><code><a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> *self</code></em>);
@@ -92,6 +98,9 @@ const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.htm
const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="libappindicator-app-indicator.html#app-indicator-get-icon-theme-path" title="app_indicator_get_icon_theme_path ()">app_indicator_get_icon_theme_path</a> (<em class="parameter"><code><a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> *self</code></em>);
const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="libappindicator-app-indicator.html#app-indicator-get-attention-icon" title="app_indicator_get_attention_icon ()">app_indicator_get_attention_icon</a> (<em class="parameter"><code><a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> *self</code></em>);
<a href="http://library.gnome.org/devel/gtk/unstable/GtkMenu.html"><span class="returnvalue">GtkMenu</span></a> * <a class="link" href="libappindicator-app-indicator.html#app-indicator-get-menu" title="app_indicator_get_menu ()">app_indicator_get_menu</a> (<em class="parameter"><code><a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> *self</code></em>);
+const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="libappindicator-app-indicator.html#app-indicator-get-label" title="app_indicator_get_label ()">app_indicator_get_label</a> (<em class="parameter"><code><a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> *self</code></em>);
+const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="libappindicator-app-indicator.html#app-indicator-get-label-guide" title="app_indicator_get_label_guide ()">app_indicator_get_label_guide</a> (<em class="parameter"><code><a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> *self</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a> <a class="link" href="libappindicator-app-indicator.html#app-indicator-get-ordering-index" title="app_indicator_get_ordering_index ()">app_indicator_get_ordering_index</a> (<em class="parameter"><code><a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> *self</code></em>);
</pre>
</div>
<div class="refsect1" title="Object Hierarchy">
@@ -110,8 +119,14 @@ const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.htm
"<a class="link" href="libappindicator-app-indicator.html#AppIndicator--icon-name" title='The "icon-name" property'>icon-name</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write / Construct
"<a class="link" href="libappindicator-app-indicator.html#AppIndicator--icon-theme-path" title='The "icon-theme-path" property'>icon-theme-path</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write / Construct
"<a class="link" href="libappindicator-app-indicator.html#AppIndicator--id" title='The "id" property'>id</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write / Construct Only
+ "<a class="link" href="libappindicator-app-indicator.html#AppIndicator--label" title='The "label" property'>label</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write
+ "<a class="link" href="libappindicator-app-indicator.html#AppIndicator--label-guide" title='The "label-guide" property'>label-guide</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write
"<a class="link" href="libappindicator-app-indicator.html#AppIndicator--menu" title='The "menu" property'>menu</a>" <span class="type">DBusGObjectPath</span>* : Read
+ "<a class="link" href="libappindicator-app-indicator.html#AppIndicator--ordering-index" title='The "ordering-index" property'>ordering-index</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write
"<a class="link" href="libappindicator-app-indicator.html#AppIndicator--status" title='The "status" property'>status</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write
+ "<a class="link" href="libappindicator-app-indicator.html#AppIndicator--x-ayatana-label" title='The "x-ayatana-label" property'>x-ayatana-label</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write
+ "<a class="link" href="libappindicator-app-indicator.html#AppIndicator--x-ayatana-label-guide" title='The "x-ayatana-label-guide" property'>x-ayatana-label-guide</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write
+ "<a class="link" href="libappindicator-app-indicator.html#AppIndicator--x-ayatana-ordering-index" title='The "x-ayatana-ordering-index" property'>x-ayatana-ordering-index</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write
</pre>
</div>
<div class="refsect1" title="Signals">
@@ -121,7 +136,9 @@ const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.htm
"<a class="link" href="libappindicator-app-indicator.html#AppIndicator-new-attention-icon" title='The "new-attention-icon" signal'>new-attention-icon</a>" : Run Last
"<a class="link" href="libappindicator-app-indicator.html#AppIndicator-new-icon" title='The "new-icon" signal'>new-icon</a>" : Run Last
"<a class="link" href="libappindicator-app-indicator.html#AppIndicator-new-icon-theme-path" title='The "new-icon-theme-path" signal'>new-icon-theme-path</a>" : Run Last
+ "<a class="link" href="libappindicator-app-indicator.html#AppIndicator-new-label" title='The "new-label" signal'>new-label</a>" : Run Last
"<a class="link" href="libappindicator-app-indicator.html#AppIndicator-new-status" title='The "new-status" signal'>new-status</a>" : Run Last
+ "<a class="link" href="libappindicator-app-indicator.html#AppIndicator-x-ayatana-new-label" title='The "x-ayatana-new-label" signal'>x-ayatana-new-label</a>" : Run Last
</pre>
</div>
<div class="refsect1" title="Description">
@@ -261,6 +278,15 @@ String identifier for the <a class="link" href="libappindicator-app-indicator.ht
</p>
</div>
<hr>
+<div class="refsect2" title="APP_INDICATOR_SIGNAL_NEW_LABEL">
+<a name="APP-INDICATOR-SIGNAL-NEW-LABEL:CAPS"></a><h3>APP_INDICATOR_SIGNAL_NEW_LABEL</h3>
+<pre class="programlisting">#define APP_INDICATOR_SIGNAL_NEW_LABEL "new-label"
+</pre>
+<p>
+String identifier for the <a class="link" href="libappindicator-app-indicator.html#AppIndicator-new-label" title='The "new-label" signal'><span class="type">"new-label"</span></a> signal.
+</p>
+</div>
+<hr>
<div class="refsect2" title="APP_INDICATOR_SIGNAL_NEW_ICON_THEME_PATH">
<a name="APP-INDICATOR-SIGNAL-NEW-ICON-THEME-PATH:CAPS"></a><h3>APP_INDICATOR_SIGNAL_NEW_ICON_THEME_PATH</h3>
<pre class="programlisting">#define APP_INDICATOR_SIGNAL_NEW_ICON_THEME_PATH "new-icon-theme-path"
@@ -395,23 +421,33 @@ A application indicator represents the values that are needed to show a
void (* new_status) (AppIndicator *indicator,
const gchar *status,
gpointer user_data);
+ void (* new_icon_theme_path) (AppIndicator *indicator,
+ const gchar *icon_theme_path,
+ gpointer user_data);
+ void (* new_label) (AppIndicator *indicator,
+ const gchar *label,
+ const gchar *guide,
+ gpointer user_data);
/* Local Signals */
void (* connection_changed) (AppIndicator * indicator,
gboolean connected,
gpointer user_data);
+ void (*app_indicator_reserved_sw)(void);
+ void (*app_indicator_reserved_ats)(void);
/* Overridable Functions */
GtkStatusIcon * (*fallback) (AppIndicator * indicator);
void (*unfallback) (AppIndicator * indicator,
GtkStatusIcon * status_icon);
- void (* new_icon_theme_path) (AppIndicator *indicator,
- const gchar *icon_theme_path,
- gpointer user_data);
-
/* Reserved */
+ void (*app_indicator_reserved_1)(void);
void (*app_indicator_reserved_2)(void);
+ void (*app_indicator_reserved_3)(void);
+ void (*app_indicator_reserved_4)(void);
+ void (*app_indicator_reserved_5)(void);
+ void (*app_indicator_reserved_6)(void);
} AppIndicatorClass;
</pre>
<p>
@@ -442,11 +478,31 @@ The signals and external functions that make up the <a class="link" href="libapp
</td>
</tr>
<tr>
+<td><p><span class="term"><em class="structfield"><code><a name="AppIndicatorClass.new-icon-theme-path"></a>new_icon_theme_path</code></em> ()</span></p></td>
+<td>Slot for <a class="link" href="libappindicator-app-indicator.html#AppIndicator-new-icon-theme-path" title='The "new-icon-theme-path" signal'><span class="type">"new-icon-theme-path"</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="structfield"><code><a name="AppIndicatorClass.new-label"></a>new_label</code></em> ()</span></p></td>
+<td>Slot for <a class="link" href="libappindicator-app-indicator.html#AppIndicator-new-label" title='The "new-label" signal'><span class="type">"new-label"</span></a>.
+</td>
+</tr>
+<tr>
<td><p><span class="term"><em class="structfield"><code><a name="AppIndicatorClass.connection-changed"></a>connection_changed</code></em> ()</span></p></td>
<td>Slot for <a class="link" href="libappindicator-app-indicator.html#AppIndicator-connection-changed" title='The "connection-changed" signal'><span class="type">"connection-changed"</span></a>.
</td>
</tr>
<tr>
+<td><p><span class="term"><em class="structfield"><code><a name="AppIndicatorClass.app-indicator-reserved-sw"></a>app_indicator_reserved_sw</code></em> ()</span></p></td>
+<td>Reserved for future use.
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="structfield"><code><a name="AppIndicatorClass.app-indicator-reserved-ats"></a>app_indicator_reserved_ats</code></em> ()</span></p></td>
+<td>Reserved for future use.
+</td>
+</tr>
+<tr>
<td><p><span class="term"><em class="structfield"><code><a name="AppIndicatorClass.fallback"></a>fallback</code></em> ()</span></p></td>
<td>Function that gets called to make a <a href="http://library.gnome.org/devel/gtk/unstable/GtkStatusIcon.html"><span class="type">GtkStatusIcon</span></a> when
there is no Application Indicator area available.
@@ -459,8 +515,8 @@ The signals and external functions that make up the <a class="link" href="libapp
</td>
</tr>
<tr>
-<td><p><span class="term"><em class="structfield"><code><a name="AppIndicatorClass.new-icon-theme-path"></a>new_icon_theme_path</code></em> ()</span></p></td>
-<td>Slot for <a class="link" href="libappindicator-app-indicator.html#AppIndicator-new-icon-theme-path" title='The "new-icon-theme-path" signal'><span class="type">"new-icon-theme-path"</span></a>
+<td><p><span class="term"><em class="structfield"><code><a name="AppIndicatorClass.app-indicator-reserved-1"></a>app_indicator_reserved_1</code></em> ()</span></p></td>
+<td>Reserved for future use.
</td>
</tr>
<tr>
@@ -468,6 +524,26 @@ The signals and external functions that make up the <a class="link" href="libapp
<td>Reserved for future use.
</td>
</tr>
+<tr>
+<td><p><span class="term"><em class="structfield"><code><a name="AppIndicatorClass.app-indicator-reserved-3"></a>app_indicator_reserved_3</code></em> ()</span></p></td>
+<td>Reserved for future use.
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="structfield"><code><a name="AppIndicatorClass.app-indicator-reserved-4"></a>app_indicator_reserved_4</code></em> ()</span></p></td>
+<td>Reserved for future use.
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="structfield"><code><a name="AppIndicatorClass.app-indicator-reserved-5"></a>app_indicator_reserved_5</code></em> ()</span></p></td>
+<td>Reserved for future use.
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="structfield"><code><a name="AppIndicatorClass.app-indicator-reserved-6"></a>app_indicator_reserved_6</code></em> ()</span></p></td>
+<td>Reserved for future use.
+</td>
+</tr>
</tbody>
</table></div>
</div>
@@ -697,6 +773,67 @@ Sets the path to use when searching for icons.
</table></div>
</div>
<hr>
+<div class="refsect2" title="app_indicator_set_label ()">
+<a name="app-indicator-set-label"></a><h3>app_indicator_set_label ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> app_indicator_set_label (<em class="parameter"><code><a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> *self</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> *guide</code></em>);</pre>
+<p>
+This is a wrapper function for the <a class="link" href="libappindicator-app-indicator.html#AppIndicator--label" title='The "label" property'><span class="type">"label"</span></a> and
+ <span class="type">"guide"</span> properties. This function can take <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>
+ as either <em class="parameter"><code>label</code></em> or <em class="parameter"><code>guide</code></em> and will clear the entries.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>The <a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> object to use
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>label</code></em> :</span></p></td>
+<td>The label to show next to the icon.
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>guide</code></em> :</span></p></td>
+<td>A guide to size the label correctly.
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" title="app_indicator_set_ordering_index ()">
+<a name="app-indicator-set-ordering-index"></a><h3>app_indicator_set_ordering_index ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> app_indicator_set_ordering_index (<em class="parameter"><code><a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> ordering_index</code></em>);</pre>
+<p>
+Sets the ordering index for the app indicator which effects the
+ placement of it on the panel. For almost all app indicator
+ this is not the function you're looking for.
+</p>
+<p>
+ Wrapper function for property <a class="link" href="libappindicator-app-indicator.html#AppIndicator--ordering-index" title='The "ordering-index" property'><span class="type">"ordering-index"</span></a>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>The <a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>ordering_index</code></em> :</span></p></td>
+<td>A value for the ordering of this app indicator
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
<div class="refsect2" title="app_indicator_get_id ()">
<a name="app-indicator-get-id"></a><h3>app_indicator_get_id ()</h3>
<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * app_indicator_get_id (<em class="parameter"><code><a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> *self</code></em>);</pre>
@@ -858,6 +995,75 @@ Gets the menu being used for this application indicator.
</tbody>
</table></div>
</div>
+<hr>
+<div class="refsect2" title="app_indicator_get_label ()">
+<a name="app-indicator-get-label"></a><h3>app_indicator_get_label ()</h3>
+<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * app_indicator_get_label (<em class="parameter"><code><a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> *self</code></em>);</pre>
+<p>
+Wrapper function for property <a class="link" href="libappindicator-app-indicator.html#AppIndicator--label" title='The "label" property'><span class="type">"label"</span></a>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>The <a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> object to use
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td> The current label.
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" title="app_indicator_get_label_guide ()">
+<a name="app-indicator-get-label-guide"></a><h3>app_indicator_get_label_guide ()</h3>
+<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * app_indicator_get_label_guide (<em class="parameter"><code><a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> *self</code></em>);</pre>
+<p>
+Wrapper function for property <a class="link" href="libappindicator-app-indicator.html#AppIndicator--label-guide" title='The "label-guide" property'><span class="type">"label-guide"</span></a>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>The <a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> object to use
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td> The current label guide.
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" title="app_indicator_get_ordering_index ()">
+<a name="app-indicator-get-ordering-index"></a><h3>app_indicator_get_ordering_index ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a> app_indicator_get_ordering_index (<em class="parameter"><code><a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> *self</code></em>);</pre>
+<p>
+Wrapper function for property <a class="link" href="libappindicator-app-indicator.html#AppIndicator--ordering-index" title='The "ordering-index" property'><span class="type">"ordering-index"</span></a>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
+<td>The <a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> object to use
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td> The current ordering index.
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
</div>
<div class="refsect1" title="Property Details">
<a name="libappindicator-app-indicator.property-details"></a><h2>Property Details</h2>
@@ -920,6 +1126,35 @@ The ID for this indicator, which should be unique, but used consistently
<p>Default value: NULL</p>
</div>
<hr>
+<div class="refsect2" title='The "label" property'>
+<a name="AppIndicator--label"></a><h3>The <code class="literal">"label"</code> property</h3>
+<pre class="programlisting"> "label" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write</pre>
+<p>
+A label that can be shown next to the string in the application
+ indicator. The label will not be shown unless there is an icon
+ as well. The label is useful for numerical and other frequently
+ updated information. In general, it shouldn't be shown unless a
+ user requests it as it can take up a significant amount of space
+ on the user's panel. This may not be shown in all visualizations.
+</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2" title='The "label-guide" property'>
+<a name="AppIndicator--label-guide"></a><h3>The <code class="literal">"label-guide"</code> property</h3>
+<pre class="programlisting"> "label-guide" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write</pre>
+<p>
+An optional string to provide guidance to the panel on how big
+ the <a class="link" href="libappindicator-app-indicator.html#AppIndicator--label" title='The "label" property'><span class="type">"label"</span></a> string could get. If this is set correctly
+ then the panel should never 'jiggle' as the string adjusts through
+ out the range of options. For instance, if you were providing a
+ percentage like "54% thrust" in <a class="link" href="libappindicator-app-indicator.html#AppIndicator--label" title='The "label" property'><span class="type">"label"</span></a> you'd want to
+ set this string to "100% thrust" to ensure space when Scotty can
+ get you enough power.
+</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
<div class="refsect2" title='The "menu" property'>
<a name="AppIndicator--menu"></a><h3>The <code class="literal">"menu"</code> property</h3>
<pre class="programlisting"> "menu" <span class="type">DBusGObjectPath</span>* : Read</pre>
@@ -928,6 +1163,22 @@ A method for getting the menu path as a string for DBus.
</p>
</div>
<hr>
+<div class="refsect2" title='The "ordering-index" property'>
+<a name="AppIndicator--ordering-index"></a><h3>The <code class="literal">"ordering-index"</code> property</h3>
+<pre class="programlisting"> "ordering-index" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write</pre>
+<p>
+The ordering index is an odd parameter, and if you think you don't need
+ it you're probably right. In general, the application indicator try
+ to place the applications in a recreatable place taking into account
+ which category they're in to try and group them. But, there are some
+ cases where you'd want to ensure indicators are next to each other.
+ To do that you can override the generated ordering index and replace it
+ with a new one. Again, you probably don't want to be doing this, but
+ in case you do, this is the way.
+</p>
+<p>Default value: 0</p>
+</div>
+<hr>
<div class="refsect2" title='The "status" property'>
<a name="AppIndicator--status"></a><h3>The <code class="literal">"status"</code> property</h3>
<pre class="programlisting"> "status" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write</pre>
@@ -937,6 +1188,37 @@ Whether the indicator is shown or requests attention. Defaults to
</p>
<p>Default value: NULL</p>
</div>
+<hr>
+<div class="refsect2" title='The "x-ayatana-label" property'>
+<a name="AppIndicator--x-ayatana-label"></a><h3>The <code class="literal">"x-ayatana-label"</code> property</h3>
+<pre class="programlisting"> "x-ayatana-label" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write</pre>
+<p>
+Wrapper for <a class="link" href="libappindicator-app-indicator.html#AppIndicator--label" title='The "label" property'><span class="type">"label"</span></a>. Please use that in all of your
+ code.
+</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2" title='The "x-ayatana-label-guide" property'>
+<a name="AppIndicator--x-ayatana-label-guide"></a><h3>The <code class="literal">"x-ayatana-label-guide"</code> property</h3>
+<pre class="programlisting"> "x-ayatana-label-guide" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write</pre>
+<p>
+Wrapper for <a class="link" href="libappindicator-app-indicator.html#AppIndicator--label-guide" title='The "label-guide" property'><span class="type">"label-guide"</span></a>. Please use that in all of your
+ code.
+</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2" title='The "x-ayatana-ordering-index" property'>
+<a name="AppIndicator--x-ayatana-ordering-index"></a><h3>The <code class="literal">"x-ayatana-ordering-index"</code> property</h3>
+<pre class="programlisting"> "x-ayatana-ordering-index" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write</pre>
+<p>
+A wrapper for <a class="link" href="libappindicator-app-indicator.html#AppIndicator--ordering-index" title='The "ordering-index" property'><span class="type">"ordering-index"</span></a> so that it can match the
+ dbus interface currently. It will hopefully be retired, please don't
+ use it anywhere.
+</p>
+<p>Default value: 0</p>
+</div>
</div>
<div class="refsect1" title="Signal Details">
<a name="libappindicator-app-indicator.signal-details"></a><h2>Signal Details</h2>
@@ -1040,6 +1322,42 @@ Signaled when there is a new icon set for the
</table></div>
</div>
<hr>
+<div class="refsect2" title='The "new-label" signal'>
+<a name="AppIndicator-new-label"></a><h3>The <code class="literal">"new-label"</code> signal</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> *arg0,
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg1,
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg1,
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : Run Last</pre>
+<p>
+Emitted when either <a class="link" href="libappindicator-app-indicator.html#AppIndicator--label" title='The "label" property'><span class="type">"label"</span></a> or <a class="link" href="libappindicator-app-indicator.html#AppIndicator--label-guide" title='The "label-guide" property'><span class="type">"label-guide"</span></a> are
+ changed.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>arg0</code></em> :</span></p></td>
+<td>The <a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> object
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>arg1</code></em> :</span></p></td>
+<td>The string for the label
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>arg1</code></em> :</span></p></td>
+<td>The string for the guide
+</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" title='The "new-status" signal'>
<a name="AppIndicator-new-status"></a><h3>The <code class="literal">"new-status"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> *arg0,
@@ -1068,10 +1386,46 @@ Emitted when <a class="link" href="libappindicator-app-indicator.html#AppIndicat
</tbody>
</table></div>
</div>
+<hr>
+<div class="refsect2" title='The "x-ayatana-new-label" signal'>
+<a name="AppIndicator-x-ayatana-new-label"></a><h3>The <code class="literal">"x-ayatana-new-label"</code> signal</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> *arg0,
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg1,
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg1,
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : Run Last</pre>
+<p>
+Wrapper for <a class="link" href="libappindicator-app-indicator.html#AppIndicator-new-label" title='The "new-label" signal'><span class="type">"new-label"</span></a>, please don't use this signal
+ use the other one.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>arg0</code></em> :</span></p></td>
+<td>The <a class="link" href="libappindicator-app-indicator.html#AppIndicator"><span class="type">AppIndicator</span></a> object
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>arg1</code></em> :</span></p></td>
+<td>The string for the label
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>arg1</code></em> :</span></p></td>
+<td>The string for the guide
+</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.14</div>
+ Generated by GTK-Doc V1.15</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/libappindicator.devhelp b/docs/reference/html/libappindicator.devhelp
index 106c208..848aa27 100644
--- a/docs/reference/html/libappindicator.devhelp
+++ b/docs/reference/html/libappindicator.devhelp
@@ -18,6 +18,7 @@
<function name="APP_INDICATOR_SIGNAL_NEW_ICON" link="libappindicator-app-indicator.html#APP-INDICATOR-SIGNAL-NEW-ICON:CAPS"/>
<function name="APP_INDICATOR_SIGNAL_NEW_ATTENTION_ICON" link="libappindicator-app-indicator.html#APP-INDICATOR-SIGNAL-NEW-ATTENTION-ICON:CAPS"/>
<function name="APP_INDICATOR_SIGNAL_NEW_STATUS" link="libappindicator-app-indicator.html#APP-INDICATOR-SIGNAL-NEW-STATUS:CAPS"/>
+ <function name="APP_INDICATOR_SIGNAL_NEW_LABEL" link="libappindicator-app-indicator.html#APP-INDICATOR-SIGNAL-NEW-LABEL:CAPS"/>
<function name="APP_INDICATOR_SIGNAL_NEW_ICON_THEME_PATH" link="libappindicator-app-indicator.html#APP-INDICATOR-SIGNAL-NEW-ICON-THEME-PATH:CAPS"/>
<function name="APP_INDICATOR_SIGNAL_CONNECTION_CHANGED" link="libappindicator-app-indicator.html#APP-INDICATOR-SIGNAL-CONNECTION-CHANGED:CAPS"/>
<function name="enum AppIndicatorCategory" link="libappindicator-app-indicator.html#AppIndicatorCategory"/>
@@ -33,6 +34,8 @@
<function name="app_indicator_set_menu ()" link="libappindicator-app-indicator.html#app-indicator-set-menu"/>
<function name="app_indicator_set_icon ()" link="libappindicator-app-indicator.html#app-indicator-set-icon"/>
<function name="app_indicator_set_icon_theme_path ()" link="libappindicator-app-indicator.html#app-indicator-set-icon-theme-path"/>
+ <function name="app_indicator_set_label ()" link="libappindicator-app-indicator.html#app-indicator-set-label"/>
+ <function name="app_indicator_set_ordering_index ()" link="libappindicator-app-indicator.html#app-indicator-set-ordering-index"/>
<function name="app_indicator_get_id ()" link="libappindicator-app-indicator.html#app-indicator-get-id"/>
<function name="app_indicator_get_category ()" link="libappindicator-app-indicator.html#app-indicator-get-category"/>
<function name="app_indicator_get_status ()" link="libappindicator-app-indicator.html#app-indicator-get-status"/>
@@ -40,18 +43,29 @@
<function name="app_indicator_get_icon_theme_path ()" link="libappindicator-app-indicator.html#app-indicator-get-icon-theme-path"/>
<function name="app_indicator_get_attention_icon ()" link="libappindicator-app-indicator.html#app-indicator-get-attention-icon"/>
<function name="app_indicator_get_menu ()" link="libappindicator-app-indicator.html#app-indicator-get-menu"/>
+ <function name="app_indicator_get_label ()" link="libappindicator-app-indicator.html#app-indicator-get-label"/>
+ <function name="app_indicator_get_label_guide ()" link="libappindicator-app-indicator.html#app-indicator-get-label-guide"/>
+ <function name="app_indicator_get_ordering_index ()" link="libappindicator-app-indicator.html#app-indicator-get-ordering-index"/>
<function name="The &quot;attention-icon-name&quot; property" link="libappindicator-app-indicator.html#AppIndicator--attention-icon-name"/>
<function name="The &quot;category&quot; property" link="libappindicator-app-indicator.html#AppIndicator--category"/>
<function name="The &quot;connected&quot; property" link="libappindicator-app-indicator.html#AppIndicator--connected"/>
<function name="The &quot;icon-name&quot; property" link="libappindicator-app-indicator.html#AppIndicator--icon-name"/>
<function name="The &quot;icon-theme-path&quot; property" link="libappindicator-app-indicator.html#AppIndicator--icon-theme-path"/>
<function name="The &quot;id&quot; property" link="libappindicator-app-indicator.html#AppIndicator--id"/>
+ <function name="The &quot;label&quot; property" link="libappindicator-app-indicator.html#AppIndicator--label"/>
+ <function name="The &quot;label-guide&quot; property" link="libappindicator-app-indicator.html#AppIndicator--label-guide"/>
<function name="The &quot;menu&quot; property" link="libappindicator-app-indicator.html#AppIndicator--menu"/>
+ <function name="The &quot;ordering-index&quot; property" link="libappindicator-app-indicator.html#AppIndicator--ordering-index"/>
<function name="The &quot;status&quot; property" link="libappindicator-app-indicator.html#AppIndicator--status"/>
+ <function name="The &quot;x-ayatana-label&quot; property" link="libappindicator-app-indicator.html#AppIndicator--x-ayatana-label"/>
+ <function name="The &quot;x-ayatana-label-guide&quot; property" link="libappindicator-app-indicator.html#AppIndicator--x-ayatana-label-guide"/>
+ <function name="The &quot;x-ayatana-ordering-index&quot; property" link="libappindicator-app-indicator.html#AppIndicator--x-ayatana-ordering-index"/>
<function name="The &quot;connection-changed&quot; signal" link="libappindicator-app-indicator.html#AppIndicator-connection-changed"/>
<function name="The &quot;new-attention-icon&quot; signal" link="libappindicator-app-indicator.html#AppIndicator-new-attention-icon"/>
<function name="The &quot;new-icon&quot; signal" link="libappindicator-app-indicator.html#AppIndicator-new-icon"/>
<function name="The &quot;new-icon-theme-path&quot; signal" link="libappindicator-app-indicator.html#AppIndicator-new-icon-theme-path"/>
+ <function name="The &quot;new-label&quot; signal" link="libappindicator-app-indicator.html#AppIndicator-new-label"/>
<function name="The &quot;new-status&quot; signal" link="libappindicator-app-indicator.html#AppIndicator-new-status"/>
+ <function name="The &quot;x-ayatana-new-label&quot; signal" link="libappindicator-app-indicator.html#AppIndicator-x-ayatana-new-label"/>
</functions>
</book>
diff --git a/docs/reference/html/libappindicator.devhelp2 b/docs/reference/html/libappindicator.devhelp2
index 7203dcf..644764f 100644
--- a/docs/reference/html/libappindicator.devhelp2
+++ b/docs/reference/html/libappindicator.devhelp2
@@ -18,6 +18,7 @@
<keyword type="macro" name="APP_INDICATOR_SIGNAL_NEW_ICON" link="libappindicator-app-indicator.html#APP-INDICATOR-SIGNAL-NEW-ICON:CAPS"/>
<keyword type="macro" name="APP_INDICATOR_SIGNAL_NEW_ATTENTION_ICON" link="libappindicator-app-indicator.html#APP-INDICATOR-SIGNAL-NEW-ATTENTION-ICON:CAPS"/>
<keyword type="macro" name="APP_INDICATOR_SIGNAL_NEW_STATUS" link="libappindicator-app-indicator.html#APP-INDICATOR-SIGNAL-NEW-STATUS:CAPS"/>
+ <keyword type="macro" name="APP_INDICATOR_SIGNAL_NEW_LABEL" link="libappindicator-app-indicator.html#APP-INDICATOR-SIGNAL-NEW-LABEL:CAPS"/>
<keyword type="macro" name="APP_INDICATOR_SIGNAL_NEW_ICON_THEME_PATH" link="libappindicator-app-indicator.html#APP-INDICATOR-SIGNAL-NEW-ICON-THEME-PATH:CAPS"/>
<keyword type="macro" name="APP_INDICATOR_SIGNAL_CONNECTION_CHANGED" link="libappindicator-app-indicator.html#APP-INDICATOR-SIGNAL-CONNECTION-CHANGED:CAPS"/>
<keyword type="enum" name="enum AppIndicatorCategory" link="libappindicator-app-indicator.html#AppIndicatorCategory"/>
@@ -33,6 +34,8 @@
<keyword type="function" name="app_indicator_set_menu ()" link="libappindicator-app-indicator.html#app-indicator-set-menu"/>
<keyword type="function" name="app_indicator_set_icon ()" link="libappindicator-app-indicator.html#app-indicator-set-icon"/>
<keyword type="function" name="app_indicator_set_icon_theme_path ()" link="libappindicator-app-indicator.html#app-indicator-set-icon-theme-path"/>
+ <keyword type="function" name="app_indicator_set_label ()" link="libappindicator-app-indicator.html#app-indicator-set-label"/>
+ <keyword type="function" name="app_indicator_set_ordering_index ()" link="libappindicator-app-indicator.html#app-indicator-set-ordering-index"/>
<keyword type="function" name="app_indicator_get_id ()" link="libappindicator-app-indicator.html#app-indicator-get-id"/>
<keyword type="function" name="app_indicator_get_category ()" link="libappindicator-app-indicator.html#app-indicator-get-category"/>
<keyword type="function" name="app_indicator_get_status ()" link="libappindicator-app-indicator.html#app-indicator-get-status"/>
@@ -40,19 +43,30 @@
<keyword type="function" name="app_indicator_get_icon_theme_path ()" link="libappindicator-app-indicator.html#app-indicator-get-icon-theme-path"/>
<keyword type="function" name="app_indicator_get_attention_icon ()" link="libappindicator-app-indicator.html#app-indicator-get-attention-icon"/>
<keyword type="function" name="app_indicator_get_menu ()" link="libappindicator-app-indicator.html#app-indicator-get-menu"/>
+ <keyword type="function" name="app_indicator_get_label ()" link="libappindicator-app-indicator.html#app-indicator-get-label"/>
+ <keyword type="function" name="app_indicator_get_label_guide ()" link="libappindicator-app-indicator.html#app-indicator-get-label-guide"/>
+ <keyword type="function" name="app_indicator_get_ordering_index ()" link="libappindicator-app-indicator.html#app-indicator-get-ordering-index"/>
<keyword type="property" name="The &quot;attention-icon-name&quot; property" link="libappindicator-app-indicator.html#AppIndicator--attention-icon-name"/>
<keyword type="property" name="The &quot;category&quot; property" link="libappindicator-app-indicator.html#AppIndicator--category"/>
<keyword type="property" name="The &quot;connected&quot; property" link="libappindicator-app-indicator.html#AppIndicator--connected"/>
<keyword type="property" name="The &quot;icon-name&quot; property" link="libappindicator-app-indicator.html#AppIndicator--icon-name"/>
<keyword type="property" name="The &quot;icon-theme-path&quot; property" link="libappindicator-app-indicator.html#AppIndicator--icon-theme-path"/>
<keyword type="property" name="The &quot;id&quot; property" link="libappindicator-app-indicator.html#AppIndicator--id"/>
+ <keyword type="property" name="The &quot;label&quot; property" link="libappindicator-app-indicator.html#AppIndicator--label"/>
+ <keyword type="property" name="The &quot;label-guide&quot; property" link="libappindicator-app-indicator.html#AppIndicator--label-guide"/>
<keyword type="property" name="The &quot;menu&quot; property" link="libappindicator-app-indicator.html#AppIndicator--menu"/>
+ <keyword type="property" name="The &quot;ordering-index&quot; property" link="libappindicator-app-indicator.html#AppIndicator--ordering-index"/>
<keyword type="property" name="The &quot;status&quot; property" link="libappindicator-app-indicator.html#AppIndicator--status"/>
+ <keyword type="property" name="The &quot;x-ayatana-label&quot; property" link="libappindicator-app-indicator.html#AppIndicator--x-ayatana-label"/>
+ <keyword type="property" name="The &quot;x-ayatana-label-guide&quot; property" link="libappindicator-app-indicator.html#AppIndicator--x-ayatana-label-guide"/>
+ <keyword type="property" name="The &quot;x-ayatana-ordering-index&quot; property" link="libappindicator-app-indicator.html#AppIndicator--x-ayatana-ordering-index"/>
<keyword type="signal" name="The &quot;connection-changed&quot; signal" link="libappindicator-app-indicator.html#AppIndicator-connection-changed"/>
<keyword type="signal" name="The &quot;new-attention-icon&quot; signal" link="libappindicator-app-indicator.html#AppIndicator-new-attention-icon"/>
<keyword type="signal" name="The &quot;new-icon&quot; signal" link="libappindicator-app-indicator.html#AppIndicator-new-icon"/>
<keyword type="signal" name="The &quot;new-icon-theme-path&quot; signal" link="libappindicator-app-indicator.html#AppIndicator-new-icon-theme-path"/>
+ <keyword type="signal" name="The &quot;new-label&quot; signal" link="libappindicator-app-indicator.html#AppIndicator-new-label"/>
<keyword type="signal" name="The &quot;new-status&quot; signal" link="libappindicator-app-indicator.html#AppIndicator-new-status"/>
+ <keyword type="signal" name="The &quot;x-ayatana-new-label&quot; signal" link="libappindicator-app-indicator.html#AppIndicator-x-ayatana-new-label"/>
<keyword type="constant" name="APP_INDICATOR_CATEGORY_APPLICATION_STATUS" link="libappindicator-app-indicator.html#APP-INDICATOR-CATEGORY-APPLICATION-STATUS:CAPS"/>
<keyword type="constant" name="APP_INDICATOR_CATEGORY_COMMUNICATIONS" link="libappindicator-app-indicator.html#APP-INDICATOR-CATEGORY-COMMUNICATIONS:CAPS"/>
<keyword type="constant" name="APP_INDICATOR_CATEGORY_SYSTEM_SERVICES" link="libappindicator-app-indicator.html#APP-INDICATOR-CATEGORY-SYSTEM-SERVICES:CAPS"/>
diff --git a/docs/reference/html/object-tree.html b/docs/reference/html/object-tree.html
index 5412b9e..d6e519f 100644
--- a/docs/reference/html/object-tree.html
+++ b/docs/reference/html/object-tree.html
@@ -8,7 +8,7 @@
<link rel="up" href="index.html" title="libappindicator Reference Manual">
<link rel="prev" href="libappindicator-app-indicator.html" title="AppIndicator">
<link rel="next" href="api-index-full.html" title="API Index">
-<meta name="generator" content="GTK-Doc V1.14 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.15 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -29,6 +29,6 @@
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.14</div>
+ Generated by GTK-Doc V1.15</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/style.css b/docs/reference/html/style.css
index 82115eb..d544a2c 100644
--- a/docs/reference/html/style.css
+++ b/docs/reference/html/style.css
@@ -209,6 +209,14 @@ h2 .extralinks, h3 .extralinks
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 */
diff --git a/docs/reference/libappindicator-docs.sgml b/docs/reference/libappindicator-docs.sgml
index e01b4bd..0112544 100644
--- a/docs/reference/libappindicator-docs.sgml
+++ b/docs/reference/libappindicator-docs.sgml
@@ -8,7 +8,7 @@
<bookinfo>
<title>libappindicator Reference Manual</title>
<releaseinfo>
- for libappindicator 0.2.4
+ for libappindicator 0.2.5
</releaseinfo>
</bookinfo>
diff --git a/docs/reference/tmpl/app-indicator.sgml b/docs/reference/tmpl/app-indicator.sgml
index 7e6b441..0c8eab3 100644
--- a/docs/reference/tmpl/app-indicator.sgml
+++ b/docs/reference/tmpl/app-indicator.sgml
@@ -88,6 +88,13 @@ AppIndicator
+<!-- ##### MACRO APP_INDICATOR_SIGNAL_NEW_LABEL ##### -->
+<para>
+
+</para>
+
+
+
<!-- ##### MACRO APP_INDICATOR_SIGNAL_NEW_ICON_THEME_PATH ##### -->
<para>
@@ -164,6 +171,15 @@ AppIndicator
@appindicator: the object which received the signal.
@arg1:
+<!-- ##### SIGNAL AppIndicator::new-label ##### -->
+<para>
+
+</para>
+
+@appindicator: the object which received the signal.
+@arg1:
+@arg2:
+
<!-- ##### SIGNAL AppIndicator::new-status ##### -->
<para>
@@ -172,6 +188,15 @@ AppIndicator
@appindicator: the object which received the signal.
@arg1:
+<!-- ##### SIGNAL AppIndicator::x-ayatana-new-label ##### -->
+<para>
+
+</para>
+
+@appindicator: the object which received the signal.
+@arg1:
+@arg2:
+
<!-- ##### ARG AppIndicator:attention-icon-name ##### -->
<para>
@@ -202,16 +227,46 @@ AppIndicator
</para>
+<!-- ##### ARG AppIndicator:label ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG AppIndicator:label-guide ##### -->
+<para>
+
+</para>
+
<!-- ##### ARG AppIndicator:menu ##### -->
<para>
</para>
+<!-- ##### ARG AppIndicator:ordering-index ##### -->
+<para>
+
+</para>
+
<!-- ##### ARG AppIndicator:status ##### -->
<para>
</para>
+<!-- ##### ARG AppIndicator:x-ayatana-label ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG AppIndicator:x-ayatana-label-guide ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG AppIndicator:x-ayatana-ordering-index ##### -->
+<para>
+
+</para>
+
<!-- ##### STRUCT AppIndicatorClass ##### -->
<para>
@@ -221,11 +276,19 @@ AppIndicator
@new_icon:
@new_attention_icon:
@new_status:
+@new_icon_theme_path:
+@new_label:
@connection_changed:
+@app_indicator_reserved_sw:
+@app_indicator_reserved_ats:
@fallback:
@unfallback:
-@new_icon_theme_path:
+@app_indicator_reserved_1:
@app_indicator_reserved_2:
+@app_indicator_reserved_3:
+@app_indicator_reserved_4:
+@app_indicator_reserved_5:
+@app_indicator_reserved_6:
<!-- ##### FUNCTION app_indicator_get_type ##### -->
<para>
@@ -304,6 +367,25 @@ AppIndicator
@icon_theme_path:
+<!-- ##### FUNCTION app_indicator_set_label ##### -->
+<para>
+
+</para>
+
+@self:
+@label:
+@guide:
+
+
+<!-- ##### FUNCTION app_indicator_set_ordering_index ##### -->
+<para>
+
+</para>
+
+@self:
+@ordering_index:
+
+
<!-- ##### FUNCTION app_indicator_get_id ##### -->
<para>
@@ -367,3 +449,30 @@ AppIndicator
@Returns:
+<!-- ##### FUNCTION app_indicator_get_label ##### -->
+<para>
+
+</para>
+
+@self:
+@Returns:
+
+
+<!-- ##### FUNCTION app_indicator_get_label_guide ##### -->
+<para>
+
+</para>
+
+@self:
+@Returns:
+
+
+<!-- ##### FUNCTION app_indicator_get_ordering_index ##### -->
+<para>
+
+</para>
+
+@self:
+@Returns:
+
+
diff --git a/docs/reference/version.xml b/docs/reference/version.xml
index abd4105..3a4036f 100644
--- a/docs/reference/version.xml
+++ b/docs/reference/version.xml
@@ -1 +1 @@
-0.2.4
+0.2.5
diff --git a/docs/reference/xml/api-index-full.xml b/docs/reference/xml/api-index-full.xml
index c24a60b..5a26892 100644
--- a/docs/reference/xml/api-index-full.xml
+++ b/docs/reference/xml/api-index-full.xml
@@ -12,15 +12,23 @@
<indexentry><primaryie linkends="AppIndicator-new-attention-icon"><link linkend="AppIndicator-new-attention-icon">AppIndicator::new-attention-icon</link>, object signal in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="AppIndicator-new-icon"><link linkend="AppIndicator-new-icon">AppIndicator::new-icon</link>, object signal in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="AppIndicator-new-icon-theme-path"><link linkend="AppIndicator-new-icon-theme-path">AppIndicator::new-icon-theme-path</link>, object signal in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
+<indexentry><primaryie linkends="AppIndicator-new-label"><link linkend="AppIndicator-new-label">AppIndicator::new-label</link>, object signal in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="AppIndicator-new-status"><link linkend="AppIndicator-new-status">AppIndicator::new-status</link>, object signal in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
+<indexentry><primaryie linkends="AppIndicator-x-ayatana-new-label"><link linkend="AppIndicator-x-ayatana-new-label">AppIndicator::x-ayatana-new-label</link>, object signal in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="AppIndicator--attention-icon-name"><link linkend="AppIndicator--attention-icon-name">AppIndicator:attention-icon-name</link>, object property in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="AppIndicator--category"><link linkend="AppIndicator--category">AppIndicator:category</link>, object property in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="AppIndicator--connected"><link linkend="AppIndicator--connected">AppIndicator:connected</link>, object property in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="AppIndicator--icon-name"><link linkend="AppIndicator--icon-name">AppIndicator:icon-name</link>, object property in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="AppIndicator--icon-theme-path"><link linkend="AppIndicator--icon-theme-path">AppIndicator:icon-theme-path</link>, object property in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="AppIndicator--id"><link linkend="AppIndicator--id">AppIndicator:id</link>, object property in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
+<indexentry><primaryie linkends="AppIndicator--label"><link linkend="AppIndicator--label">AppIndicator:label</link>, object property in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
+<indexentry><primaryie linkends="AppIndicator--label-guide"><link linkend="AppIndicator--label-guide">AppIndicator:label-guide</link>, object property in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="AppIndicator--menu"><link linkend="AppIndicator--menu">AppIndicator:menu</link>, object property in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
+<indexentry><primaryie linkends="AppIndicator--ordering-index"><link linkend="AppIndicator--ordering-index">AppIndicator:ordering-index</link>, object property in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="AppIndicator--status"><link linkend="AppIndicator--status">AppIndicator:status</link>, object property in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
+<indexentry><primaryie linkends="AppIndicator--x-ayatana-label"><link linkend="AppIndicator--x-ayatana-label">AppIndicator:x-ayatana-label</link>, object property in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
+<indexentry><primaryie linkends="AppIndicator--x-ayatana-label-guide"><link linkend="AppIndicator--x-ayatana-label-guide">AppIndicator:x-ayatana-label-guide</link>, object property in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
+<indexentry><primaryie linkends="AppIndicator--x-ayatana-ordering-index"><link linkend="AppIndicator--x-ayatana-ordering-index">AppIndicator:x-ayatana-ordering-index</link>, object property in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="AppIndicatorCategory"><link linkend="AppIndicatorCategory">AppIndicatorCategory</link>, enum in <link linkend="libappindicator-app-indicator">app-indicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="AppIndicatorClass"><link linkend="AppIndicatorClass">AppIndicatorClass</link>, struct in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="AppIndicatorPrivate"><link linkend="AppIndicatorPrivate">AppIndicatorPrivate</link>, struct in <link linkend="libappindicator-app-indicator">app-indicator</link></primaryie></indexentry>
@@ -32,7 +40,10 @@
<indexentry><primaryie linkends="app-indicator-get-icon"><link linkend="app-indicator-get-icon">app_indicator_get_icon</link>, function in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="app-indicator-get-icon-theme-path"><link linkend="app-indicator-get-icon-theme-path">app_indicator_get_icon_theme_path</link>, function in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="app-indicator-get-id"><link linkend="app-indicator-get-id">app_indicator_get_id</link>, function in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
+<indexentry><primaryie linkends="app-indicator-get-label"><link linkend="app-indicator-get-label">app_indicator_get_label</link>, function in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
+<indexentry><primaryie linkends="app-indicator-get-label-guide"><link linkend="app-indicator-get-label-guide">app_indicator_get_label_guide</link>, function in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="app-indicator-get-menu"><link linkend="app-indicator-get-menu">app_indicator_get_menu</link>, function in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
+<indexentry><primaryie linkends="app-indicator-get-ordering-index"><link linkend="app-indicator-get-ordering-index">app_indicator_get_ordering_index</link>, function in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="app-indicator-get-status"><link linkend="app-indicator-get-status">app_indicator_get_status</link>, function in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="app-indicator-get-type"><link linkend="app-indicator-get-type">app_indicator_get_type</link>, function in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="app-indicator-new"><link linkend="app-indicator-new">app_indicator_new</link>, function in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
@@ -40,12 +51,15 @@
<indexentry><primaryie linkends="app-indicator-set-attention-icon"><link linkend="app-indicator-set-attention-icon">app_indicator_set_attention_icon</link>, function in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="app-indicator-set-icon"><link linkend="app-indicator-set-icon">app_indicator_set_icon</link>, function in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="app-indicator-set-icon-theme-path"><link linkend="app-indicator-set-icon-theme-path">app_indicator_set_icon_theme_path</link>, function in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
+<indexentry><primaryie linkends="app-indicator-set-label"><link linkend="app-indicator-set-label">app_indicator_set_label</link>, function in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="app-indicator-set-menu"><link linkend="app-indicator-set-menu">app_indicator_set_menu</link>, function in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
+<indexentry><primaryie linkends="app-indicator-set-ordering-index"><link linkend="app-indicator-set-ordering-index">app_indicator_set_ordering_index</link>, function in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="app-indicator-set-status"><link linkend="app-indicator-set-status">app_indicator_set_status</link>, function in <link linkend="libappindicator-app-indicator">AppIndicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="APP-INDICATOR-SIGNAL-CONNECTION-CHANGED:CAPS"><link linkend="APP-INDICATOR-SIGNAL-CONNECTION-CHANGED:CAPS">APP_INDICATOR_SIGNAL_CONNECTION_CHANGED</link>, macro in <link linkend="libappindicator-app-indicator">app-indicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="APP-INDICATOR-SIGNAL-NEW-ATTENTION-ICON:CAPS"><link linkend="APP-INDICATOR-SIGNAL-NEW-ATTENTION-ICON:CAPS">APP_INDICATOR_SIGNAL_NEW_ATTENTION_ICON</link>, macro in <link linkend="libappindicator-app-indicator">app-indicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="APP-INDICATOR-SIGNAL-NEW-ICON:CAPS"><link linkend="APP-INDICATOR-SIGNAL-NEW-ICON:CAPS">APP_INDICATOR_SIGNAL_NEW_ICON</link>, macro in <link linkend="libappindicator-app-indicator">app-indicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="APP-INDICATOR-SIGNAL-NEW-ICON-THEME-PATH:CAPS"><link linkend="APP-INDICATOR-SIGNAL-NEW-ICON-THEME-PATH:CAPS">APP_INDICATOR_SIGNAL_NEW_ICON_THEME_PATH</link>, macro in <link linkend="libappindicator-app-indicator">app-indicator</link></primaryie></indexentry>
+<indexentry><primaryie linkends="APP-INDICATOR-SIGNAL-NEW-LABEL:CAPS"><link linkend="APP-INDICATOR-SIGNAL-NEW-LABEL:CAPS">APP_INDICATOR_SIGNAL_NEW_LABEL</link>, macro in <link linkend="libappindicator-app-indicator">app-indicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="APP-INDICATOR-SIGNAL-NEW-STATUS:CAPS"><link linkend="APP-INDICATOR-SIGNAL-NEW-STATUS:CAPS">APP_INDICATOR_SIGNAL_NEW_STATUS</link>, macro in <link linkend="libappindicator-app-indicator">app-indicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="APP-INDICATOR-TYPE:CAPS"><link linkend="APP-INDICATOR-TYPE:CAPS">APP_INDICATOR_TYPE</link>, macro in <link linkend="libappindicator-app-indicator">app-indicator</link></primaryie></indexentry>
<indexentry><primaryie linkends="IS-APP-INDICATOR:CAPS"><link linkend="IS-APP-INDICATOR:CAPS">IS_APP_INDICATOR</link>, macro in <link linkend="libappindicator-app-indicator">app-indicator</link></primaryie></indexentry>
diff --git a/docs/reference/xml/app-indicator.xml b/docs/reference/xml/app-indicator.xml
index d129a3a..09a63a7 100644
--- a/docs/reference/xml/app-indicator.xml
+++ b/docs/reference/xml/app-indicator.xml
@@ -37,6 +37,7 @@ Unstable, unless otherwise indicated
#define <link linkend="APP-INDICATOR-SIGNAL-NEW-ICON:CAPS">APP_INDICATOR_SIGNAL_NEW_ICON</link>
#define <link linkend="APP-INDICATOR-SIGNAL-NEW-ATTENTION-ICON:CAPS">APP_INDICATOR_SIGNAL_NEW_ATTENTION_ICON</link>
#define <link linkend="APP-INDICATOR-SIGNAL-NEW-STATUS:CAPS">APP_INDICATOR_SIGNAL_NEW_STATUS</link>
+#define <link linkend="APP-INDICATOR-SIGNAL-NEW-LABEL:CAPS">APP_INDICATOR_SIGNAL_NEW_LABEL</link>
#define <link linkend="APP-INDICATOR-SIGNAL-NEW-ICON-THEME-PATH:CAPS">APP_INDICATOR_SIGNAL_NEW_ICON_THEME_PATH</link>
#define <link linkend="APP-INDICATOR-SIGNAL-CONNECTION-CHANGED:CAPS">APP_INDICATOR_SIGNAL_CONNECTION_CHANGED</link>
enum <link linkend="AppIndicatorCategory">AppIndicatorCategory</link>;
@@ -62,6 +63,11 @@ enum <link linkend="AppIndicatorStatus">AppIndicatorStatus</link>
<parameter>const <link linkend="gchar"><type>gchar</type></link> *icon_name</parameter>);
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="app-indicator-set-icon-theme-path">app_indicator_set_icon_theme_path</link> (<parameter><link linkend="AppIndicator"><type>AppIndicator</type></link> *self</parameter>,
<parameter>const <link linkend="gchar"><type>gchar</type></link> *icon_theme_path</parameter>);
+<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="app-indicator-set-label">app_indicator_set_label</link> (<parameter><link linkend="AppIndicator"><type>AppIndicator</type></link> *self</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *label</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *guide</parameter>);
+<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="app-indicator-set-ordering-index">app_indicator_set_ordering_index</link> (<parameter><link linkend="AppIndicator"><type>AppIndicator</type></link> *self</parameter>,
+ <parameter><link linkend="guint32"><type>guint32</type></link> ordering_index</parameter>);
const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> * <link linkend="app-indicator-get-id">app_indicator_get_id</link> (<parameter><link linkend="AppIndicator"><type>AppIndicator</type></link> *self</parameter>);
<link linkend="AppIndicatorCategory"><returnvalue>AppIndicatorCategory</returnvalue></link> <link linkend="app-indicator-get-category">app_indicator_get_category</link> (<parameter><link linkend="AppIndicator"><type>AppIndicator</type></link> *self</parameter>);
<link linkend="AppIndicatorStatus"><returnvalue>AppIndicatorStatus</returnvalue></link> <link linkend="app-indicator-get-status">app_indicator_get_status</link> (<parameter><link linkend="AppIndicator"><type>AppIndicator</type></link> *self</parameter>);
@@ -69,6 +75,9 @@ const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> * <lin
const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> * <link linkend="app-indicator-get-icon-theme-path">app_indicator_get_icon_theme_path</link> (<parameter><link linkend="AppIndicator"><type>AppIndicator</type></link> *self</parameter>);
const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> * <link linkend="app-indicator-get-attention-icon">app_indicator_get_attention_icon</link> (<parameter><link linkend="AppIndicator"><type>AppIndicator</type></link> *self</parameter>);
<link linkend="GtkMenu"><returnvalue>GtkMenu</returnvalue></link> * <link linkend="app-indicator-get-menu">app_indicator_get_menu</link> (<parameter><link linkend="AppIndicator"><type>AppIndicator</type></link> *self</parameter>);
+const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> * <link linkend="app-indicator-get-label">app_indicator_get_label</link> (<parameter><link linkend="AppIndicator"><type>AppIndicator</type></link> *self</parameter>);
+const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> * <link linkend="app-indicator-get-label-guide">app_indicator_get_label_guide</link> (<parameter><link linkend="AppIndicator"><type>AppIndicator</type></link> *self</parameter>);
+<link linkend="guint32"><returnvalue>guint32</returnvalue></link> <link linkend="app-indicator-get-ordering-index">app_indicator_get_ordering_index</link> (<parameter><link linkend="AppIndicator"><type>AppIndicator</type></link> *self</parameter>);
</synopsis>
</refsynopsisdiv>
<refsect1 id="libappindicator-app-indicator.object-hierarchy" role="object_hierarchy">
@@ -87,8 +96,14 @@ const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> * <lin
&quot;<link linkend="AppIndicator--icon-name">icon-name</link>&quot; <link linkend="gchar"><type>gchar</type></link>* : Read / Write / Construct
&quot;<link linkend="AppIndicator--icon-theme-path">icon-theme-path</link>&quot; <link linkend="gchar"><type>gchar</type></link>* : Read / Write / Construct
&quot;<link linkend="AppIndicator--id">id</link>&quot; <link linkend="gchar"><type>gchar</type></link>* : Read / Write / Construct Only
+ &quot;<link linkend="AppIndicator--label">label</link>&quot; <link linkend="gchar"><type>gchar</type></link>* : Read / Write
+ &quot;<link linkend="AppIndicator--label-guide">label-guide</link>&quot; <link linkend="gchar"><type>gchar</type></link>* : Read / Write
&quot;<link linkend="AppIndicator--menu">menu</link>&quot; <link linkend="DBusGObjectPath"><type>DBusGObjectPath</type></link>* : Read
+ &quot;<link linkend="AppIndicator--ordering-index">ordering-index</link>&quot; <link linkend="guint"><type>guint</type></link> : Read / Write
&quot;<link linkend="AppIndicator--status">status</link>&quot; <link linkend="gchar"><type>gchar</type></link>* : Read / Write
+ &quot;<link linkend="AppIndicator--x-ayatana-label">x-ayatana-label</link>&quot; <link linkend="gchar"><type>gchar</type></link>* : Read / Write
+ &quot;<link linkend="AppIndicator--x-ayatana-label-guide">x-ayatana-label-guide</link>&quot; <link linkend="gchar"><type>gchar</type></link>* : Read / Write
+ &quot;<link linkend="AppIndicator--x-ayatana-ordering-index">x-ayatana-ordering-index</link>&quot; <link linkend="guint"><type>guint</type></link> : Read / Write
</synopsis>
</refsect1>
<refsect1 id="libappindicator-app-indicator.signals" role="signal_proto">
@@ -98,7 +113,9 @@ const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> * <lin
&quot;<link linkend="AppIndicator-new-attention-icon">new-attention-icon</link>&quot; : Run Last
&quot;<link linkend="AppIndicator-new-icon">new-icon</link>&quot; : Run Last
&quot;<link linkend="AppIndicator-new-icon-theme-path">new-icon-theme-path</link>&quot; : Run Last
+ &quot;<link linkend="AppIndicator-new-label">new-label</link>&quot; : Run Last
&quot;<link linkend="AppIndicator-new-status">new-status</link>&quot; : Run Last
+ &quot;<link linkend="AppIndicator-x-ayatana-new-label">x-ayatana-new-label</link>&quot; : Run Last
</synopsis>
</refsect1>
@@ -209,6 +226,14 @@ String identifier for the <link linkend="AppIndicator-new-attention-icon"><type>
<para>
String identifier for the <link linkend="AppIndicator-new-status"><type>"new-status"</type></link> signal.
</para></refsect2>
+<refsect2 id="APP-INDICATOR-SIGNAL-NEW-LABEL:CAPS" role="macro">
+<title>APP_INDICATOR_SIGNAL_NEW_LABEL</title>
+<indexterm zone="APP-INDICATOR-SIGNAL-NEW-LABEL:CAPS"><primary>APP_INDICATOR_SIGNAL_NEW_LABEL</primary></indexterm>
+<programlisting>#define APP_INDICATOR_SIGNAL_NEW_LABEL "new-label"
+</programlisting>
+<para>
+String identifier for the <link linkend="AppIndicator-new-label"><type>"new-label"</type></link> signal.
+</para></refsect2>
<refsect2 id="APP-INDICATOR-SIGNAL-NEW-ICON-THEME-PATH:CAPS" role="macro">
<title>APP_INDICATOR_SIGNAL_NEW_ICON_THEME_PATH</title>
<indexterm zone="APP-INDICATOR-SIGNAL-NEW-ICON-THEME-PATH:CAPS"><primary>APP_INDICATOR_SIGNAL_NEW_ICON_THEME_PATH</primary></indexterm>
@@ -330,23 +355,33 @@ A application indicator represents the values that are needed to show a
void (* new_status) (AppIndicator *indicator,
const gchar *status,
gpointer user_data);
+ void (* new_icon_theme_path) (AppIndicator *indicator,
+ const gchar *icon_theme_path,
+ gpointer user_data);
+ void (* new_label) (AppIndicator *indicator,
+ const gchar *label,
+ const gchar *guide,
+ gpointer user_data);
/* Local Signals */
void (* connection_changed) (AppIndicator * indicator,
gboolean connected,
gpointer user_data);
+ void (*app_indicator_reserved_sw)(void);
+ void (*app_indicator_reserved_ats)(void);
/* Overridable Functions */
GtkStatusIcon * (*fallback) (AppIndicator * indicator);
void (*unfallback) (AppIndicator * indicator,
GtkStatusIcon * status_icon);
- void (* new_icon_theme_path) (AppIndicator *indicator,
- const gchar *icon_theme_path,
- gpointer user_data);
-
/* Reserved */
+ void (*app_indicator_reserved_1)(void);
void (*app_indicator_reserved_2)(void);
+ void (*app_indicator_reserved_3)(void);
+ void (*app_indicator_reserved_4)(void);
+ void (*app_indicator_reserved_5)(void);
+ void (*app_indicator_reserved_6)(void);
} AppIndicatorClass;
</programlisting>
<para>
@@ -369,10 +404,26 @@ The signals and external functions that make up the <link linkend="AppIndicator"
<listitem><simpara>Slot for <link linkend="AppIndicator-new-status"><type>"new-status"</type></link>.
</simpara></listitem>
</varlistentry>
+<varlistentry><term><structfield id="AppIndicatorClass.new-icon-theme-path">new_icon_theme_path</structfield>&#160;()</term>
+<listitem><simpara>Slot for <link linkend="AppIndicator-new-icon-theme-path"><type>"new-icon-theme-path"</type></link>
+</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="AppIndicatorClass.new-label">new_label</structfield>&#160;()</term>
+<listitem><simpara>Slot for <link linkend="AppIndicator-new-label"><type>"new-label"</type></link>.
+</simpara></listitem>
+</varlistentry>
<varlistentry><term><structfield id="AppIndicatorClass.connection-changed">connection_changed</structfield>&#160;()</term>
<listitem><simpara>Slot for <link linkend="AppIndicator-connection-changed"><type>"connection-changed"</type></link>.
</simpara></listitem>
</varlistentry>
+<varlistentry><term><structfield id="AppIndicatorClass.app-indicator-reserved-sw">app_indicator_reserved_sw</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.
+</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="AppIndicatorClass.app-indicator-reserved-ats">app_indicator_reserved_ats</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.
+</simpara></listitem>
+</varlistentry>
<varlistentry><term><structfield id="AppIndicatorClass.fallback">fallback</structfield>&#160;()</term>
<listitem><simpara>Function that gets called to make a <link linkend="GtkStatusIcon"><type>GtkStatusIcon</type></link> when
there is no Application Indicator area available.
@@ -383,14 +434,30 @@ The signals and external functions that make up the <link linkend="AppIndicator"
Indicator area appears after the fallback has been created.
</simpara></listitem>
</varlistentry>
-<varlistentry><term><structfield id="AppIndicatorClass.new-icon-theme-path">new_icon_theme_path</structfield>&#160;()</term>
-<listitem><simpara>Slot for <link linkend="AppIndicator-new-icon-theme-path"><type>"new-icon-theme-path"</type></link>
+<varlistentry><term><structfield id="AppIndicatorClass.app-indicator-reserved-1">app_indicator_reserved_1</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.
</simpara></listitem>
</varlistentry>
<varlistentry><term><structfield id="AppIndicatorClass.app-indicator-reserved-2">app_indicator_reserved_2</structfield>&#160;()</term>
<listitem><simpara>Reserved for future use.
</simpara></listitem>
</varlistentry>
+<varlistentry><term><structfield id="AppIndicatorClass.app-indicator-reserved-3">app_indicator_reserved_3</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.
+</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="AppIndicatorClass.app-indicator-reserved-4">app_indicator_reserved_4</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.
+</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="AppIndicatorClass.app-indicator-reserved-5">app_indicator_reserved_5</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.
+</simpara></listitem>
+</varlistentry>
+<varlistentry><term><structfield id="AppIndicatorClass.app-indicator-reserved-6">app_indicator_reserved_6</structfield>&#160;()</term>
+<listitem><simpara>Reserved for future use.
+</simpara></listitem>
+</varlistentry>
</variablelist></refsect2>
<refsect2 id="app-indicator-get-type" role="function">
<title>app_indicator_get_type ()</title>
@@ -536,6 +603,47 @@ Sets the path to use when searching for icons.
<listitem><simpara>The icon theme path to set.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
+<refsect2 id="app-indicator-set-label" role="function">
+<title>app_indicator_set_label ()</title>
+<indexterm zone="app-indicator-set-label"><primary>app_indicator_set_label</primary></indexterm>
+<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> app_indicator_set_label (<parameter><link linkend="AppIndicator"><type>AppIndicator</type></link> *self</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *label</parameter>,
+ <parameter>const <link linkend="gchar"><type>gchar</type></link> *guide</parameter>);</programlisting>
+<para>
+This is a wrapper function for the <link linkend="AppIndicator--label"><type>"label"</type></link> and
+ <link linkend="AppIndicator--guide"><type>"guide"</type></link> properties. This function can take <link linkend="NULL:CAPS"><type>NULL</type></link>
+ as either <parameter>label</parameter> or <parameter>guide</parameter> and will clear the entries.
+</para><variablelist role="params">
+<varlistentry><term><parameter>self</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="AppIndicator"><type>AppIndicator</type></link> object to use
+</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>label</parameter>&#160;:</term>
+<listitem><simpara>The label to show next to the icon.
+</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>guide</parameter>&#160;:</term>
+<listitem><simpara>A guide to size the label correctly.
+</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="app-indicator-set-ordering-index" role="function">
+<title>app_indicator_set_ordering_index ()</title>
+<indexterm zone="app-indicator-set-ordering-index"><primary>app_indicator_set_ordering_index</primary></indexterm>
+<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> app_indicator_set_ordering_index (<parameter><link linkend="AppIndicator"><type>AppIndicator</type></link> *self</parameter>,
+ <parameter><link linkend="guint32"><type>guint32</type></link> ordering_index</parameter>);</programlisting>
+<para>
+Sets the ordering index for the app indicator which effects the
+ placement of it on the panel. For almost all app indicator
+ this is not the function you're looking for.
+</para>
+<para>
+ Wrapper function for property <link linkend="AppIndicator--ordering-index"><type>"ordering-index"</type></link>.
+</para><variablelist role="params">
+<varlistentry><term><parameter>self</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="AppIndicator"><type>AppIndicator</type></link>
+</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>ordering_index</parameter>&#160;:</term>
+<listitem><simpara>A value for the ordering of this app indicator
+</simpara></listitem></varlistentry>
+</variablelist></refsect2>
<refsect2 id="app-indicator-get-id" role="function">
<title>app_indicator_get_id ()</title>
<indexterm zone="app-indicator-get-id"><primary>app_indicator_get_id</primary></indexterm>
@@ -628,6 +736,45 @@ Gets the menu being used for this application indicator.
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> A <link linkend="GtkMenu"><type>GtkMenu</type></link> object or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if one hasn't been set.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
+<refsect2 id="app-indicator-get-label" role="function">
+<title>app_indicator_get_label ()</title>
+<indexterm zone="app-indicator-get-label"><primary>app_indicator_get_label</primary></indexterm>
+<programlisting>const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> * app_indicator_get_label (<parameter><link linkend="AppIndicator"><type>AppIndicator</type></link> *self</parameter>);</programlisting>
+<para>
+Wrapper function for property <link linkend="AppIndicator--label"><type>"label"</type></link>.
+</para><variablelist role="params">
+<varlistentry><term><parameter>self</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="AppIndicator"><type>AppIndicator</type></link> object to use
+</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> The current label.
+</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="app-indicator-get-label-guide" role="function">
+<title>app_indicator_get_label_guide ()</title>
+<indexterm zone="app-indicator-get-label-guide"><primary>app_indicator_get_label_guide</primary></indexterm>
+<programlisting>const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> * app_indicator_get_label_guide (<parameter><link linkend="AppIndicator"><type>AppIndicator</type></link> *self</parameter>);</programlisting>
+<para>
+Wrapper function for property <link linkend="AppIndicator--label-guide"><type>"label-guide"</type></link>.
+</para><variablelist role="params">
+<varlistentry><term><parameter>self</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="AppIndicator"><type>AppIndicator</type></link> object to use
+</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> The current label guide.
+</simpara></listitem></varlistentry>
+</variablelist></refsect2>
+<refsect2 id="app-indicator-get-ordering-index" role="function">
+<title>app_indicator_get_ordering_index ()</title>
+<indexterm zone="app-indicator-get-ordering-index"><primary>app_indicator_get_ordering_index</primary></indexterm>
+<programlisting><link linkend="guint32"><returnvalue>guint32</returnvalue></link> app_indicator_get_ordering_index (<parameter><link linkend="AppIndicator"><type>AppIndicator</type></link> *self</parameter>);</programlisting>
+<para>
+Wrapper function for property <link linkend="AppIndicator--ordering-index"><type>"ordering-index"</type></link>.
+</para><variablelist role="params">
+<varlistentry><term><parameter>self</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="AppIndicator"><type>AppIndicator</type></link> object to use
+</simpara></listitem></varlistentry>
+<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> The current ordering index.
+</simpara></listitem></varlistentry>
+</variablelist></refsect2>
</refsect1>
<refsect1 id="libappindicator-app-indicator.property-details" role="property_details">
@@ -679,12 +826,51 @@ The ID for this indicator, which should be unique, but used consistently
by this program and its indicator.
</para><para>Default value: NULL</para>
</refsect2>
+<refsect2 id="AppIndicator--label" role="property"><title>The <literal>&quot;label&quot;</literal> property</title>
+<indexterm zone="AppIndicator--label"><primary>AppIndicator:label</primary></indexterm>
+<programlisting> &quot;label&quot; <link linkend="gchar"><type>gchar</type></link>* : Read / Write</programlisting>
+<para>
+A label that can be shown next to the string in the application
+ indicator. The label will not be shown unless there is an icon
+ as well. The label is useful for numerical and other frequently
+ updated information. In general, it shouldn't be shown unless a
+ user requests it as it can take up a significant amount of space
+ on the user's panel. This may not be shown in all visualizations.
+</para><para>Default value: NULL</para>
+</refsect2>
+<refsect2 id="AppIndicator--label-guide" role="property"><title>The <literal>&quot;label-guide&quot;</literal> property</title>
+<indexterm zone="AppIndicator--label-guide"><primary>AppIndicator:label-guide</primary></indexterm>
+<programlisting> &quot;label-guide&quot; <link linkend="gchar"><type>gchar</type></link>* : Read / Write</programlisting>
+<para>
+An optional string to provide guidance to the panel on how big
+ the <link linkend="AppIndicator--label"><type>"label"</type></link> string could get. If this is set correctly
+ then the panel should never 'jiggle' as the string adjusts through
+ out the range of options. For instance, if you were providing a
+ percentage like "54% thrust" in <link linkend="AppIndicator--label"><type>"label"</type></link> you'd want to
+ set this string to "100% thrust" to ensure space when Scotty can
+ get you enough power.
+</para><para>Default value: NULL</para>
+</refsect2>
<refsect2 id="AppIndicator--menu" role="property"><title>The <literal>&quot;menu&quot;</literal> property</title>
<indexterm zone="AppIndicator--menu"><primary>AppIndicator:menu</primary></indexterm>
<programlisting> &quot;menu&quot; <link linkend="DBusGObjectPath"><type>DBusGObjectPath</type></link>* : Read</programlisting>
<para>
A method for getting the menu path as a string for DBus.
</para></refsect2>
+<refsect2 id="AppIndicator--ordering-index" role="property"><title>The <literal>&quot;ordering-index&quot;</literal> property</title>
+<indexterm zone="AppIndicator--ordering-index"><primary>AppIndicator:ordering-index</primary></indexterm>
+<programlisting> &quot;ordering-index&quot; <link linkend="guint"><type>guint</type></link> : Read / Write</programlisting>
+<para>
+The ordering index is an odd parameter, and if you think you don't need
+ it you're probably right. In general, the application indicator try
+ to place the applications in a recreatable place taking into account
+ which category they're in to try and group them. But, there are some
+ cases where you'd want to ensure indicators are next to each other.
+ To do that you can override the generated ordering index and replace it
+ with a new one. Again, you probably don't want to be doing this, but
+ in case you do, this is the way.
+</para><para>Default value: 0</para>
+</refsect2>
<refsect2 id="AppIndicator--status" role="property"><title>The <literal>&quot;status&quot;</literal> property</title>
<indexterm zone="AppIndicator--status"><primary>AppIndicator:status</primary></indexterm>
<programlisting> &quot;status&quot; <link linkend="gchar"><type>gchar</type></link>* : Read / Write</programlisting>
@@ -693,6 +879,31 @@ Whether the indicator is shown or requests attention. Defaults to
'Passive'.
</para><para>Default value: NULL</para>
</refsect2>
+<refsect2 id="AppIndicator--x-ayatana-label" role="property"><title>The <literal>&quot;x-ayatana-label&quot;</literal> property</title>
+<indexterm zone="AppIndicator--x-ayatana-label"><primary>AppIndicator:x-ayatana-label</primary></indexterm>
+<programlisting> &quot;x-ayatana-label&quot; <link linkend="gchar"><type>gchar</type></link>* : Read / Write</programlisting>
+<para>
+Wrapper for <link linkend="AppIndicator--label"><type>"label"</type></link>. Please use that in all of your
+ code.
+</para><para>Default value: NULL</para>
+</refsect2>
+<refsect2 id="AppIndicator--x-ayatana-label-guide" role="property"><title>The <literal>&quot;x-ayatana-label-guide&quot;</literal> property</title>
+<indexterm zone="AppIndicator--x-ayatana-label-guide"><primary>AppIndicator:x-ayatana-label-guide</primary></indexterm>
+<programlisting> &quot;x-ayatana-label-guide&quot; <link linkend="gchar"><type>gchar</type></link>* : Read / Write</programlisting>
+<para>
+Wrapper for <link linkend="AppIndicator--label-guide"><type>"label-guide"</type></link>. Please use that in all of your
+ code.
+</para><para>Default value: NULL</para>
+</refsect2>
+<refsect2 id="AppIndicator--x-ayatana-ordering-index" role="property"><title>The <literal>&quot;x-ayatana-ordering-index&quot;</literal> property</title>
+<indexterm zone="AppIndicator--x-ayatana-ordering-index"><primary>AppIndicator:x-ayatana-ordering-index</primary></indexterm>
+<programlisting> &quot;x-ayatana-ordering-index&quot; <link linkend="guint"><type>guint</type></link> : Read / Write</programlisting>
+<para>
+A wrapper for <link linkend="AppIndicator--ordering-index"><type>"ordering-index"</type></link> so that it can match the
+ dbus interface currently. It will hopefully be retired, please don't
+ use it anywhere.
+</para><para>Default value: 0</para>
+</refsect2>
</refsect1>
<refsect1 id="libappindicator-app-indicator.signal-details" role="signals">
@@ -751,6 +962,27 @@ Signaled when there is a new icon set for the
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
+</variablelist></refsect2><refsect2 id="AppIndicator-new-label" role="signal"><title>The <literal>&quot;new-label&quot;</literal> signal</title>
+<indexterm zone="AppIndicator-new-label"><primary>AppIndicator::new-label</primary></indexterm>
+<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> user_function (<link linkend="AppIndicator"><type>AppIndicator</type></link> *arg0,
+ <link linkend="gchar"><type>gchar</type></link> *arg1,
+ <link linkend="gchar"><type>gchar</type></link> *arg1,
+ <link linkend="gpointer"><type>gpointer</type></link> user_data) : Run Last</programlisting>
+<para>
+Emitted when either <link linkend="AppIndicator--label"><type>"label"</type></link> or <link linkend="AppIndicator--label-guide"><type>"label-guide"</type></link> are
+ changed.
+</para><variablelist role="params">
+<varlistentry><term><parameter>arg0</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="AppIndicator"><type>AppIndicator</type></link> object
+</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>arg1</parameter>&#160;:</term>
+<listitem><simpara>The string for the label
+</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>arg1</parameter>&#160;:</term>
+<listitem><simpara>The string for the guide
+</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
+<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="AppIndicator-new-status" role="signal"><title>The <literal>&quot;new-status&quot;</literal> signal</title>
<indexterm zone="AppIndicator-new-status"><primary>AppIndicator::new-status</primary></indexterm>
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> user_function (<link linkend="AppIndicator"><type>AppIndicator</type></link> *arg0,
@@ -767,6 +999,27 @@ Emitted when <link linkend="AppIndicator--status"><type>"status"</type></link> i
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
+</variablelist></refsect2><refsect2 id="AppIndicator-x-ayatana-new-label" role="signal"><title>The <literal>&quot;x-ayatana-new-label&quot;</literal> signal</title>
+<indexterm zone="AppIndicator-x-ayatana-new-label"><primary>AppIndicator::x-ayatana-new-label</primary></indexterm>
+<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> user_function (<link linkend="AppIndicator"><type>AppIndicator</type></link> *arg0,
+ <link linkend="gchar"><type>gchar</type></link> *arg1,
+ <link linkend="gchar"><type>gchar</type></link> *arg1,
+ <link linkend="gpointer"><type>gpointer</type></link> user_data) : Run Last</programlisting>
+<para>
+Wrapper for <link linkend="AppIndicator-new-label"><type>"new-label"</type></link>, please don't use this signal
+ use the other one.
+</para><variablelist role="params">
+<varlistentry><term><parameter>arg0</parameter>&#160;:</term>
+<listitem><simpara>The <link linkend="AppIndicator"><type>AppIndicator</type></link> object
+</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>arg1</parameter>&#160;:</term>
+<listitem><simpara>The string for the label
+</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>arg1</parameter>&#160;:</term>
+<listitem><simpara>The string for the guide
+</simpara></listitem></varlistentry>
+<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
+<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>
diff --git a/src/application-service-appstore.c b/src/application-service-appstore.c
index 4ac1576..f52ea2d 100644
--- a/src/application-service-appstore.c
+++ b/src/application-service-appstore.c
@@ -67,9 +67,15 @@ struct _ApplicationServiceAppstorePrivate {
GHashTable * ordering_overrides;
};
+typedef enum {
+ VISIBLE_STATE_HIDDEN,
+ VISIBLE_STATE_SHOWN
+} visible_state_t;
+
typedef struct _Approver Approver;
struct _Approver {
DBusGProxy * proxy;
+ gboolean destroy_by_proxy;
};
typedef struct _Application Application;
@@ -91,6 +97,8 @@ struct _Application {
gchar * guide;
gboolean currently_free;
guint ordering_index;
+ GList * approved_by;
+ visible_state_t visible_state;
};
#define APPLICATION_SERVICE_APPSTORE_GET_PRIVATE(o) \
@@ -113,10 +121,11 @@ static void application_service_appstore_class_init (ApplicationServiceAppstoreC
static void application_service_appstore_init (ApplicationServiceAppstore *self);
static void application_service_appstore_dispose (GObject *object);
static void application_service_appstore_finalize (GObject *object);
+static gint app_sort_func (gconstpointer a, gconstpointer b, gpointer userdata);
static void load_override_file (GHashTable * hash, const gchar * filename);
static AppIndicatorStatus string_to_status(const gchar * status_string);
+static void apply_status (Application * app);
static AppIndicatorCategory string_to_cat(const gchar * cat_string);
-static void apply_status (Application * app, AppIndicatorStatus status);
static void approver_free (gpointer papprover, gpointer user_data);
static void check_with_new_approver (gpointer papp, gpointer papprove);
static void check_with_old_approver (gpointer papprove, gpointer papp);
@@ -174,6 +183,12 @@ application_service_appstore_class_init (ApplicationServiceAppstoreClass *klass)
G_TYPE_STRING,
G_TYPE_STRING,
G_TYPE_INVALID);
+ dbus_g_object_register_marshaller(_application_service_marshal_VOID__BOOLEAN_STRING_OBJECT,
+ G_TYPE_NONE,
+ G_TYPE_BOOLEAN,
+ G_TYPE_STRING,
+ G_TYPE_OBJECT,
+ G_TYPE_INVALID);
dbus_g_object_type_install_info(APPLICATION_SERVICE_APPSTORE_TYPE,
&dbus_glib__application_service_server_object_info);
@@ -226,7 +241,7 @@ application_service_appstore_dispose (GObject *object)
}
if (priv->approvers != NULL) {
- g_list_foreach(priv->approvers, approver_free, NULL);
+ g_list_foreach(priv->approvers, approver_free, object);
g_list_free(priv->approvers);
priv->approvers = NULL;
}
@@ -298,6 +313,7 @@ load_override_file (GHashTable * hash, const gchar * filename)
g_hash_table_insert(hash, g_strdup(key), GINT_TO_POINTER(val));
}
+ g_strfreev(keys);
g_key_file_free(keyfile);
return;
@@ -311,6 +327,7 @@ get_all_properties_cb (DBusGProxy * proxy, GHashTable * properties, GError * err
{
if (error != NULL) {
g_warning("Unable to get properties: %s", error->message);
+ /* TODO: We need to free all the application data here */
return;
}
@@ -330,6 +347,8 @@ get_all_properties_cb (DBusGProxy * proxy, GHashTable * properties, GError * err
app->id = g_value_dup_string(g_hash_table_lookup(properties, NOTIFICATION_ITEM_PROP_ID));
app->category = g_value_dup_string(g_hash_table_lookup(properties, NOTIFICATION_ITEM_PROP_CATEGORY));
+ app->status = string_to_status(g_value_get_string(g_hash_table_lookup(properties, NOTIFICATION_ITEM_PROP_STATUS)));
+
ApplicationServiceAppstorePrivate * priv = app->appstore->priv;
app->icon = g_value_dup_string(g_hash_table_lookup(properties, NOTIFICATION_ITEM_PROP_ICON_NAME));
@@ -381,10 +400,10 @@ get_all_properties_cb (DBusGProxy * proxy, GHashTable * properties, GError * err
app->guide = g_strdup("");
}
- /* TODO: Calling approvers, but we're ignoring the results. So, eh. */
+ priv->applications = g_list_insert_sorted_with_data (priv->applications, app, app_sort_func, NULL);
g_list_foreach(priv->approvers, check_with_old_approver, app);
- apply_status(app, string_to_status(g_value_get_string(g_hash_table_lookup(properties, NOTIFICATION_ITEM_PROP_STATUS))));
+ apply_status(app);
return;
}
@@ -442,18 +461,34 @@ string_to_cat(const gchar * cat_string)
/* A small helper function to get the position of an application
- in the app list. */
+ in the app list of the applications that are visible. */
static gint
get_position (Application * app) {
ApplicationServiceAppstore * appstore = app->appstore;
ApplicationServiceAppstorePrivate * priv = appstore->priv;
- GList * applistitem = g_list_find(priv->applications, app);
- if (applistitem == NULL) {
- return -1;
+ GList * lapp;
+ gint count;
+
+ /* Go through the list and try to find ours */
+ for (lapp = priv->applications, count = 0; lapp != NULL; lapp = g_list_next(lapp), count++) {
+ if (lapp->data == app) {
+ break;
+ }
+
+ /* If the selected app isn't visible let's not
+ count it's position */
+ Application * thisapp = (Application *)(lapp->data);
+ if (thisapp->visible_state == VISIBLE_STATE_HIDDEN) {
+ count--;
+ }
}
- return g_list_position(priv->applications, applistitem);
+ if (lapp == NULL) {
+ return -1;
+ }
+
+ return count;
}
/* A simple global function for dealing with freeing the information
@@ -505,6 +540,9 @@ application_free (Application * app)
if (app->guide != NULL) {
g_free(app->guide);
}
+ if (app->approved_by != NULL) {
+ g_list_free(app->approved_by);
+ }
g_free(app);
return;
@@ -518,35 +556,17 @@ application_removed_cb (DBusGProxy * proxy, gpointer userdata)
Application * app = (Application *)userdata;
/* Remove from the panel */
- apply_status(app, APP_INDICATOR_STATUS_PASSIVE);
+ app->status = APP_INDICATOR_STATUS_PASSIVE;
+ apply_status(app);
+
+ /* Remove from the application list */
+ app->appstore->priv->applications = g_list_remove(app->appstore->priv->applications, app);
/* Destroy the data */
application_free(app);
return;
}
-static gboolean
-can_add_application (GList *applications, Application *app)
-{
- if (applications)
- {
- GList *l = NULL;
-
- for (l = applications; l != NULL; l = g_list_next (l))
- {
- Application *tmp_app = (Application *)l->data;
-
- if (g_strcmp0 (tmp_app->dbus_name, app->dbus_name) == 0 &&
- g_strcmp0 (tmp_app->dbus_object, app->dbus_object) == 0)
- {
- return FALSE;
- }
- }
- }
-
- return TRUE;
-}
-
/* This function takes two Application structure
pointers and uses their ordering index to compare them. */
static gint
@@ -561,49 +581,53 @@ app_sort_func (gconstpointer a, gconstpointer b, gpointer userdata)
it removes it from the panel. If we're coming online, then
it add it to the panel. Otherwise it changes the icon. */
static void
-apply_status (Application * app, AppIndicatorStatus status)
+apply_status (Application * app)
{
- if (app->status == status) {
- return;
- }
- g_debug("Changing app status to: %d", status);
-
ApplicationServiceAppstore * appstore = app->appstore;
ApplicationServiceAppstorePrivate * priv = appstore->priv;
+ /* g_debug("Applying status. Status: %d Approved by: %d Approvers: %d Visible: %d", app->status, g_list_length(app->approved_by), g_list_length(priv->approvers), app->visible_state); */
+
+ visible_state_t goal_state = VISIBLE_STATE_HIDDEN;
+
+ if (app->status != APP_INDICATOR_STATUS_PASSIVE &&
+ g_list_length(app->approved_by) >= g_list_length(priv->approvers)) {
+ goal_state = VISIBLE_STATE_SHOWN;
+ }
+
+ /* Nothing needs to change, we're good */
+ if (app->visible_state == goal_state) {
+ return;
+ }
+
/* This means we're going off line */
- if (status == APP_INDICATOR_STATUS_PASSIVE) {
+ if (goal_state == VISIBLE_STATE_HIDDEN) {
gint position = get_position(app);
if (position == -1) return;
g_signal_emit(G_OBJECT(appstore),
signals[APPLICATION_REMOVED], 0,
position, TRUE);
- priv->applications = g_list_remove(priv->applications, app);
} else {
/* Figure out which icon we should be using */
gchar * newicon = app->icon;
- if (status == APP_INDICATOR_STATUS_ATTENTION && app->aicon != NULL && app->aicon[0] != '\0') {
+ if (app->status == APP_INDICATOR_STATUS_ATTENTION && app->aicon != NULL && app->aicon[0] != '\0') {
newicon = app->aicon;
}
/* Determine whether we're already shown or not */
- if (app->status == APP_INDICATOR_STATUS_PASSIVE) {
- if (can_add_application (priv->applications, app)) {
- /* Put on panel */
- priv->applications = g_list_insert_sorted_with_data (priv->applications, app, app_sort_func, NULL);
-
- g_signal_emit(G_OBJECT(app->appstore),
- signals[APPLICATION_ADDED], 0,
- newicon,
- g_list_index(priv->applications, app), /* Position */
- app->dbus_name,
- app->menu,
- app->icon_theme_path,
- app->label,
- app->guide,
- TRUE);
- }
+ if (app->visible_state == VISIBLE_STATE_HIDDEN) {
+ /* Put on panel */
+ g_signal_emit(G_OBJECT(app->appstore),
+ signals[APPLICATION_ADDED], 0,
+ newicon,
+ g_list_index(priv->applications, app), /* Position */
+ app->dbus_name,
+ app->menu,
+ app->icon_theme_path,
+ app->label,
+ app->guide,
+ TRUE);
} else {
/* Icon update */
gint position = get_position(app);
@@ -615,7 +639,7 @@ apply_status (Application * app, AppIndicatorStatus status)
}
}
- app->status = status;
+ app->visible_state = goal_state;
return;
}
@@ -645,7 +669,7 @@ new_icon_cb (DBusGProxy * proxy, GValue value, GError * error, gpointer userdata
if (app->icon != NULL) g_free(app->icon);
app->icon = g_strdup(newicon);
- if (app->status == APP_INDICATOR_STATUS_ACTIVE) {
+ if (app->visible_state == VISIBLE_STATE_SHOWN && app->status == APP_INDICATOR_STATUS_ACTIVE) {
gint position = get_position(app);
if (position == -1) return;
@@ -683,7 +707,7 @@ new_aicon_cb (DBusGProxy * proxy, GValue value, GError * error, gpointer userdat
if (app->aicon != NULL) g_free(app->aicon);
app->aicon = g_strdup(newicon);
- if (app->status == APP_INDICATOR_STATUS_ATTENTION) {
+ if (app->visible_state == VISIBLE_STATE_SHOWN && app->status == APP_INDICATOR_STATUS_ATTENTION) {
gint position = get_position(app);
if (position == -1) return;
@@ -737,7 +761,8 @@ new_status (DBusGProxy * proxy, const gchar * status, gpointer data)
Application * app = (Application *)data;
if (!app->validated) return;
- apply_status(app, string_to_status(status));
+ app->status = string_to_status(status);
+ apply_status(app);
return;
}
@@ -755,7 +780,7 @@ new_icon_theme_path (DBusGProxy * proxy, const gchar * icon_theme_path, gpointer
if (app->icon_theme_path != NULL) g_free(app->icon_theme_path);
app->icon_theme_path = g_strdup(icon_theme_path);
- if (app->status == APP_INDICATOR_STATUS_ACTIVE) {
+ if (app->visible_state != VISIBLE_STATE_HIDDEN) {
gint position = get_position(app);
if (position == -1) return;
@@ -841,6 +866,8 @@ application_service_appstore_application_add (ApplicationServiceAppstore * appst
app->guide = NULL;
app->currently_free = FALSE;
app->ordering_index = 0;
+ app->approved_by = NULL;
+ app->visible_state = VISIBLE_STATE_HIDDEN;
/* Get the DBus proxy for the NotificationItem interface */
GError * error = NULL;
@@ -933,27 +960,40 @@ application_service_appstore_application_add (ApplicationServiceAppstore * appst
return;
}
-/* Removes an application. Currently only works for the apps
- that are shown. /TODO Need to fix that. */
-void
-application_service_appstore_application_remove (ApplicationServiceAppstore * appstore, const gchar * dbus_name, const gchar * dbus_object)
+/* Looks for an application in the list of applications */
+static Application *
+find_application (ApplicationServiceAppstore * appstore, const gchar * address, const gchar * object)
{
- g_return_if_fail(IS_APPLICATION_SERVICE_APPSTORE(appstore));
- g_return_if_fail(dbus_name != NULL && dbus_name[0] != '\0');
- g_return_if_fail(dbus_object != NULL && dbus_object[0] != '\0');
-
ApplicationServiceAppstorePrivate * priv = appstore->priv;
GList * listpntr;
for (listpntr = priv->applications; listpntr != NULL; listpntr = g_list_next(listpntr)) {
Application * app = (Application *)listpntr->data;
- if (!g_strcmp0(app->dbus_name, dbus_name) && !g_strcmp0(app->dbus_object, dbus_object)) {
- application_removed_cb(NULL, app);
- break; /* NOTE: Must break as the list will become inconsistent */
+ if (!g_strcmp0(app->dbus_name, address) && !g_strcmp0(app->dbus_object, object)) {
+ return app;
}
}
+ return NULL;
+}
+
+/* Removes an application. Currently only works for the apps
+ that are shown. */
+void
+application_service_appstore_application_remove (ApplicationServiceAppstore * appstore, const gchar * dbus_name, const gchar * dbus_object)
+{
+ g_return_if_fail(IS_APPLICATION_SERVICE_APPSTORE(appstore));
+ g_return_if_fail(dbus_name != NULL && dbus_name[0] != '\0');
+ g_return_if_fail(dbus_object != NULL && dbus_object[0] != '\0');
+
+ Application * app = find_application(appstore, dbus_name, dbus_object);
+ if (app != NULL) {
+ application_removed_cb(NULL, app);
+ } else {
+ g_warning("Unable to find application %s:%s", dbus_name, dbus_object);
+ }
+
return;
}
@@ -978,6 +1018,10 @@ _application_service_server_get_applications (ApplicationServiceAppstore * appst
for (listpntr = priv->applications; listpntr != NULL; listpntr = g_list_next(listpntr)) {
Application * app = (Application *)listpntr->data;
+ if (app->visible_state == VISIBLE_STATE_HIDDEN) {
+ continue;
+ }
+
GValueArray * values = g_value_array_new(5);
GValue value = {0};
@@ -1030,15 +1074,32 @@ _application_service_server_get_applications (ApplicationServiceAppstore * appst
return TRUE;
}
+/* Removes and approver from our list of approvers and
+ then sees if that changes our status. Most likely this
+ could make us visible if this approver rejected us. */
+static void
+remove_approver (gpointer papp, gpointer pproxy)
+{
+ Application * app = (Application *)papp;
+ app->approved_by = g_list_remove(app->approved_by, pproxy);
+ apply_status(app);
+ return;
+}
+
/* Frees the data associated with an approver */
static void
approver_free (gpointer papprover, gpointer user_data)
{
Approver * approver = (Approver *)papprover;
g_return_if_fail(approver != NULL);
+
+ ApplicationServiceAppstore * appstore = APPLICATION_SERVICE_APPSTORE(user_data);
+ g_list_foreach(appstore->priv->applications, remove_approver, approver->proxy);
if (approver->proxy != NULL) {
- g_object_unref(approver->proxy);
+ if (!approver->destroy_by_proxy) {
+ g_object_unref(approver->proxy);
+ }
approver->proxy = NULL;
}
@@ -1050,7 +1111,21 @@ approver_free (gpointer papprover, gpointer user_data)
static void
approver_request_cb (DBusGProxy *proxy, gboolean OUT_approved, GError *error, gpointer userdata)
{
- g_debug("Approver responded: %s", OUT_approved ? "approve" : "rejected");
+ if (error == NULL) {
+ g_debug("Approver responded: %s", OUT_approved ? "approve" : "rejected");
+ } else {
+ g_debug("Approver responded error: %s", error->message);
+ }
+
+ Application * app = (Application *)userdata;
+
+ if (OUT_approved || error != NULL) {
+ app->approved_by = g_list_prepend(app->approved_by, proxy);
+ } else {
+ app->approved_by = g_list_remove(app->approved_by, proxy);
+ }
+
+ apply_status(app);
return;
}
@@ -1073,6 +1148,72 @@ check_with_new_approver (gpointer papp, gpointer papprove)
return;
}
+/* Look through all the approvers and find the one with a given
+ proxy. */
+static gint
+approver_find_by_proxy (gconstpointer papprover, gconstpointer pproxy)
+{
+ Approver * approver = (Approver *)papprover;
+
+ if (approver->proxy == pproxy) {
+ return 0;
+ }
+
+ return -1;
+}
+
+/* Tracks when a proxy gets destroyed so that we know that the
+ approver has dropped off the bus. */
+static void
+approver_destroyed (gpointer pproxy, gpointer pappstore)
+{
+ ApplicationServiceAppstore * appstore = APPLICATION_SERVICE_APPSTORE(pappstore);
+
+ GList * lapprover = g_list_find_custom(appstore->priv->approvers, pproxy, approver_find_by_proxy);
+ if (lapprover == NULL) {
+ g_warning("Approver proxy died, but we don't seem to have that approver.");
+ return;
+ }
+
+ Approver * approver = (Approver *)lapprover->data;
+ approver->destroy_by_proxy = TRUE;
+
+ appstore->priv->approvers = g_list_remove(appstore->priv->approvers, approver);
+ approver_free(approver, appstore);
+
+ return;
+}
+
+/* A signal when an approver changes the why that it thinks about
+ a particular indicator. */
+void
+approver_revise_judgement (DBusGProxy * proxy, gboolean new_status, gchar * address, DBusGProxy * get_path, gpointer user_data)
+{
+ g_return_if_fail(IS_APPLICATION_SERVICE_APPSTORE(user_data));
+ g_return_if_fail(address != NULL && address[0] != '\0');
+ g_return_if_fail(get_path != NULL);
+ const gchar * path = dbus_g_proxy_get_path(get_path);
+ g_return_if_fail(path != NULL && path[0] != '\0');
+
+ ApplicationServiceAppstore * appstore = APPLICATION_SERVICE_APPSTORE(user_data);
+
+ Application * app = find_application(appstore, address, path);
+
+ if (app == NULL) {
+ g_warning("Unable to update approver status of application (%s:%s) as it was not found", address, path);
+ return;
+ }
+
+ if (new_status) {
+ app->approved_by = g_list_prepend(app->approved_by, proxy);
+ } else {
+ app->approved_by = g_list_remove(app->approved_by, proxy);
+ }
+ apply_status(app);
+
+ return;
+}
+
/* Adds a new approver to the app store */
void
application_service_appstore_approver_add (ApplicationServiceAppstore * appstore, const gchar * dbus_name, const gchar * dbus_object)
@@ -1083,6 +1224,7 @@ application_service_appstore_approver_add (ApplicationServiceAppstore * appstore
ApplicationServiceAppstorePrivate * priv = APPLICATION_SERVICE_APPSTORE_GET_PRIVATE (appstore);
Approver * approver = g_new0(Approver, 1);
+ approver->destroy_by_proxy = FALSE;
GError * error = NULL;
approver->proxy = dbus_g_proxy_new_for_name_owner(priv->bus,
@@ -1097,6 +1239,20 @@ application_service_appstore_approver_add (ApplicationServiceAppstore * appstore
return;
}
+ g_signal_connect(G_OBJECT(approver->proxy), "destroy", G_CALLBACK(approver_destroyed), appstore);
+
+ dbus_g_proxy_add_signal(approver->proxy,
+ "ReviseJudgement",
+ G_TYPE_BOOLEAN,
+ G_TYPE_STRING,
+ DBUS_TYPE_G_OBJECT_PATH,
+ G_TYPE_INVALID);
+ dbus_g_proxy_connect_signal(approver->proxy,
+ "ReviseJudgement",
+ G_CALLBACK(approver_revise_judgement),
+ appstore,
+ NULL);
+
priv->approvers = g_list_prepend(priv->approvers, approver);
g_list_foreach(priv->applications, check_with_new_approver, approver);
diff --git a/src/application-service-marshal.c b/src/application-service-marshal.c
index db095ce..e109d7c 100644
--- a/src/application-service-marshal.c
+++ b/src/application-service-marshal.c
@@ -210,3 +210,42 @@ _application_service_marshal_VOID__STRING_STRING (GClosure *closure,
data2);
}
+/* VOID:BOOL,STRING,OBJECT (./application-service-marshal.list:23) */
+void
+_application_service_marshal_VOID__BOOLEAN_STRING_OBJECT (GClosure *closure,
+ GValue *return_value G_GNUC_UNUSED,
+ guint n_param_values,
+ const GValue *param_values,
+ gpointer invocation_hint G_GNUC_UNUSED,
+ gpointer marshal_data)
+{
+ typedef void (*GMarshalFunc_VOID__BOOLEAN_STRING_OBJECT) (gpointer data1,
+ gboolean arg_1,
+ gpointer arg_2,
+ gpointer arg_3,
+ gpointer data2);
+ register GMarshalFunc_VOID__BOOLEAN_STRING_OBJECT callback;
+ register GCClosure *cc = (GCClosure*) closure;
+ register gpointer data1, data2;
+
+ g_return_if_fail (n_param_values == 4);
+
+ if (G_CCLOSURE_SWAP_DATA (closure))
+ {
+ data1 = closure->data;
+ data2 = g_value_peek_pointer (param_values + 0);
+ }
+ else
+ {
+ data1 = g_value_peek_pointer (param_values + 0);
+ data2 = closure->data;
+ }
+ callback = (GMarshalFunc_VOID__BOOLEAN_STRING_OBJECT) (marshal_data ? marshal_data : cc->callback);
+
+ callback (data1,
+ g_marshal_value_peek_boolean (param_values + 1),
+ g_marshal_value_peek_string (param_values + 2),
+ g_marshal_value_peek_object (param_values + 3),
+ data2);
+}
+
diff --git a/src/application-service-marshal.list b/src/application-service-marshal.list
index f432028..2b2efa5 100644
--- a/src/application-service-marshal.list
+++ b/src/application-service-marshal.list
@@ -20,3 +20,4 @@ VOID: STRING, INT, STRING, STRING, STRING, STRING, STRING
VOID: INT, STRING, STRING
VOID: INT, STRING
VOID: STRING, STRING
+VOID: BOOL, STRING, OBJECT
diff --git a/src/application-service-watcher.c b/src/application-service-watcher.c
index 4fe3bc7..5b77620 100644
--- a/src/application-service-watcher.c
+++ b/src/application-service-watcher.c
@@ -34,7 +34,7 @@ static gboolean _notification_watcher_server_register_status_notifier_item (Appl
static gboolean _notification_watcher_server_registered_status_notifier_items (ApplicationServiceWatcher * appwatcher, GArray ** apps);
static gboolean _notification_watcher_server_protocol_version (ApplicationServiceWatcher * appwatcher, char ** version);
static gboolean _notification_watcher_server_register_notification_host (ApplicationServiceWatcher * appwatcher, const gchar * host);
-static gboolean _notification_watcher_server_register_notification_approver (ApplicationServiceWatcher * appwatcher, const gchar * path, const GArray * categories, DBusGMethodInvocation * method);
+static gboolean _notification_watcher_server_x_ayatana_register_notification_approver (ApplicationServiceWatcher * appwatcher, const gchar * path, const GArray * categories, DBusGMethodInvocation * method);
static gboolean _notification_watcher_server_is_notification_host_registered (ApplicationServiceWatcher * appwatcher, gboolean * haveHost);
static void get_name_cb (DBusGProxy * proxy, guint status, GError * error, gpointer data);
@@ -252,7 +252,7 @@ get_name_cb (DBusGProxy * proxy, guint status, GError * error, gpointer data)
}
static gboolean
-_notification_watcher_server_register_notification_approver (ApplicationServiceWatcher * appwatcher, const gchar * path, const GArray * categories, DBusGMethodInvocation * method)
+_notification_watcher_server_x_ayatana_register_notification_approver (ApplicationServiceWatcher * appwatcher, const gchar * path, const GArray * categories, DBusGMethodInvocation * method)
{
ApplicationServiceWatcherPrivate * priv = APPLICATION_SERVICE_WATCHER_GET_PRIVATE(appwatcher);
diff --git a/src/notification-approver.xml b/src/notification-approver.xml
index b1e69b9..4a8e39b 100644
--- a/src/notification-approver.xml
+++ b/src/notification-approver.xml
@@ -18,5 +18,12 @@
<arg type="b" name="approved" direction="out" />
</method>
+<!-- Signals -->
+ <signal name="ReviseJudgement">
+ <arg type="b" name="approved" direction="out" />
+ <arg type="s" name="address" direction="out" />
+ <arg type="o" name="path" direction="out" />
+ </signal>
+
</interface>
</node>
diff --git a/src/notification-watcher.xml b/src/notification-watcher.xml
index cc7882d..5f19dd2 100644
--- a/src/notification-watcher.xml
+++ b/src/notification-watcher.xml
@@ -22,7 +22,7 @@
<method name="IsNotificationHostRegistered">
<arg type="b" name="hasHost" direction="out" />
</method>
- <method name="RegisterNotificationApprover">
+ <method name="XAyatanaRegisterNotificationApprover">
<annotation name="org.freedesktop.DBus.GLib.Async" value="true" />
<!-- The path where to find the approver interface -->
<arg type="o" name="path" direction="in" />
diff --git a/tests/test-approver.c b/tests/test-approver.c
index bc25761..2665505 100644
--- a/tests/test-approver.c
+++ b/tests/test-approver.c
@@ -128,7 +128,7 @@ check_for_service (gpointer user_data)
NOTIFICATION_WATCHER_DBUS_IFACE);
g_debug("Registering Approver");
- org_kde_StatusNotifierWatcher_register_notification_approver_async (proxy, APPROVER_PATH, &cats, register_cb, NULL);
+ org_kde_StatusNotifierWatcher_x_ayatana_register_notification_approver_async (proxy, APPROVER_PATH, &cats, register_cb, NULL);
return FALSE;
}