aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2010-02-18 09:36:34 -0600
committerTed Gould <ted@gould.cx>2010-02-18 09:36:34 -0600
commitfc732a57ad37e295233804a37419e39cefff5683 (patch)
tree757e9e911e42c083a1a813700bc639053687aee1
parent9dab152713df2694ed4f447561bfbd31a51479e9 (diff)
parent4a297fec6d7fbc75035aa7d3d1eedb90bea98d15 (diff)
downloadayatana-indicator-session-fc732a57ad37e295233804a37419e39cefff5683.tar.gz
ayatana-indicator-session-fc732a57ad37e295233804a37419e39cefff5683.tar.bz2
ayatana-indicator-session-fc732a57ad37e295233804a37419e39cefff5683.zip
Adding in user items
-rw-r--r--configure.ac5
-rw-r--r--data/icons/16x16/Makefile.am2
-rw-r--r--data/icons/16x16/status/Makefile.am7
-rw-r--r--data/icons/16x16/status/account-logged-in.pngbin0 -> 962 bytes
-rw-r--r--data/icons/22x22/Makefile.am2
-rw-r--r--data/icons/22x22/status/Makefile.am7
-rw-r--r--data/icons/22x22/status/account-logged-in.pngbin0 -> 1356 bytes
-rw-r--r--data/icons/24x24/Makefile.am2
-rw-r--r--data/icons/24x24/status/Makefile.am7
-rw-r--r--data/icons/24x24/status/account-logged-in.pngbin0 -> 1356 bytes
-rw-r--r--data/icons/32x32/Makefile.am2
-rw-r--r--data/icons/32x32/status/Makefile.am7
-rw-r--r--data/icons/32x32/status/account-logged-in.pngbin0 -> 2136 bytes
-rw-r--r--data/icons/scalable/Makefile.am2
-rw-r--r--data/icons/scalable/status/Makefile.am7
-rw-r--r--data/icons/scalable/status/account-logged-in.svg270
-rw-r--r--src/dbus-shared-names.h4
-rw-r--r--src/indicator-session.c30
-rw-r--r--src/session-service.c8
19 files changed, 355 insertions, 7 deletions
diff --git a/configure.ac b/configure.ac
index 1b4ecfa..b401694 100644
--- a/configure.ac
+++ b/configure.ac
@@ -132,14 +132,19 @@ data/Makefile
data/icons/Makefile
data/icons/16x16/Makefile
data/icons/16x16/actions/Makefile
+data/icons/16x16/status/Makefile
data/icons/22x22/Makefile
data/icons/22x22/actions/Makefile
+data/icons/22x22/status/Makefile
data/icons/24x24/Makefile
data/icons/24x24/actions/Makefile
+data/icons/24x24/status/Makefile
data/icons/32x32/Makefile
data/icons/32x32/actions/Makefile
+data/icons/32x32/status/Makefile
data/icons/scalable/Makefile
data/icons/scalable/actions/Makefile
+data/icons/scalable/status/Makefile
po/Makefile.in
])
diff --git a/data/icons/16x16/Makefile.am b/data/icons/16x16/Makefile.am
index 0224d45..c163076 100644
--- a/data/icons/16x16/Makefile.am
+++ b/data/icons/16x16/Makefile.am
@@ -1 +1 @@
-SUBDIRS = actions
+SUBDIRS = actions status
diff --git a/data/icons/16x16/status/Makefile.am b/data/icons/16x16/status/Makefile.am
new file mode 100644
index 0000000..c0af60e
--- /dev/null
+++ b/data/icons/16x16/status/Makefile.am
@@ -0,0 +1,7 @@
+
+iconsdir = $(INDICATORICONSDIR)/hicolor/16x16/status
+
+icons_DATA = \
+ account-logged-in.png
+
+EXTRA_DIST = $(icons_DATA)
diff --git a/data/icons/16x16/status/account-logged-in.png b/data/icons/16x16/status/account-logged-in.png
new file mode 100644
index 0000000..fb4362c
--- /dev/null
+++ b/data/icons/16x16/status/account-logged-in.png
Binary files differ
diff --git a/data/icons/22x22/Makefile.am b/data/icons/22x22/Makefile.am
index 0224d45..c163076 100644
--- a/data/icons/22x22/Makefile.am
+++ b/data/icons/22x22/Makefile.am
@@ -1 +1 @@
-SUBDIRS = actions
+SUBDIRS = actions status
diff --git a/data/icons/22x22/status/Makefile.am b/data/icons/22x22/status/Makefile.am
new file mode 100644
index 0000000..1ce0fa1
--- /dev/null
+++ b/data/icons/22x22/status/Makefile.am
@@ -0,0 +1,7 @@
+
+iconsdir = $(INDICATORICONSDIR)/hicolor/22x22/status
+
+icons_DATA = \
+ account-logged-in.png
+
+EXTRA_DIST = $(icons_DATA)
diff --git a/data/icons/22x22/status/account-logged-in.png b/data/icons/22x22/status/account-logged-in.png
new file mode 100644
index 0000000..e27d75f
--- /dev/null
+++ b/data/icons/22x22/status/account-logged-in.png
Binary files differ
diff --git a/data/icons/24x24/Makefile.am b/data/icons/24x24/Makefile.am
index 0224d45..c163076 100644
--- a/data/icons/24x24/Makefile.am
+++ b/data/icons/24x24/Makefile.am
@@ -1 +1 @@
-SUBDIRS = actions
+SUBDIRS = actions status
diff --git a/data/icons/24x24/status/Makefile.am b/data/icons/24x24/status/Makefile.am
new file mode 100644
index 0000000..4fa065a
--- /dev/null
+++ b/data/icons/24x24/status/Makefile.am
@@ -0,0 +1,7 @@
+
+iconsdir = $(INDICATORICONSDIR)/hicolor/24x24/status
+
+icons_DATA = \
+ account-logged-in.png
+
+EXTRA_DIST = $(icons_DATA)
diff --git a/data/icons/24x24/status/account-logged-in.png b/data/icons/24x24/status/account-logged-in.png
new file mode 100644
index 0000000..db4f548
--- /dev/null
+++ b/data/icons/24x24/status/account-logged-in.png
Binary files differ
diff --git a/data/icons/32x32/Makefile.am b/data/icons/32x32/Makefile.am
index 0224d45..c163076 100644
--- a/data/icons/32x32/Makefile.am
+++ b/data/icons/32x32/Makefile.am
@@ -1 +1 @@
-SUBDIRS = actions
+SUBDIRS = actions status
diff --git a/data/icons/32x32/status/Makefile.am b/data/icons/32x32/status/Makefile.am
new file mode 100644
index 0000000..b852725
--- /dev/null
+++ b/data/icons/32x32/status/Makefile.am
@@ -0,0 +1,7 @@
+
+iconsdir = $(INDICATORICONSDIR)/hicolor/32x32/status
+
+icons_DATA = \
+ account-logged-in.png
+
+EXTRA_DIST = $(icons_DATA)
diff --git a/data/icons/32x32/status/account-logged-in.png b/data/icons/32x32/status/account-logged-in.png
new file mode 100644
index 0000000..05bff57
--- /dev/null
+++ b/data/icons/32x32/status/account-logged-in.png
Binary files differ
diff --git a/data/icons/scalable/Makefile.am b/data/icons/scalable/Makefile.am
index 0224d45..c163076 100644
--- a/data/icons/scalable/Makefile.am
+++ b/data/icons/scalable/Makefile.am
@@ -1 +1 @@
-SUBDIRS = actions
+SUBDIRS = actions status
diff --git a/data/icons/scalable/status/Makefile.am b/data/icons/scalable/status/Makefile.am
new file mode 100644
index 0000000..cb006e2
--- /dev/null
+++ b/data/icons/scalable/status/Makefile.am
@@ -0,0 +1,7 @@
+
+iconsdir = $(INDICATORICONSDIR)/hicolor/scalable/status
+
+icons_DATA = \
+ account-logged-in.svg
+
+EXTRA_DIST = $(icons_DATA)
diff --git a/data/icons/scalable/status/account-logged-in.svg b/data/icons/scalable/status/account-logged-in.svg
new file mode 100644
index 0000000..c3ef44f
--- /dev/null
+++ b/data/icons/scalable/status/account-logged-in.svg
@@ -0,0 +1,270 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ id="svg1"
+ sodipodi:version="0.32"
+ inkscape:version="0.45"
+ width="48"
+ height="48"
+ sodipodi:docbase="/home/dobey/Projects/gnome-icon-theme/scalable/emblems"
+ sodipodi:docname="emblem-default.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.0">
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient5237">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop5239" />
+ <stop
+ id="stop5247"
+ offset="0.5"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ style="stop-color:#9c9c9c;stop-opacity:1"
+ offset="1"
+ id="stop5241" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5226">
+ <stop
+ style="stop-color:#63b512;stop-opacity:1;"
+ offset="0"
+ id="stop5229" />
+ <stop
+ id="stop5245"
+ offset="0.16030352"
+ style="stop-color:#58a30e;stop-opacity:1;" />
+ <stop
+ id="stop5235"
+ offset="0.66008514"
+ style="stop-color:#366b04;stop-opacity:1" />
+ <stop
+ style="stop-color:#87ea25;stop-opacity:1"
+ offset="1"
+ id="stop5231" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5300">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop5302" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop5304" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5224">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop5226" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop5228" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5224"
+ id="radialGradient5230"
+ cx="14.5"
+ cy="26.6875"
+ fx="14.5"
+ fy="26.6875"
+ r="10"
+ gradientTransform="matrix(1,0,0,0.29375,0,18.848047)"
+ gradientUnits="userSpaceOnUse" />
+ <filter
+ inkscape:collect="always"
+ id="filter5296"
+ x="-0.09814655"
+ width="1.1962931"
+ y="-0.33411592"
+ height="1.6682318">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="0.81788793"
+ id="feGaussianBlur5298" />
+ </filter>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5300"
+ id="radialGradient5306"
+ cx="29.77438"
+ cy="7.0922189"
+ fx="29.77438"
+ fy="7.0922189"
+ r="25.380436"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.2469896,0,0,2.2469896,-37.128341,-8.8439229)" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5224"
+ id="radialGradient5330"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.29375,0,18.848047)"
+ cx="14.5"
+ cy="26.6875"
+ fx="14.5"
+ fy="26.6875"
+ r="10" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5226"
+ id="radialGradient5233"
+ cx="29.392656"
+ cy="18.898249"
+ fx="29.392656"
+ fy="18.898249"
+ r="29.699959"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.5354369,0,0,1.5485894,-15.737913,-10.36738)" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5237"
+ id="radialGradient5243"
+ cx="22.9375"
+ cy="16.305218"
+ fx="22.9375"
+ fy="16.305218"
+ r="15.5625"
+ gradientTransform="matrix(1.5301205,0,0,1.6745294,-12.159639,-11.709817)"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#ededed"
+ borderopacity="1"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="39.269655"
+ inkscape:cy="17.441445"
+ inkscape:window-width="826"
+ inkscape:window-height="790"
+ gridspacingx="0.50000000mm"
+ gridspacingy="0.50000000mm"
+ showgrid="false"
+ inkscape:grid-bbox="false"
+ inkscape:window-x="461"
+ inkscape:window-y="278"
+ inkscape:current-layer="svg1"
+ borderlayer="true"
+ inkscape:showpageshadow="false"
+ width="744.09449px"
+ height="1052.3622px">
+ <inkscape:grid
+ type="xygrid"
+ id="grid5308" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Emblem Urgent</dc:title>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Andreas Nilsson</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>generic</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/Notice" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/ShareAlike" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/SourceCode" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.53012048;color:#000000;fill:url(#radialGradient5230);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;filter:url(#filter5296);enable-background:accumulate"
+ id="path4645"
+ sodipodi:cx="14.5"
+ sodipodi:cy="26.6875"
+ sodipodi:rx="10"
+ sodipodi:ry="2.9375"
+ d="M 24.5,26.6875 A 10,2.9375 0 1 1 4.5,26.6875 A 10,2.9375 0 1 1 24.5,26.6875 z"
+ transform="matrix(2.1570145,0,0,2.155398,-7.8468552,-16.33814)" />
+ <path
+ transform="matrix(1.3478975,0,0,1.3468874,3.8853414,6.4889877)"
+ d="M 24.5,26.6875 A 10,2.9375 0 1 1 4.5,26.6875 A 10,2.9375 0 1 1 24.5,26.6875 z"
+ sodipodi:ry="2.9375"
+ sodipodi:rx="10"
+ sodipodi:cy="26.6875"
+ sodipodi:cx="14.5"
+ id="path5328"
+ style="opacity:0.80120482;color:#000000;fill:url(#radialGradient5330);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;filter:url(#filter5296);enable-background:accumulate"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient5233);fill-opacity:1;fill-rule:evenodd;stroke:#316203;stroke-width:1.37804781999999992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path907"
+ sodipodi:cx="29.392656"
+ sodipodi:cy="29.207693"
+ sodipodi:rx="29.010935"
+ sodipodi:ry="29.010935"
+ d="M 58.403591,29.207693 A 29.010935,29.010935 0 1 1 0.3817215,29.207693 A 29.010935,29.010935 0 1 1 58.403591,29.207693 z"
+ transform="matrix(0.7238447,0,0,0.7274883,2.1828126,2.3568607)" />
+ <path
+ sodipodi:type="arc"
+ style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#radialGradient5306);stroke-width:1.21160841;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path1552"
+ sodipodi:cx="29.77438"
+ sodipodi:cy="30.352861"
+ sodipodi:rx="24.175779"
+ sodipodi:ry="24.175779"
+ d="M 53.950159,30.352861 A 24.175779,24.175779 0 1 1 5.5986004,30.352861 A 24.175779,24.175779 0 1 1 53.950159,30.352861 z"
+ transform="matrix(0.8254302,0,0,0.8252681,-1.1457884,-1.4441229)" />
+ <path
+ style="opacity:1;color:#000000;fill:url(#radialGradient5243);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 12.875,24.625 L 25.375,36.625 L 44,20.625 C 43.253602,16.729371 41.57038,13.679873 39.8125,11.0625 L 25.125,23.75 L 20.375,18.5 L 12.875,24.625 z"
+ id="path5222"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#549910;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 40.21875,10.8125 C 41.930961,13.346411 43.59334,15.979986 44.40625,20.3125"
+ id="path5224"
+ sodipodi:nodetypes="cc" />
+</svg>
diff --git a/src/dbus-shared-names.h b/src/dbus-shared-names.h
index 1fd256f..253cba8 100644
--- a/src/dbus-shared-names.h
+++ b/src/dbus-shared-names.h
@@ -38,4 +38,8 @@ with this program. If not, see <http://www.gnu.org/licenses/>.
#define INDICATOR_SESSION_DBUS_OBJECT "/org/ayatana/indicator/session/menu"
#define INDICATOR_SESSION_DBUS_VERSION 0
+#define USER_ITEM_TYPE "x-canonical-user-item"
+#define USER_ITEM_PROP_NAME "user-item-name"
+#define USER_ITEM_PROP_LOGGED_IN "user-item-logged-in"
+
#endif /* __DBUS_SHARED_NAMES_H__ */
diff --git a/src/indicator-session.c b/src/indicator-session.c
index 1b9629b..ee7d76c 100644
--- a/src/indicator-session.c
+++ b/src/indicator-session.c
@@ -106,6 +106,7 @@ indicator_session_init (IndicatorSession *self)
DbusmenuClient * client = DBUSMENU_CLIENT(dbusmenu_gtkmenu_get_client(self->menu));
dbusmenu_client_add_type_handler(client, MENU_SWITCH_TYPE, build_menu_switch);
+ dbusmenu_client_add_type_handler(client, USER_ITEM_TYPE, new_user_item);
return;
}
@@ -145,6 +146,35 @@ get_icon (IndicatorObject * io)
return INDICATOR_SESSION(io)->status_image;
}
+/* Builds an item with a hip little logged in icon. */
+static gboolean
+new_user_item (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent, DbusmenuClient * client)
+{
+ GtkMenuItem * gmi = GTK_MENU_ITEM(gtk_menu_item_new());
+ GtkWidget * hbox = gtk_hbox_new(FALSE, 0);
+
+ GtkWidget * label = gtk_label_new(dbusmenu_menuitem_property_get(newitem, USER_ITEM_PROP_NAME));
+ gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);
+ gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 0);
+ gtk_widget_show(label);
+
+ GtkWidget * icon = gtk_image_new_from_icon_name("account-logged-in", GTK_ICON_SIZE_MENU);
+ gtk_misc_set_alignment(GTK_MISC(icon), 1.0, 0.5);
+ gtk_box_pack_start(GTK_BOX(hbox), icon, FALSE, FALSE, 0);
+ if (dbusmenu_menuitem_property_get_bool(newitem, USER_ITEM_PROP_LOGGED_IN)) {
+ gtk_widget_show(icon);
+ } else {
+ gtk_widget_hide(icon);
+ }
+
+ gtk_container_add(GTK_CONTAINER(gmi), hbox);
+ gtk_widget_show(hbox);
+
+ dbusmenu_gtkclient_newitem_base(DBUSMENU_GTKCLIENT(client), newitem, gmi, parent);
+
+ return TRUE;
+}
+
/* Indicator based function to get the menu for the whole
applet. This starts up asking for the parts of the menu
from the various services. */
diff --git a/src/session-service.c b/src/session-service.c
index d074cb8..9fb9ee7 100644
--- a/src/session-service.c
+++ b/src/session-service.c
@@ -445,7 +445,9 @@ rebuild_items (DbusmenuMenuitem *root,
if (check_guest_session ())
{
mi = dbusmenu_menuitem_new ();
- dbusmenu_menuitem_property_set (mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Guest Session"));
+ dbusmenu_menuitem_property_set (mi, DBUSMENU_MENUITEM_PROP_TYPE, USER_ITEM_TYPE);
+ dbusmenu_menuitem_property_set (mi, USER_ITEM_PROP_NAME, _("Guest Session"));
+ dbusmenu_menuitem_property_set_bool (mi, USER_ITEM_PROP_LOGGED_IN, FALSE);
dbusmenu_menuitem_child_append (root, mi);
g_signal_connect (G_OBJECT (mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK (activate_guest_session), NULL);
}
@@ -495,7 +497,9 @@ rebuild_items (DbusmenuMenuitem *root,
user->service = service;
mi = dbusmenu_menuitem_new ();
- dbusmenu_menuitem_property_set (mi, DBUSMENU_MENUITEM_PROP_LABEL, user->real_name);
+ dbusmenu_menuitem_property_set (mi, DBUSMENU_MENUITEM_PROP_TYPE, USER_ITEM_TYPE);
+ dbusmenu_menuitem_property_set (mi, USER_ITEM_PROP_NAME, user->real_name);
+ dbusmenu_menuitem_property_set_bool (mi, USER_ITEM_PROP_LOGGED_IN, user->sessions != NULL);
dbusmenu_menuitem_child_append (root, mi);
g_signal_connect (G_OBJECT (mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK (activate_user_session), user);
}