aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@canonical.com>2009-08-07 21:54:26 +0100
committerTed Gould <ted@canonical.com>2009-08-07 21:54:26 +0100
commita52ff08217de74771d2721b6e3a3707d43fbe780 (patch)
tree2dd8c1e9c43293900548fd823bfad28652c9dfd7
parent9b7303cd469357b2d17cb87313d83d47ffc16470 (diff)
parent848e09b4d35f6609c4deaf1298c8b4360ed15a22 (diff)
downloadayatana-indicator-session-a52ff08217de74771d2721b6e3a3707d43fbe780.tar.gz
ayatana-indicator-session-a52ff08217de74771d2721b6e3a3707d43fbe780.tar.bz2
ayatana-indicator-session-a52ff08217de74771d2721b6e3a3707d43fbe780.zip
Merging the branch for better status service.
-rw-r--r--configure.ac18
-rw-r--r--data/Makefile.am1
-rw-r--r--data/icons/16x16/Makefile.am1
-rw-r--r--data/icons/16x16/actions/Makefile.am8
-rw-r--r--data/icons/16x16/actions/system-log-out.pngbin0 -> 407 bytes
-rw-r--r--data/icons/16x16/actions/system-restart.pngbin0 -> 889 bytes
-rw-r--r--data/icons/16x16/actions/system-shutdown.pngbin0 -> 699 bytes
-rw-r--r--data/icons/16x16/status/Makefile.am10
-rw-r--r--data/icons/16x16/status/user-away.pngbin0 -> 536 bytes
-rw-r--r--data/icons/16x16/status/user-busy.pngbin0 -> 618 bytes
-rwxr-xr-xdata/icons/16x16/status/user-invisible.pngbin0 -> 656 bytes
-rw-r--r--data/icons/16x16/status/user-offline.pngbin0 -> 405 bytes
-rw-r--r--data/icons/16x16/status/user-online.pngbin0 -> 685 bytes
-rw-r--r--data/icons/22x22/Makefile.am1
-rw-r--r--data/icons/22x22/actions/Makefile.am8
-rw-r--r--data/icons/22x22/actions/system-log-out.pngbin0 -> 929 bytes
-rw-r--r--data/icons/22x22/actions/system-restart.pngbin0 -> 1324 bytes
-rw-r--r--data/icons/22x22/actions/system-shutdown.pngbin0 -> 1339 bytes
-rw-r--r--data/icons/22x22/status/Makefile.am10
-rw-r--r--data/icons/22x22/status/user-away.pngbin0 -> 740 bytes
-rw-r--r--data/icons/22x22/status/user-busy.pngbin0 -> 1041 bytes
-rwxr-xr-xdata/icons/22x22/status/user-invisible.pngbin0 -> 914 bytes
-rw-r--r--data/icons/22x22/status/user-offline.pngbin0 -> 571 bytes
-rw-r--r--data/icons/22x22/status/user-online.pngbin0 -> 967 bytes
-rw-r--r--data/icons/24x24/Makefile.am1
-rw-r--r--data/icons/24x24/actions/Makefile.am8
-rw-r--r--data/icons/24x24/actions/system-log-out.pngbin0 -> 956 bytes
-rw-r--r--data/icons/24x24/actions/system-restart.pngbin0 -> 1331 bytes
-rw-r--r--data/icons/24x24/actions/system-shutdown.pngbin0 -> 1355 bytes
-rw-r--r--data/icons/24x24/status/Makefile.am10
-rw-r--r--data/icons/24x24/status/user-away.pngbin0 -> 825 bytes
-rw-r--r--data/icons/24x24/status/user-busy.pngbin0 -> 1081 bytes
-rwxr-xr-xdata/icons/24x24/status/user-invisible.pngbin0 -> 1004 bytes
-rw-r--r--data/icons/24x24/status/user-offline.pngbin0 -> 570 bytes
-rw-r--r--data/icons/24x24/status/user-online.pngbin0 -> 1075 bytes
-rw-r--r--data/icons/32x32/Makefile.am1
-rw-r--r--data/icons/32x32/actions/Makefile.am8
-rw-r--r--data/icons/32x32/actions/system-log-out.pngbin0 -> 1402 bytes
-rw-r--r--data/icons/32x32/actions/system-restart.pngbin0 -> 2293 bytes
-rw-r--r--data/icons/32x32/status/Makefile.am10
-rw-r--r--data/icons/32x32/status/user-away.pngbin0 -> 1057 bytes
-rw-r--r--data/icons/32x32/status/user-busy.pngbin0 -> 1218 bytes
-rwxr-xr-xdata/icons/32x32/status/user-invisible.pngbin0 -> 1144 bytes
-rw-r--r--data/icons/32x32/status/user-offline.pngbin0 -> 724 bytes
-rw-r--r--data/icons/32x32/status/user-online.pngbin0 -> 1433 bytes
-rw-r--r--data/icons/48x48/Makefile.am1
-rw-r--r--data/icons/48x48/status/Makefile.am10
-rw-r--r--data/icons/48x48/status/user-away.pngbin0 -> 1606 bytes
-rw-r--r--data/icons/48x48/status/user-busy.pngbin0 -> 1848 bytes
-rwxr-xr-xdata/icons/48x48/status/user-invisible.pngbin0 -> 1619 bytes
-rw-r--r--data/icons/48x48/status/user-offline.pngbin0 -> 1062 bytes
-rw-r--r--data/icons/48x48/status/user-online.pngbin0 -> 2211 bytes
-rw-r--r--data/icons/Makefile.am15
-rw-r--r--data/icons/scalable/Makefile.am1
-rw-r--r--data/icons/scalable/actions/Makefile.am8
-rw-r--r--data/icons/scalable/actions/system-log-out.svg284
-rw-r--r--data/icons/scalable/actions/system-restart.svg397
-rw-r--r--data/icons/scalable/actions/system-shutdown.svg247
-rw-r--r--data/icons/scalable/status/Makefile.am10
-rw-r--r--data/icons/scalable/status/user-away.svg93
-rw-r--r--data/icons/scalable/status/user-busy.svg140
-rw-r--r--data/icons/scalable/status/user-invisible.svg78
-rw-r--r--data/icons/scalable/status/user-offline.svg101
-rw-r--r--data/icons/scalable/status/user-online.svg104
-rw-r--r--src/dbus-shared-names.h1
-rw-r--r--src/indicator-sus.c5
-rw-r--r--src/status-service-dbus.c106
-rw-r--r--src/status-service-dbus.h5
-rw-r--r--src/status-service.c41
-rw-r--r--src/status-service.xml2
70 files changed, 1727 insertions, 17 deletions
diff --git a/configure.ac b/configure.ac
index 1e65958..4a6aac4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -92,6 +92,24 @@ Makefile
src/Makefile
src/gtk-dialog/Makefile
data/Makefile
+data/icons/Makefile
+data/icons/16x16/Makefile
+data/icons/16x16/status/Makefile
+data/icons/16x16/actions/Makefile
+data/icons/22x22/Makefile
+data/icons/22x22/status/Makefile
+data/icons/22x22/actions/Makefile
+data/icons/24x24/Makefile
+data/icons/24x24/status/Makefile
+data/icons/24x24/actions/Makefile
+data/icons/32x32/Makefile
+data/icons/32x32/status/Makefile
+data/icons/32x32/actions/Makefile
+data/icons/48x48/Makefile
+data/icons/48x48/status/Makefile
+data/icons/scalable/Makefile
+data/icons/scalable/status/Makefile
+data/icons/scalable/actions/Makefile
])
###########################
diff --git a/data/Makefile.am b/data/Makefile.am
index e003b0e..434e7d6 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -1,3 +1,4 @@
+SUBDIRS = icons
dbus_servicesdir = $(DBUSSERVICEDIR)
service_in_files = indicator-status.service.in \
diff --git a/data/icons/16x16/Makefile.am b/data/icons/16x16/Makefile.am
new file mode 100644
index 0000000..4810a68
--- /dev/null
+++ b/data/icons/16x16/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = status actions
diff --git a/data/icons/16x16/actions/Makefile.am b/data/icons/16x16/actions/Makefile.am
new file mode 100644
index 0000000..dd24a1f
--- /dev/null
+++ b/data/icons/16x16/actions/Makefile.am
@@ -0,0 +1,8 @@
+
+iconsdir = $(pkgdatadir)/icons/hicolor/16x16/actions
+
+icons_DATA = \
+ system-shutdown.png \
+ system-restart.png \
+ system-log-out.png
+
diff --git a/data/icons/16x16/actions/system-log-out.png b/data/icons/16x16/actions/system-log-out.png
new file mode 100644
index 0000000..9010e7a
--- /dev/null
+++ b/data/icons/16x16/actions/system-log-out.png
Binary files differ
diff --git a/data/icons/16x16/actions/system-restart.png b/data/icons/16x16/actions/system-restart.png
new file mode 100644
index 0000000..e46da27
--- /dev/null
+++ b/data/icons/16x16/actions/system-restart.png
Binary files differ
diff --git a/data/icons/16x16/actions/system-shutdown.png b/data/icons/16x16/actions/system-shutdown.png
new file mode 100644
index 0000000..ef69a83
--- /dev/null
+++ b/data/icons/16x16/actions/system-shutdown.png
Binary files differ
diff --git a/data/icons/16x16/status/Makefile.am b/data/icons/16x16/status/Makefile.am
new file mode 100644
index 0000000..624ea41
--- /dev/null
+++ b/data/icons/16x16/status/Makefile.am
@@ -0,0 +1,10 @@
+
+iconsdir = $(pkgdatadir)/icons/hicolor/16x16/status
+
+icons_DATA = \
+ user-online.png \
+ user-offline.png \
+ user-away.png \
+ user-busy.png \
+ user-invisible.png
+
diff --git a/data/icons/16x16/status/user-away.png b/data/icons/16x16/status/user-away.png
new file mode 100644
index 0000000..7576a61
--- /dev/null
+++ b/data/icons/16x16/status/user-away.png
Binary files differ
diff --git a/data/icons/16x16/status/user-busy.png b/data/icons/16x16/status/user-busy.png
new file mode 100644
index 0000000..90eab60
--- /dev/null
+++ b/data/icons/16x16/status/user-busy.png
Binary files differ
diff --git a/data/icons/16x16/status/user-invisible.png b/data/icons/16x16/status/user-invisible.png
new file mode 100755
index 0000000..ba094d3
--- /dev/null
+++ b/data/icons/16x16/status/user-invisible.png
Binary files differ
diff --git a/data/icons/16x16/status/user-offline.png b/data/icons/16x16/status/user-offline.png
new file mode 100644
index 0000000..637be12
--- /dev/null
+++ b/data/icons/16x16/status/user-offline.png
Binary files differ
diff --git a/data/icons/16x16/status/user-online.png b/data/icons/16x16/status/user-online.png
new file mode 100644
index 0000000..5435e02
--- /dev/null
+++ b/data/icons/16x16/status/user-online.png
Binary files differ
diff --git a/data/icons/22x22/Makefile.am b/data/icons/22x22/Makefile.am
new file mode 100644
index 0000000..4810a68
--- /dev/null
+++ b/data/icons/22x22/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = status actions
diff --git a/data/icons/22x22/actions/Makefile.am b/data/icons/22x22/actions/Makefile.am
new file mode 100644
index 0000000..9365485
--- /dev/null
+++ b/data/icons/22x22/actions/Makefile.am
@@ -0,0 +1,8 @@
+
+iconsdir = $(pkgdatadir)/icons/hicolor/22x22/actions
+
+icons_DATA = \
+ system-shutdown.png \
+ system-restart.png \
+ system-log-out.png
+
diff --git a/data/icons/22x22/actions/system-log-out.png b/data/icons/22x22/actions/system-log-out.png
new file mode 100644
index 0000000..31ca19f
--- /dev/null
+++ b/data/icons/22x22/actions/system-log-out.png
Binary files differ
diff --git a/data/icons/22x22/actions/system-restart.png b/data/icons/22x22/actions/system-restart.png
new file mode 100644
index 0000000..04c5750
--- /dev/null
+++ b/data/icons/22x22/actions/system-restart.png
Binary files differ
diff --git a/data/icons/22x22/actions/system-shutdown.png b/data/icons/22x22/actions/system-shutdown.png
new file mode 100644
index 0000000..aef0e91
--- /dev/null
+++ b/data/icons/22x22/actions/system-shutdown.png
Binary files differ
diff --git a/data/icons/22x22/status/Makefile.am b/data/icons/22x22/status/Makefile.am
new file mode 100644
index 0000000..2876545
--- /dev/null
+++ b/data/icons/22x22/status/Makefile.am
@@ -0,0 +1,10 @@
+
+iconsdir = $(pkgdatadir)/icons/hicolor/22x22/status
+
+icons_DATA = \
+ user-online.png \
+ user-offline.png \
+ user-away.png \
+ user-busy.png \
+ user-invisible.png
+
diff --git a/data/icons/22x22/status/user-away.png b/data/icons/22x22/status/user-away.png
new file mode 100644
index 0000000..6c068f2
--- /dev/null
+++ b/data/icons/22x22/status/user-away.png
Binary files differ
diff --git a/data/icons/22x22/status/user-busy.png b/data/icons/22x22/status/user-busy.png
new file mode 100644
index 0000000..0fe61fd
--- /dev/null
+++ b/data/icons/22x22/status/user-busy.png
Binary files differ
diff --git a/data/icons/22x22/status/user-invisible.png b/data/icons/22x22/status/user-invisible.png
new file mode 100755
index 0000000..af3393b
--- /dev/null
+++ b/data/icons/22x22/status/user-invisible.png
Binary files differ
diff --git a/data/icons/22x22/status/user-offline.png b/data/icons/22x22/status/user-offline.png
new file mode 100644
index 0000000..fe5de82
--- /dev/null
+++ b/data/icons/22x22/status/user-offline.png
Binary files differ
diff --git a/data/icons/22x22/status/user-online.png b/data/icons/22x22/status/user-online.png
new file mode 100644
index 0000000..ec8c452
--- /dev/null
+++ b/data/icons/22x22/status/user-online.png
Binary files differ
diff --git a/data/icons/24x24/Makefile.am b/data/icons/24x24/Makefile.am
new file mode 100644
index 0000000..4810a68
--- /dev/null
+++ b/data/icons/24x24/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = status actions
diff --git a/data/icons/24x24/actions/Makefile.am b/data/icons/24x24/actions/Makefile.am
new file mode 100644
index 0000000..b90d34c
--- /dev/null
+++ b/data/icons/24x24/actions/Makefile.am
@@ -0,0 +1,8 @@
+
+iconsdir = $(pkgdatadir)/icons/hicolor/24x24/actions
+
+icons_DATA = \
+ system-shutdown.png \
+ system-restart.png \
+ system-log-out.png
+
diff --git a/data/icons/24x24/actions/system-log-out.png b/data/icons/24x24/actions/system-log-out.png
new file mode 100644
index 0000000..473e7bc
--- /dev/null
+++ b/data/icons/24x24/actions/system-log-out.png
Binary files differ
diff --git a/data/icons/24x24/actions/system-restart.png b/data/icons/24x24/actions/system-restart.png
new file mode 100644
index 0000000..885fa48
--- /dev/null
+++ b/data/icons/24x24/actions/system-restart.png
Binary files differ
diff --git a/data/icons/24x24/actions/system-shutdown.png b/data/icons/24x24/actions/system-shutdown.png
new file mode 100644
index 0000000..c1cca10
--- /dev/null
+++ b/data/icons/24x24/actions/system-shutdown.png
Binary files differ
diff --git a/data/icons/24x24/status/Makefile.am b/data/icons/24x24/status/Makefile.am
new file mode 100644
index 0000000..3dd28df
--- /dev/null
+++ b/data/icons/24x24/status/Makefile.am
@@ -0,0 +1,10 @@
+
+iconsdir = $(pkgdatadir)/icons/hicolor/24x24/status
+
+icons_DATA = \
+ user-online.png \
+ user-offline.png \
+ user-away.png \
+ user-busy.png \
+ user-invisible.png
+
diff --git a/data/icons/24x24/status/user-away.png b/data/icons/24x24/status/user-away.png
new file mode 100644
index 0000000..3a7e01f
--- /dev/null
+++ b/data/icons/24x24/status/user-away.png
Binary files differ
diff --git a/data/icons/24x24/status/user-busy.png b/data/icons/24x24/status/user-busy.png
new file mode 100644
index 0000000..7e5dced
--- /dev/null
+++ b/data/icons/24x24/status/user-busy.png
Binary files differ
diff --git a/data/icons/24x24/status/user-invisible.png b/data/icons/24x24/status/user-invisible.png
new file mode 100755
index 0000000..cb5bc94
--- /dev/null
+++ b/data/icons/24x24/status/user-invisible.png
Binary files differ
diff --git a/data/icons/24x24/status/user-offline.png b/data/icons/24x24/status/user-offline.png
new file mode 100644
index 0000000..bdfc885
--- /dev/null
+++ b/data/icons/24x24/status/user-offline.png
Binary files differ
diff --git a/data/icons/24x24/status/user-online.png b/data/icons/24x24/status/user-online.png
new file mode 100644
index 0000000..95f2534
--- /dev/null
+++ b/data/icons/24x24/status/user-online.png
Binary files differ
diff --git a/data/icons/32x32/Makefile.am b/data/icons/32x32/Makefile.am
new file mode 100644
index 0000000..4810a68
--- /dev/null
+++ b/data/icons/32x32/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = status actions
diff --git a/data/icons/32x32/actions/Makefile.am b/data/icons/32x32/actions/Makefile.am
new file mode 100644
index 0000000..73b0635
--- /dev/null
+++ b/data/icons/32x32/actions/Makefile.am
@@ -0,0 +1,8 @@
+
+iconsdir = $(pkgdatadir)/icons/hicolor/32x32/actions
+
+icons_DATA = \
+ system-restart.png \
+ system-log-out.png
+
+
diff --git a/data/icons/32x32/actions/system-log-out.png b/data/icons/32x32/actions/system-log-out.png
new file mode 100644
index 0000000..ca00853
--- /dev/null
+++ b/data/icons/32x32/actions/system-log-out.png
Binary files differ
diff --git a/data/icons/32x32/actions/system-restart.png b/data/icons/32x32/actions/system-restart.png
new file mode 100644
index 0000000..768375d
--- /dev/null
+++ b/data/icons/32x32/actions/system-restart.png
Binary files differ
diff --git a/data/icons/32x32/status/Makefile.am b/data/icons/32x32/status/Makefile.am
new file mode 100644
index 0000000..19e978b
--- /dev/null
+++ b/data/icons/32x32/status/Makefile.am
@@ -0,0 +1,10 @@
+
+iconsdir = $(pkgdatadir)/icons/hicolor/32x32/status
+
+icons_DATA = \
+ user-online.png \
+ user-offline.png \
+ user-away.png \
+ user-busy.png \
+ user-invisible.png
+
diff --git a/data/icons/32x32/status/user-away.png b/data/icons/32x32/status/user-away.png
new file mode 100644
index 0000000..712f68a
--- /dev/null
+++ b/data/icons/32x32/status/user-away.png
Binary files differ
diff --git a/data/icons/32x32/status/user-busy.png b/data/icons/32x32/status/user-busy.png
new file mode 100644
index 0000000..be1280e
--- /dev/null
+++ b/data/icons/32x32/status/user-busy.png
Binary files differ
diff --git a/data/icons/32x32/status/user-invisible.png b/data/icons/32x32/status/user-invisible.png
new file mode 100755
index 0000000..39633fc
--- /dev/null
+++ b/data/icons/32x32/status/user-invisible.png
Binary files differ
diff --git a/data/icons/32x32/status/user-offline.png b/data/icons/32x32/status/user-offline.png
new file mode 100644
index 0000000..3c4d664
--- /dev/null
+++ b/data/icons/32x32/status/user-offline.png
Binary files differ
diff --git a/data/icons/32x32/status/user-online.png b/data/icons/32x32/status/user-online.png
new file mode 100644
index 0000000..5d04e0a
--- /dev/null
+++ b/data/icons/32x32/status/user-online.png
Binary files differ
diff --git a/data/icons/48x48/Makefile.am b/data/icons/48x48/Makefile.am
new file mode 100644
index 0000000..d52da2b
--- /dev/null
+++ b/data/icons/48x48/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = status
diff --git a/data/icons/48x48/status/Makefile.am b/data/icons/48x48/status/Makefile.am
new file mode 100644
index 0000000..ec11260
--- /dev/null
+++ b/data/icons/48x48/status/Makefile.am
@@ -0,0 +1,10 @@
+
+iconsdir = $(pkgdatadir)/icons/hicolor/48x48/status
+
+icons_DATA = \
+ user-online.png \
+ user-offline.png \
+ user-away.png \
+ user-busy.png \
+ user-invisible.png
+
diff --git a/data/icons/48x48/status/user-away.png b/data/icons/48x48/status/user-away.png
new file mode 100644
index 0000000..f9d7aee
--- /dev/null
+++ b/data/icons/48x48/status/user-away.png
Binary files differ
diff --git a/data/icons/48x48/status/user-busy.png b/data/icons/48x48/status/user-busy.png
new file mode 100644
index 0000000..b6c60c9
--- /dev/null
+++ b/data/icons/48x48/status/user-busy.png
Binary files differ
diff --git a/data/icons/48x48/status/user-invisible.png b/data/icons/48x48/status/user-invisible.png
new file mode 100755
index 0000000..9a49d17
--- /dev/null
+++ b/data/icons/48x48/status/user-invisible.png
Binary files differ
diff --git a/data/icons/48x48/status/user-offline.png b/data/icons/48x48/status/user-offline.png
new file mode 100644
index 0000000..b65080b
--- /dev/null
+++ b/data/icons/48x48/status/user-offline.png
Binary files differ
diff --git a/data/icons/48x48/status/user-online.png b/data/icons/48x48/status/user-online.png
new file mode 100644
index 0000000..5bcae55
--- /dev/null
+++ b/data/icons/48x48/status/user-online.png
Binary files differ
diff --git a/data/icons/Makefile.am b/data/icons/Makefile.am
new file mode 100644
index 0000000..17dca13
--- /dev/null
+++ b/data/icons/Makefile.am
@@ -0,0 +1,15 @@
+SUBDIRS = scalable 16x16 22x22 24x24 32x32 48x48
+
+gtk_update_icon_cache = gtk-update-icon-cache -f -t $(pkgdatadir)/icons/hicolor
+
+install-data-hook: update-icon-cache
+uninstall-hook: update-icon-cache
+update-icon-cache:
+ @-if test -z "$(DESTDIR)"; then \
+ echo "Updating Gtk icon cache."; \
+ $(gtk_update_icon_cache); \
+ else \
+ echo "*** Icon cache not updated. After (un)install, run this:"; \
+ echo "*** $(gtk_update_icon_cache)"; \
+ fi
+
diff --git a/data/icons/scalable/Makefile.am b/data/icons/scalable/Makefile.am
new file mode 100644
index 0000000..4810a68
--- /dev/null
+++ b/data/icons/scalable/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = status actions
diff --git a/data/icons/scalable/actions/Makefile.am b/data/icons/scalable/actions/Makefile.am
new file mode 100644
index 0000000..10e9dc1
--- /dev/null
+++ b/data/icons/scalable/actions/Makefile.am
@@ -0,0 +1,8 @@
+
+iconsdir = $(pkgdatadir)/icons/hicolor/scalable/actions
+
+icons_DATA = \
+ system-restart.svg \
+ system-log-out.svg \
+ system-shutdown.svg
+
diff --git a/data/icons/scalable/actions/system-log-out.svg b/data/icons/scalable/actions/system-log-out.svg
new file mode 100644
index 0000000..e94c873
--- /dev/null
+++ b/data/icons/scalable/actions/system-log-out.svg
@@ -0,0 +1,284 @@
+<?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"
+ width="48"
+ height="48"
+ id="svg5157"
+ sodipodi:version="0.32"
+ inkscape:version="0.45"
+ version="1.0"
+ sodipodi:docname="system-log-out.svg"
+ sodipodi:docbase="/home/dobey/Projects/gnome-icon-theme/scalable/actions"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs5159">
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient7130">
+ <stop
+ style="stop-color:#4e9a06;stop-opacity:1"
+ offset="0"
+ id="stop7132" />
+ <stop
+ style="stop-color:#73d216;stop-opacity:1"
+ offset="1"
+ id="stop7134" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7121">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop7123" />
+ <stop
+ style="stop-color:#8ae234;stop-opacity:1"
+ offset="1"
+ id="stop7125" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6998"
+ inkscape:collect="always">
+ <stop
+ id="stop7000"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop7002"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7130"
+ id="linearGradient7145"
+ gradientUnits="userSpaceOnUse"
+ x1="11.5"
+ y1="68.75"
+ x2="-13.247213"
+ y2="21.843145" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7121"
+ id="linearGradient7147"
+ gradientUnits="userSpaceOnUse"
+ x1="-33.040741"
+ y1="10.966461"
+ x2="-30.919424"
+ y2="17.448257" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6998"
+ id="radialGradient7161"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.3222749,0,20.728756)"
+ cx="19.688505"
+ cy="30.585787"
+ fx="19.688505"
+ fy="30.585787"
+ r="4.6624851" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6998"
+ id="radialGradient7163"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.3222749,0,20.728756)"
+ cx="19.688505"
+ cy="30.585787"
+ fx="19.688505"
+ fy="30.585787"
+ r="4.6624851" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="197.95843"
+ inkscape:cy="28.49025"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer2"
+ width="48px"
+ height="48px"
+ inkscape:window-width="872"
+ inkscape:window-height="624"
+ inkscape:window-x="684"
+ inkscape:window-y="208"
+ showborder="false"
+ inkscape:showpageshadow="false"
+ showgrid="false"
+ showguides="true"
+ inkscape:guide-bbox="true"
+ gridspacingx="0.5px"
+ gridspacingy="0.5px"
+ gridempspacing="2"
+ inkscape:grid-points="true" />
+ <metadata
+ id="metadata5162">
+ <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>System-log-out</dc:title>
+ <dc:date>2007-08-27</dc:date>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Lapo Calamandrei</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source />
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Kalle Persson</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>logout</rdf:li>
+ <rdf:li>exit</rdf:li>
+ <rdf:li>man</rdf:li>
+ <rdf:li>sign</rdf:li>
+ <rdf:li>running</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>
+ <g
+ inkscape:label="shadow"
+ inkscape:groupmode="layer"
+ id="layer1"
+ style="display:inline">
+ <g
+ id="g6227"
+ transform="matrix(0.6759778,0,0,0.8422279,-72.059226,25.879981)"
+ style="opacity:0.33000004" />
+ <g
+ id="g7008"
+ style="opacity:0.5"
+ transform="matrix(1.2209709,0,0,1.465165,4.32932,-3.7089664)">
+ <path
+ transform="matrix(1.356682,0,0,1.1785115,-7.0105312,-5.8165354)"
+ d="M 24.35099 30.585787 A 4.6624851 1.5026019 0 1 1 15.02602,30.585787 A 4.6624851 1.5026019 0 1 1 24.35099 30.585787 z"
+ sodipodi:ry="1.5026019"
+ sodipodi:rx="4.6624851"
+ sodipodi:cy="30.585787"
+ sodipodi:cx="19.688505"
+ id="path6984"
+ style="opacity:0.5;fill:url(#radialGradient7161);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.69999992;stroke-opacity:1"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(3.7061179,0,0,1.3310245,-58.247641,-11.710432)"
+ d="M 24.35099 30.585787 A 4.6624851 1.5026019 0 1 1 15.02602,30.585787 A 4.6624851 1.5026019 0 1 1 24.35099 30.585787 z"
+ sodipodi:ry="1.5026019"
+ sodipodi:rx="4.6624851"
+ sodipodi:cy="30.585787"
+ sodipodi:cx="19.688505"
+ id="path6986"
+ style="opacity:0.25;fill:url(#radialGradient7163);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.69999992;stroke-opacity:1"
+ sodipodi:type="arc" />
+ </g>
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="omino">
+ <g
+ id="g7138"
+ transform="translate(40,0)">
+ <g
+ id="g7094">
+ <path
+ id="path5955"
+ d="M -7.5,5.5 C -9.708,5.5 -11.5,7.292 -11.5,9.5 C -11.5,11.708 -9.7080001,13.5 -7.5,13.5 C -5.292,13.5 -3.5000001,11.708 -3.5,9.5 C -3.5,7.292 -5.2920001,5.5 -7.5,5.5 z M -20.6875,11.5 C -21.228728,11.552698 -21.725172,11.823486 -22.0625,12.25 L -26.0625,17.25 C -26.752856,18.112945 -26.612945,19.372144 -25.75,20.0625 C -24.887055,20.752856 -23.627856,20.612945 -22.9375,19.75 L -19.53125,15.5 L -15.75,15.5 L -22.1875,23.3125 C -22.420945,23.645583 -22.50685,24.06221 -22.5,24.5 L -22.5,31.5 L -30.5,31.5 L -30.5,35.5 L -20.5,35.5 C -19.395476,35.49989 -18.50011,34.604524 -18.5,33.5 L -18.5,27.3125 L -13.5,32.3125 L -13.5,40.5 L -9.5,40.5 L -9.5,31.5 L -9.5,30.65625 L -10.09375,30.09375 L -14.84375,25.34375 L -11.5,21.28125 L -11.5,22.5 C -11.49989,23.604524 -10.604524,24.49989 -9.5,24.5 L -2.5,24.5 C -1.778728,24.510201 -1.113613,24.122995 -0.75,23.5 C -0.386387,22.877006 -0.386387,22.122995 -0.75,21.5 C -1.113613,20.877004 -1.778728,20.489799 -2.5,20.5 L -7.5,20.5 L -7.5,16 C -10.390638,16 -12.843604,14.110886 -13.6875,11.5 L -20.5,11.5 C -20.562466,11.497069 -20.625034,11.497069 -20.6875,11.5 z "
+ style="opacity:1;fill:url(#linearGradient7145);fill-opacity:1;fill-rule:evenodd;stroke:#4e9a06;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" />
+ </g>
+ <path
+ d="M -20.625,12.5 C -20.883516,12.532601 -21.119099,12.669978 -21.28125,12.875 L -25.28125,17.875 C -25.632167,18.313646 -25.563646,18.930333 -25.125,19.28125 C -24.686354,19.632167 -24.069667,19.563646 -23.71875,19.125 L -20.3125,14.875 C -20.122073,14.638438 -19.834933,14.500611 -19.53125,14.5 L -15.75,14.5 C -15.36741,14.504084 -15.020291,14.724946 -14.854508,15.069775 C -14.688724,15.414605 -14.733008,15.823641 -14.96875,16.125 L -21.375,23.875 C -21.378721,23.880309 -21.37135,23.900494 -21.375,23.90625 L -21.40625,23.9375 C -21.46879,24.048638 -21.50412,24.205427 -21.5,24.46875 C -21.499838,24.479166 -21.499838,24.489584 -21.5,24.5 L -21.5,31.5 C -21.503016,32.051031 -21.948969,32.496984 -22.5,32.5 L -29.5,32.5 L -29.5,34.5 L -20.5,34.5 C -19.938773,34.499944 -19.500056,34.061227 -19.5,33.5 L -19.5,27.3125 C -19.504078,26.903415 -19.259899,26.532643 -18.882467,26.374807 C -18.505035,26.216972 -18.069603,26.303544 -17.78125,26.59375 L -12.78125,31.59375 C -12.595622,31.786381 -12.494406,32.045043 -12.5,32.3125 L -12.5,39.5 L -10.5,39.5 L -10.5,31.5 L -10.5,31.09375 L -10.78125,30.8125 C -10.791666,30.812662 -10.802084,30.812662 -10.8125,30.8125 L -15.5625,26.0625 C -15.923992,25.696513 -15.95096,25.116711 -15.625,24.71875 L -12.28125,20.65625 C -12.013038,20.330928 -11.570348,20.207488 -11.172497,20.347084 C -10.774646,20.486681 -10.506139,20.859664 -10.5,21.28125 L -10.5,22.5 C -10.499944,23.061227 -10.061227,23.499944 -9.5,23.5 L -2.5,23.5 C -2.1471898,23.50499 -1.8109749,23.318639 -1.625,23 C -1.439414,22.682027 -1.4394134,22.317974 -1.625,22 C -1.8109749,21.68136 -2.1471889,21.49501 -2.5,21.5 L -7.5,21.5 C -8.0510308,21.496984 -8.4969843,21.051031 -8.5,20.5 L -8.5,16.84375 C -11.109944,16.483168 -13.278833,14.83457 -14.3125,12.5 L -20.5,12.5 C -20.520828,12.500648 -20.541672,12.500648 -20.5625,12.5 C -20.578034,12.499271 -20.578204,12.5 -20.59375,12.5 C -20.609296,12.5 -20.609466,12.499271 -20.625,12.5 z "
+ id="path7104"
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#8ae234;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
+ inkscape:original="M -20.6875 11.5 C -21.228728 11.552698 -21.725172 11.823486 -22.0625 12.25 L -26.0625 17.25 C -26.752856 18.112945 -26.612945 19.372144 -25.75 20.0625 C -24.887055 20.752856 -23.627856 20.612945 -22.9375 19.75 L -19.53125 15.5 L -15.75 15.5 L -22.1875 23.3125 C -22.420945 23.645583 -22.50685 24.06221 -22.5 24.5 L -22.5 31.5 L -30.5 31.5 L -30.5 35.5 L -20.5 35.5 C -19.395476 35.49989 -18.50011 34.604524 -18.5 33.5 L -18.5 27.3125 L -13.5 32.3125 L -13.5 40.5 L -9.5 40.5 L -9.5 31.5 L -9.5 30.65625 L -10.09375 30.09375 L -14.84375 25.34375 L -11.5 21.28125 L -11.5 22.5 C -11.49989 23.604524 -10.604524 24.49989 -9.5 24.5 L -2.5 24.5 C -1.778728 24.510201 -1.113613 24.122995 -0.75 23.5 C -0.386387 22.877006 -0.386387 22.122995 -0.75 21.5 C -1.113613 20.877004 -1.778728 20.489799 -2.5 20.5 L -7.5 20.5 L -7.5 16 C -10.390638 16 -12.843604 14.110886 -13.6875 11.5 L -20.5 11.5 C -20.562466 11.497069 -20.625034 11.497069 -20.6875 11.5 z "
+ inkscape:radius="-1.0054175"
+ sodipodi:type="inkscape:offset" />
+ <path
+ sodipodi:nodetypes="cccccccsscccscccccccccccccsccccc"
+ id="path7106"
+ d="M -1.625,22 C -1.810975,21.68136 -2.147189,21.49501 -2.5,21.5 L -7.5,21.5 C -8.051031,21.496984 -8.496984,21.051031 -8.5,20.5 L -8.5,16.84375 C -11.109944,16.483168 -13.278833,14.83457 -14.3125,12.5 L -20.5,12.5 C -20.520828,12.500648 -20.541672,12.500648 -20.5625,12.5 C -20.578034,12.499271 -20.578204,12.5 -20.59375,12.5 C -20.609296,12.5 -20.609466,12.499271 -20.625,12.5 C -20.883516,12.532601 -21.119099,12.669978 -21.28125,12.875 L -25.28125,17.875 C -25.632167,18.313646 -25.563646,18.930333 -25.125,19.28125 M -10.5,31.5 L -10.5,31.09375 L -10.78125,30.8125 C -10.791666,30.812662 -10.802084,30.812662 -10.8125,30.8125 L -15.5625,26.0625 C -15.923992,25.696513 -15.95096,25.116711 -15.625,24.71875 M -12.5,32.3125 L -12.5,39.5 M -14.854508,15.069775 C -14.688724,15.414605 -14.733008,15.823641 -14.96875,16.125 L -21.375,23.875 C -21.378721,23.880309 -21.37135,23.900494 -21.375,23.90625 L -21.40625,23.9375 C -21.46879,24.048638 -21.50412,24.205427 -21.5,24.46875 C -21.499838,24.479166 -21.499838,24.489584 -21.5,24.5 L -21.5,31.5 C -21.503016,32.051031 -21.948969,32.496984 -22.5,32.5 L -29.5,32.5 L -29.5,34.5"
+ style="opacity:0.3;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;display:inline" />
+ <path
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/kalle/Desktop/system-log-out.png"
+ sodipodi:type="arc"
+ style="color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient7147);stroke-width:0.6666649;stroke-linecap:round;stroke-linejoin:round;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"
+ id="path7119"
+ sodipodi:cx="-31.5"
+ sodipodi:cy="16"
+ sodipodi:rx="2"
+ sodipodi:ry="2"
+ d="M -29.5 16 A 2 2 0 1 1 -33.5,16 A 2 2 0 1 1 -29.5 16 z"
+ transform="matrix(1.500004,0,0,1.500004,39.750134,-14.500064)" />
+ </g>
+ <g
+ id="g7055"
+ transform="translate(130,0)">
+ <path
+ sodipodi:nodetypes="ccc"
+ id="path7045"
+ d="M -28.5,33.5 L -20.5,33.5 L -20.5,24.5"
+ style="opacity:0.4089219;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" />
+ <path
+ sodipodi:nodetypes="ccc"
+ id="path7047"
+ d="M -24.5,18.5 L -20.5,13.5 L -11.5,13.5"
+ style="opacity:0.5;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="ccc"
+ id="path7049"
+ d="M -2.5,22.5 L -9.5,22.5 L -9.5,13.5"
+ style="opacity:0.5;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="ccc"
+ id="path7051"
+ d="M -11.5,38.5 L -11.5,31.5 L -18.5,24.5"
+ style="opacity:0.5;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path7053"
+ d="M -10,14 L -19.5,25.5"
+ style="opacity:0.5;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ </g>
+</svg>
diff --git a/data/icons/scalable/actions/system-restart.svg b/data/icons/scalable/actions/system-restart.svg
new file mode 100644
index 0000000..fb51a42
--- /dev/null
+++ b/data/icons/scalable/actions/system-restart.svg
@@ -0,0 +1,397 @@
+<?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"
+ inkscape:export-ydpi="90.000000"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-filename="c:\Tango\git\view-refresh.png"
+ width="48"
+ height="48"
+ id="svg11300"
+ sodipodi:version="0.32"
+ inkscape:version="0.45"
+ sodipodi:docbase="/home/dobey/Projects/gnome-icon-theme/scalable/actions"
+ sodipodi:docname="view-refresh.svg"
+ version="1.0"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5335">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop5337" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop5339" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5313">
+ <stop
+ id="stop5315"
+ offset="0"
+ style="stop-color:#99b8df;stop-opacity:1" />
+ <stop
+ style="stop-color:#3969a8;stop-opacity:1;"
+ offset="0.23705086"
+ id="stop5333" />
+ <stop
+ style="stop-color:#4f7eba;stop-opacity:1;"
+ offset="0.54706067"
+ id="stop5317" />
+ <stop
+ id="stop5321"
+ offset="0.74557692"
+ style="stop-color:#96b6d7;stop-opacity:1" />
+ <stop
+ style="stop-color:#a0bddc;stop-opacity:1"
+ offset="0.87321436"
+ id="stop5331" />
+ <stop
+ id="stop5319"
+ offset="1"
+ style="stop-color:#729fcf;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient8152">
+ <stop
+ style="stop-color:#3465a4;stop-opacity:1;"
+ offset="0"
+ id="stop8154" />
+ <stop
+ id="stop3174"
+ offset="0.5"
+ style="stop-color:#4f7eba;stop-opacity:1;" />
+ <stop
+ style="stop-color:#729fcf;stop-opacity:1;"
+ offset="1"
+ id="stop8156" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3207">
+ <stop
+ style="stop-color:#eeeeec;stop-opacity:0.47058824;"
+ offset="0"
+ id="stop3209" />
+ <stop
+ style="stop-color:#eeeeec;stop-opacity:0;"
+ offset="1"
+ id="stop3211" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2847">
+ <stop
+ style="stop-color:#3465a4;stop-opacity:1;"
+ offset="0"
+ id="stop2849" />
+ <stop
+ style="stop-color:#3465a4;stop-opacity:0;"
+ offset="1"
+ id="stop2851" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2831">
+ <stop
+ style="stop-color:#3465a4;stop-opacity:1;"
+ offset="0"
+ id="stop2833" />
+ <stop
+ id="stop2855"
+ offset="0.33333334"
+ style="stop-color:#5b86be;stop-opacity:1;" />
+ <stop
+ style="stop-color:#83a8d8;stop-opacity:0;"
+ offset="1"
+ id="stop2835" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient8662">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop8664" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop8666" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2831"
+ id="linearGradient1486"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0818662,0,0,1.1166851,-0.8207482,-1.8622434)"
+ x1="13.478554"
+ y1="10.612206"
+ x2="15.419417"
+ y2="19.115122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2847"
+ id="linearGradient1488"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.0818662,0,0,-1.1166851,50.09459,49.644854)"
+ x1="37.128052"
+ y1="29.729605"
+ x2="37.40255"
+ y2="26.800913" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8662"
+ id="radialGradient1503"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.536723,0,16.87306)"
+ cx="24.837126"
+ cy="36.421127"
+ fx="24.837126"
+ fy="36.421127"
+ r="15.644737" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8152"
+ id="linearGradient8158"
+ x1="49.412277"
+ y1="37.904068"
+ x2="11.881318"
+ y2="19.776045"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2831"
+ id="linearGradient8170"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.0818662,0,0,-1.1166851,48.639854,47.862243)"
+ x1="13.478554"
+ y1="10.612206"
+ x2="15.419417"
+ y2="19.115122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2847"
+ id="linearGradient8172"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0818662,0,0,1.1166851,-2.2754847,-3.644854)"
+ x1="37.128052"
+ y1="29.729605"
+ x2="37.40255"
+ y2="26.800913" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8152"
+ id="linearGradient8174"
+ gradientUnits="userSpaceOnUse"
+ x1="49.412277"
+ y1="37.904068"
+ x2="11.881318"
+ y2="19.776045" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3207"
+ id="linearGradient8178"
+ gradientUnits="userSpaceOnUse"
+ x1="5.8925977"
+ y1="20.540676"
+ x2="45.198921"
+ y2="27.721035" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5313"
+ id="linearGradient8180"
+ gradientUnits="userSpaceOnUse"
+ x1="61.572533"
+ y1="28.049652"
+ x2="10.969182"
+ y2="20.333939" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5335"
+ id="linearGradient5341"
+ x1="8.6878577"
+ y1="25.265626"
+ x2="52.122673"
+ y2="25.265626"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ stroke="#3465a4"
+ fill="#729fcf"
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#e8e8e8"
+ borderopacity="0.86666667"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="48.628749"
+ inkscape:cy="21.704614"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:showpageshadow="false"
+ inkscape:window-width="892"
+ inkscape:window-height="938"
+ inkscape:window-x="374"
+ inkscape:window-y="37"
+ width="48px"
+ height="48px"
+ borderlayer="true" />
+ <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:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
+ <dc:title>View Refresh</dc:title>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>reload</rdf:li>
+ <rdf:li>refresh</rdf:li>
+ <rdf:li>view</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Ricardo 'Rick' González</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ </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>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true">
+ <path
+ transform="matrix(-1.5146484,0,0,-0.7917058,60.923237,69.528413)"
+ d="M 40.481863 36.421127 A 15.644737 8.3968935 0 1 1 9.1923885,36.421127 A 15.644737 8.3968935 0 1 1 40.481863 36.421127 z"
+ sodipodi:ry="8.3968935"
+ sodipodi:rx="15.644737"
+ sodipodi:cy="36.421127"
+ sodipodi:cx="24.837126"
+ id="path8660"
+ style="opacity:0.36111109;color:#000000;fill:url(#radialGradient1503);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:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ style="color:#000000;fill:url(#linearGradient1486);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient1488);stroke-width:1.04300582000000008;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:block;overflow:visible;opacity:0.51807229"
+ d="M 20.478497,9.7711467 C 20.478497,9.7711467 12.632988,7.9438002 14.368023,21.024298 L 5.1028658,21.024298 C 5.1028658,21.024298 6.0085332,7.5377773 20.478497,9.7711467 z "
+ id="path2865"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ sodipodi:nodetypes="cccc" />
+ <g
+ id="g1878"
+ transform="matrix(-0.6129282,-0.5154381,-0.5178496,0.610074,58.686164,13.911361)"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ style="fill:url(#linearGradient8158);fill-opacity:1;stroke:#204a87;stroke-width:1.24932528;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">
+ <path
+ sodipodi:nodetypes="ccccccc"
+ id="path1880"
+ d="M 45.862102,50.273522 C 62.924432,34.96305 47.150241,15.929711 22.760624,12.513943 L 22.113577,3.1522143 L 7.613534,20.510135 L 22.703188,33.23244 C 22.703188,33.23244 22.454828,23.347105 22.454828,23.347105 C 41.289895,24.339584 54.775794,35.675041 45.862102,50.273522 z "
+ style="opacity:1;color:#000000;fill:url(#linearGradient8180);fill-opacity:1;fill-rule:nonzero;stroke:#204a87;stroke-width:1.24977946000000006;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:block;overflow:visible"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ </g>
+ <g
+ style="fill:none;fill-opacity:1;stroke:url(#linearGradient5341);stroke-width:1.24928653000000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;opacity:0.54819277"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="matrix(-0.612811,-0.5154406,-0.5177506,0.6100769,58.675633,13.911365)"
+ id="g3185">
+ <path
+ sodipodi:type="inkscape:offset"
+ inkscape:radius="-1.197237"
+ inkscape:original="M 22.125 3.15625 L 7.625 20.5 L 22.71875 33.21875 C 22.718749 33.21875 22.46875 23.34375 22.46875 23.34375 C 41.298509 24.342727 54.468144 35.661007 45.5625 50.25 C 62.614067 34.952315 46.852277 15.923275 22.46875 12.5 L 22.125 3.15625 z "
+ style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient5341);stroke-width:1.24928653000000001;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:block;overflow:visible"
+ id="path3189"
+ d="M 21.0625,6.3125 L 9.3125,20.34375 L 21.46875,30.59375 C 21.39688,27.754893 21.28125,23.375 21.28125,23.375 C 21.27502,23.044409 21.405774,22.725958 21.642519,22.495132 C 21.879264,22.264306 22.200923,22.141654 22.53125,22.15625 C 32.170255,22.667629 40.441027,25.773015 45.28125,30.875 C 48.676469,34.453835 50.102049,39.131532 49.125,44.21875 C 50.368339,42.205641 51.107893,40.194594 51.375,38.21875 C 51.870422,34.55401 50.856988,30.946652 48.5625,27.59375 C 43.973525,20.887947 34.236978,15.361613 22.3125,13.6875 C 21.732114,13.606381 21.295727,13.117098 21.28125,12.53125 L 21.0625,6.3125 z "
+ transform="translate(1.0080026e-6,8.5223784e-7)" />
+ </g>
+ <g
+ id="g2424"
+ transform="matrix(0.190868,0.16126,0.16126,-0.190868,-0.719083,15.30613)"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ style="opacity:0.5;fill:none;fill-opacity:1;stroke:#ffffff;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="cccc"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path8160"
+ d="M 27.340608,36.228853 C 27.340608,36.228853 35.186117,38.0562 33.451082,24.975702 L 42.71624,24.975702 C 42.71624,24.975702 41.810572,38.462223 27.340608,36.228853 z "
+ style="color:#000000;fill:url(#linearGradient8170);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient8172);stroke-width:1.04300582000000008;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:block;overflow:visible;opacity:0.51807229" />
+ <g
+ style="fill:url(#linearGradient8174);fill-opacity:1;stroke:#204a87;stroke-width:1.24932528;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="matrix(0.6101332,0.5154999,0.5154881,-0.6101471,-10.618024,32.088556)"
+ id="g8162">
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="opacity:1;color:#000000;fill:url(#linearGradient8180);fill-opacity:1;fill-rule:nonzero;stroke:#204a87;stroke-width:1.25256376;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:block;overflow:visible;enable-background:accumulate"
+ d="M 45.862102,50.273522 C 62.924432,34.96305 47.150241,15.929711 22.760624,12.513943 L 22.113577,3.1522141 L 7.6135337,20.510135 L 22.703188,33.23244 C 22.703188,33.23244 22.454828,23.347105 22.454828,23.347105 C 41.289895,24.339584 54.775794,35.675041 45.862102,50.273522 z "
+ id="path8164"
+ sodipodi:nodetypes="ccccccc" />
+ </g>
+ <g
+ id="g8166"
+ transform="matrix(0.6128107,0.5154406,0.5177504,-0.6100769,-10.856505,32.088635)"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ style="fill:none;fill-opacity:1;stroke:#204a87;stroke-width:1.24928653;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">
+ <path
+ transform="matrix(0.9972307,-2.4605589e-3,-2.4605593e-3,0.9980642,0.2457029,0.2077351)"
+ d="M 21.0625,6.3125 L 9.3125,20.34375 L 21.46875,30.59375 C 21.39688,27.754893 21.28125,23.375 21.28125,23.375 C 21.27502,23.044409 21.405774,22.725958 21.642519,22.495132 C 21.879264,22.264306 22.200923,22.141654 22.53125,22.15625 C 32.170255,22.667629 40.441027,25.773015 45.28125,30.875 C 48.676469,34.453835 50.102049,39.131532 49.125,44.21875 C 50.368339,42.205641 51.107893,40.194594 51.375,38.21875 C 51.870422,34.55401 50.856988,30.946652 48.5625,27.59375 C 43.973525,20.887947 34.236978,15.361613 22.3125,13.6875 C 21.732114,13.606381 21.295727,13.117098 21.28125,12.53125 L 21.0625,6.3125 z "
+ id="path8168"
+ style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient8178);stroke-width:1.24973191;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:0.70588235;visibility:visible;display:block;overflow:visible"
+ inkscape:original="M 22.125 3.15625 L 7.625 20.5 L 22.71875 33.21875 C 22.718749 33.21875 22.46875 23.34375 22.46875 23.34375 C 41.298509 24.342727 54.468144 35.661007 45.5625 50.25 C 62.614067 34.952315 46.852277 15.923275 22.46875 12.5 L 22.125 3.15625 z "
+ inkscape:radius="-1.197237"
+ sodipodi:type="inkscape:offset" />
+ </g>
+ </g>
+</svg>
diff --git a/data/icons/scalable/actions/system-shutdown.svg b/data/icons/scalable/actions/system-shutdown.svg
new file mode 100644
index 0000000..fc60baf
--- /dev/null
+++ b/data/icons/scalable/actions/system-shutdown.svg
@@ -0,0 +1,247 @@
+<?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"
+ sodipodi:docname="gnome-shutdown.svg"
+ sodipodi:docbase="/home/dobey/Projects/gnome-icon-theme/scalable/apps"
+ inkscape:version="0.45"
+ sodipodi:version="0.32"
+ id="svg11142"
+ height="48"
+ width="48"
+ version="1.0"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient4749">
+ <stop
+ id="stop4751"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ offset="0.50000000"
+ id="stop4757" />
+ <stop
+ id="stop4753"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11264"
+ inkscape:collect="always">
+ <stop
+ id="stop11266"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop11268"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11178">
+ <stop
+ style="stop-color:#d1d1cc;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop11180" />
+ <stop
+ id="stop4735"
+ offset="0.50000000"
+ style="stop-color:#d1d1d1;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#b9b9b9;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop11188" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11164">
+ <stop
+ id="stop11166"
+ offset="0"
+ style="stop-color:#eeeeec;stop-opacity:1;" />
+ <stop
+ style="stop-color:#c6c6bf;stop-opacity:1.0000000;"
+ offset="0.26988637"
+ id="stop11172" />
+ <stop
+ id="stop11176"
+ offset="0.37900311"
+ style="stop-color:#f9f9f8;stop-opacity:1.0000000;" />
+ <stop
+ id="stop11174"
+ offset="0.75000000"
+ style="stop-color:#c8c8c2;stop-opacity:1.0000000;" />
+ <stop
+ id="stop11168"
+ offset="1.0000000"
+ style="stop-color:#eeeeec;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="23.071428"
+ x2="42.471249"
+ y1="23.071428"
+ x1="7.1433797"
+ id="linearGradient11170"
+ xlink:href="#linearGradient11164"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientTransform="matrix(1.364252,-9.115392e-17,9.115392e-17,1.364252,-9.47947,-5.618016)"
+ gradientUnits="userSpaceOnUse"
+ r="18.672388"
+ fy="17.224812"
+ fx="24.673435"
+ cy="17.224812"
+ cx="24.673435"
+ id="radialGradient11234"
+ xlink:href="#linearGradient11178"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ r="18.214285"
+ fy="23.071428"
+ fx="25.785715"
+ cy="23.071428"
+ cx="25.785715"
+ id="radialGradient11270"
+ xlink:href="#linearGradient11264"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="8.5882788"
+ x2="25.785715"
+ y1="21.978363"
+ x1="25.785715"
+ id="linearGradient4755"
+ xlink:href="#linearGradient4749"
+ inkscape:collect="always" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:window-y="423"
+ inkscape:window-x="840"
+ inkscape:window-height="606"
+ inkscape:window-width="750"
+ stroke="#555753"
+ fill="#edd400"
+ inkscape:showpageshadow="false"
+ inkscape:document-units="px"
+ inkscape:grid-bbox="true"
+ showgrid="false"
+ inkscape:current-layer="layer1"
+ inkscape:cy="-10.815272"
+ inkscape:cx="85.353158"
+ inkscape:zoom="1"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="0.32941176"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ showguides="true"
+ inkscape:guide-bbox="true" />
+ <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>Shutdown</dc:title>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>lock</rdf:li>
+ <rdf:li>key</rdf:li>
+ <rdf:li>secure</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>
+ <g
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1"
+ id="layer1">
+ <path
+ sodipodi:type="arc"
+ style="opacity:1;color:#000000;fill:url(#radialGradient11270);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.8505457;stroke-linecap:round;stroke-linejoin:round;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"
+ id="path11262"
+ sodipodi:cx="25.785715"
+ sodipodi:cy="23.071428"
+ sodipodi:rx="18.214285"
+ sodipodi:ry="18.214285"
+ d="M 44 23.071428 A 18.214285 18.214285 0 1 1 7.5714302,23.071428 A 18.214285 18.214285 0 1 1 44 23.071428 z"
+ transform="matrix(1.269833,0,0,1.269833,-9.24356,-4.225444)" />
+ <path
+ transform="matrix(1.175715,0,0,1.175715,-6.816669,-3.911156)"
+ d="M 44 23.071428 A 18.214285 18.214285 0 1 1 7.5714302,23.071428 A 18.214285 18.214285 0 1 1 44 23.071428 z"
+ sodipodi:ry="18.214285"
+ sodipodi:rx="18.214285"
+ sodipodi:cy="23.071428"
+ sodipodi:cx="25.785715"
+ id="path11152"
+ style="opacity:1;color:#000000;fill:url(#linearGradient11170);fill-opacity:1;fill-rule:evenodd;stroke:#74796e;stroke-width:0.8505457;stroke-linecap:round;stroke-linejoin:round;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"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:1;color:#000000;fill:url(#radialGradient11234);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.93590021;stroke-linecap:round;stroke-linejoin:round;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"
+ id="path11154"
+ sodipodi:cx="25.785715"
+ sodipodi:cy="23.071428"
+ sodipodi:rx="18.214285"
+ sodipodi:ry="18.214285"
+ d="M 44 23.071428 A 18.214285 18.214285 0 1 1 7.5714302,23.071428 A 18.214285 18.214285 0 1 1 44 23.071428 z"
+ transform="matrix(1.06849,0,0,1.06849,-4.051771,-2.437299)" />
+ <path
+ sodipodi:nodetypes="czs"
+ id="path4743"
+ d="M 19.1468,14.674063 C 12.154448,18.486901 15.316371,29.412893 23.310313,29.412893 C 31.220984,29.412893 34.766419,19.054547 27.473824,14.674063"
+ style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ id="path4745"
+ d="M 23.364832,19.364034 L 23.364832,11.95091"
+ style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:2.99999905;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ transform="matrix(1.04555,0,0,1.04555,-3.460245,-1.908039)"
+ d="M 44 23.071428 A 18.214285 18.214285 0 1 1 7.5714302,23.071428 A 18.214285 18.214285 0 1 1 44 23.071428 z"
+ sodipodi:ry="18.214285"
+ sodipodi:rx="18.214285"
+ sodipodi:cy="23.071428"
+ sodipodi:cx="25.785715"
+ id="path4747"
+ style="opacity:0.88235294;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4755);stroke-width:0.95643449;stroke-linecap:round;stroke-linejoin:round;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"
+ sodipodi:type="arc" />
+ </g>
+</svg>
diff --git a/data/icons/scalable/status/Makefile.am b/data/icons/scalable/status/Makefile.am
new file mode 100644
index 0000000..8f4482b
--- /dev/null
+++ b/data/icons/scalable/status/Makefile.am
@@ -0,0 +1,10 @@
+
+iconsdir = $(pkgdatadir)/icons/hicolor/scalable/status
+
+icons_DATA = \
+ user-online.svg \
+ user-offline.svg \
+ user-away.svg \
+ user-busy.svg \
+ user-invisible.svg
+
diff --git a/data/icons/scalable/status/user-away.svg b/data/icons/scalable/status/user-away.svg
new file mode 100644
index 0000000..7e7b0ed
--- /dev/null
+++ b/data/icons/scalable/status/user-away.svg
@@ -0,0 +1,93 @@
+<?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"
+ width="16px"
+ height="16px"
+ id="svg4908"
+ sodipodi:version="0.32"
+ inkscape:version="0.44+devel"
+ sodipodi:docbase="/home/andreas/project/gossip/16x16"
+ sodipodi:docname="status-away.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/andreas/project/gossip/16x16/status-away.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ sodipodi:modified="true">
+ <defs
+ id="defs4910">
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5917">
+ <stop
+ style="stop-color:#f80000;stop-opacity:1"
+ offset="0"
+ id="stop5919" />
+ <stop
+ style="stop-color:#e70000;stop-opacity:1"
+ offset="1"
+ id="stop5921" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5917"
+ id="linearGradient5923"
+ x1="6.5096536"
+ y1="8.5893564"
+ x2="9.9108915"
+ y2="11.540099"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.9925682,6.043956e-8,1.1147803e-2)" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="22.627417"
+ inkscape:cx="13.206814"
+ inkscape:cy="4.0564985"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1674"
+ inkscape:window-height="969"
+ inkscape:window-x="0"
+ inkscape:window-y="26" />
+ <metadata
+ id="metadata4913">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ style="fill:url(#linearGradient5923);fill-opacity:1;fill-rule:evenodd;stroke:#8a0000;stroke-width:0.99999988px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
+ d="M 1.5,13.5 L 14.499999,13.5 L 7.9789933,1.4999999 L 1.5,13.5 z "
+ id="path4944"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="opacity:0.3;fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000012px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 3.2186016,12.488535 L 12.832121,12.488535 L 8.0098272,3.5671249 L 3.2186016,12.488535 z "
+ id="path4946"
+ sodipodi:nodetypes="cccc" />
+ </g>
+</svg>
diff --git a/data/icons/scalable/status/user-busy.svg b/data/icons/scalable/status/user-busy.svg
new file mode 100644
index 0000000..66fc709
--- /dev/null
+++ b/data/icons/scalable/status/user-busy.svg
@@ -0,0 +1,140 @@
+<?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"
+ width="16px"
+ height="16px"
+ id="svg6941"
+ sodipodi:version="0.32"
+ inkscape:version="0.44+devel"
+ sodipodi:docbase="/home/andreas/project/gossip/16x16"
+ sodipodi:docname="status-busy.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/andreas/project/gossip/16x16/status-busy.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ sodipodi:modified="true">
+ <defs
+ id="defs6943">
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5899">
+ <stop
+ style="stop-color:#fce94f;stop-opacity:1"
+ offset="0"
+ id="stop5901" />
+ <stop
+ style="stop-color:#edd400;stop-opacity:1"
+ offset="1"
+ id="stop5903" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5899"
+ id="radialGradient5905"
+ cx="9.466115"
+ cy="8.9839392"
+ fx="9.466115"
+ fy="8.9839392"
+ r="6.7474474"
+ gradientTransform="matrix(1.1671849,-3.2679277e-3,2.7524467e-3,1.0150183,-1.6222549,-0.2024225)"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="15.696217"
+ inkscape:cx="17.665904"
+ inkscape:cy="9.7718474"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1674"
+ inkscape:window-height="969"
+ inkscape:window-x="0"
+ inkscape:window-y="26" />
+ <metadata
+ id="metadata6946">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ sodipodi:type="arc"
+ style="opacity:1;fill:url(#radialGradient5905);fill-opacity:1;stroke:#8d7300;stroke-width:0.97113222;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path4926"
+ sodipodi:cx="7.9737625"
+ sodipodi:cy="7.7221532"
+ sodipodi:rx="6.2618814"
+ sodipodi:ry="6.3632426"
+ d="M 14.235644 7.7221532 A 6.2618814 6.3632426 0 1 1 1.7118812,7.7221532 A 6.2618814 6.3632426 0 1 1 14.235644 7.7221532 z"
+ transform="matrix(1.0380267,0,0,1.0214918,-0.2769782,0.1118841)" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.6;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.14770162;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path5897"
+ sodipodi:cx="7.9737625"
+ sodipodi:cy="7.7221532"
+ sodipodi:rx="6.2618814"
+ sodipodi:ry="6.3632426"
+ d="M 14.235644 7.7221532 A 6.2618814 6.3632426 0 1 1 1.7118812,7.7221532 A 6.2618814 6.3632426 0 1 1 14.235644 7.7221532 z"
+ transform="matrix(0.8783303,0,0,0.8643392,0.996403,1.3254404)" />
+ <rect
+ style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect5886"
+ width="9.000001"
+ height="9"
+ x="5.5"
+ y="5.5"
+ rx="0"
+ ry="0" />
+ <rect
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect5969"
+ width="7"
+ height="7"
+ x="6.5"
+ y="6.5"
+ rx="0"
+ ry="0" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:1;fill:#8d7300;fill-opacity:1;stroke:none;stroke-width:1.46393549;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path5888"
+ sodipodi:cx="10.676733"
+ sodipodi:cy="7.8460393"
+ sodipodi:rx="1.4415842"
+ sodipodi:ry="1.4866337"
+ d="M 12.118317 7.8460393 A 1.4415842 1.4866337 0 1 1 9.2351488,7.8460393 A 1.4415842 1.4866337 0 1 1 12.118317 7.8460393 z"
+ transform="matrix(0.6936814,0,0,0.6726606,2.5937487,2.7222784)" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#888a85;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 7.4772272,10.5 L 11.522773,10.5"
+ id="path5883" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#888a85;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 7.4872926,12.5 L 11.524094,12.5"
+ id="path5885" />
+ </g>
+</svg>
diff --git a/data/icons/scalable/status/user-invisible.svg b/data/icons/scalable/status/user-invisible.svg
new file mode 100644
index 0000000..1775d92
--- /dev/null
+++ b/data/icons/scalable/status/user-invisible.svg
@@ -0,0 +1,78 @@
+<?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://creativecommons.org/ns#"
+ 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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="16px"
+ height="16px"
+ id="svg4908"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/andreas/project/gossip/16x16"
+ sodipodi:docname="user-invisible.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/Users/kwwii/Desktop/user-invisible.png"
+ inkscape:export-xdpi="270"
+ inkscape:export-ydpi="270"
+ sodipodi:modified="true">
+ <defs
+ id="defs4910" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#efebe7"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="49.332695"
+ inkscape:cx="8.0156251"
+ inkscape:cy="8.0034278"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1343"
+ inkscape:window-height="894"
+ inkscape:window-x="18"
+ inkscape:window-y="36"
+ gridtolerance="10000">
+ <inkscape:grid
+ type="xygrid"
+ id="grid2386"
+ visible="true"
+ enabled="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata4913">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ style="opacity:0.6;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 8,2 L 2,7 L 4,14 L 12,14 L 14,7 L 8,2 z M 8.03125,3.28125 L 12.875,7.34375 L 11.28125,13 L 4.75,13 L 3.15625,7.34375 L 8.03125,3.28125 z"
+ id="path3169" />
+ <path
+ style="fill:#555753;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;stroke-miterlimit:4;stroke-dasharray:1, 24;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 7.90625 1 C 7.7115832 1.0193883 7.5268771 1.0954437 7.375 1.21875 L 1.375 6.21875 C 1.0663414 6.4776493 0.94315913 6.8964687 1.0625 7.28125 L 3.0625 14.28125 C 3.1850026 14.699518 3.5642702 14.99029 4 15 L 12 15 C 12.447322 15.004039 12.842922 14.710529 12.96875 14.28125 L 14.96875 7.28125 C 15.088091 6.8964689 14.964909 6.4776491 14.65625 6.21875 L 8.65625 1.21875 C 8.4462475 1.047164 8.1755683 0.96821579 7.90625 1 z M 8 2 L 14 7 L 12 14 L 4 14 L 2 7 L 8 2 z "
+ id="path2388" />
+ <path
+ style="opacity:0.38251367;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 8,2 L 14,7 L 12,14 L 4,14 L 2,7 L 8,2 z"
+ id="path3182" />
+ </g>
+</svg>
diff --git a/data/icons/scalable/status/user-offline.svg b/data/icons/scalable/status/user-offline.svg
new file mode 100644
index 0000000..975f7dc
--- /dev/null
+++ b/data/icons/scalable/status/user-offline.svg
@@ -0,0 +1,101 @@
+<?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"
+ width="16px"
+ height="16px"
+ id="svg6941"
+ sodipodi:version="0.32"
+ inkscape:version="0.44+devel"
+ sodipodi:docbase="/home/andreas/project/gossip/16x16"
+ sodipodi:docname="status-offline.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/andreas/project/gossip/16x16/status-offline.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ sodipodi:modified="true">
+ <defs
+ id="defs6943">
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient7922">
+ <stop
+ style="stop-color:#e8e8e6;stop-opacity:1"
+ offset="0"
+ id="stop7924" />
+ <stop
+ style="stop-color:#babdb6;stop-opacity:1"
+ offset="1"
+ id="stop7926" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7922"
+ id="linearGradient7928"
+ x1="0.67574239"
+ y1="0.81831664"
+ x2="9.8658419"
+ y2="10.594059"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8666667,0,0,0.8666667,1.0666667,1.0666666)" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="22.197802"
+ inkscape:cx="15.038145"
+ inkscape:cy="7.8865336"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1674"
+ inkscape:window-height="969"
+ inkscape:window-x="0"
+ inkscape:window-y="26" />
+ <metadata
+ id="metadata6946">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <rect
+ style="opacity:1;fill:url(#linearGradient7928);fill-opacity:1;stroke:#555753;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect6949"
+ width="13"
+ height="13"
+ x="1.5"
+ y="1.4999999"
+ rx="1.4641089"
+ ry="1.4641089" />
+ <rect
+ style="opacity:0.4;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect7920"
+ width="11"
+ height="11"
+ x="2.5"
+ y="2.5"
+ rx="0.45049509"
+ ry="0.45049506" />
+ </g>
+</svg>
diff --git a/data/icons/scalable/status/user-online.svg b/data/icons/scalable/status/user-online.svg
new file mode 100644
index 0000000..8d4cc58
--- /dev/null
+++ b/data/icons/scalable/status/user-online.svg
@@ -0,0 +1,104 @@
+<?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"
+ width="16px"
+ height="16px"
+ id="svg4908"
+ sodipodi:version="0.32"
+ inkscape:version="0.44+devel"
+ sodipodi:docbase="/home/andreas/project/gossip/16x16"
+ sodipodi:docname="status-avaible.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/andreas/project/gossip/16x16/status-avaible.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ sodipodi:modified="true">
+ <defs
+ id="defs4910">
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5899">
+ <stop
+ style="stop-color:#7fe719;stop-opacity:1"
+ offset="0"
+ id="stop5901" />
+ <stop
+ style="stop-color:#67bc13;stop-opacity:1"
+ offset="1"
+ id="stop5903" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5899"
+ id="radialGradient5905"
+ cx="9.466115"
+ cy="8.9839392"
+ fx="9.466115"
+ fy="8.9839392"
+ r="6.7474474"
+ gradientTransform="matrix(1.1671849,-3.2679277e-3,2.7524467e-3,1.0150183,-1.6222549,-0.2024225)"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="22.197802"
+ inkscape:cx="14.452639"
+ inkscape:cy="6.4458104"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1674"
+ inkscape:window-height="969"
+ inkscape:window-x="0"
+ inkscape:window-y="26" />
+ <metadata
+ id="metadata4913">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ sodipodi:type="arc"
+ style="opacity:1;fill:url(#radialGradient5905);fill-opacity:1;stroke:#376e01;stroke-width:0.97113216;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path4926"
+ sodipodi:cx="7.9737625"
+ sodipodi:cy="7.7221532"
+ sodipodi:rx="6.2618814"
+ sodipodi:ry="6.3632426"
+ d="M 14.235644 7.7221532 A 6.2618814 6.3632426 0 1 1 1.7118812,7.7221532 A 6.2618814 6.3632426 0 1 1 14.235644 7.7221532 z"
+ transform="matrix(1.0380267,0,0,1.0214918,-0.2769783,0.1118841)" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.4;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.14770162;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path5897"
+ sodipodi:cx="7.9737625"
+ sodipodi:cy="7.7221532"
+ sodipodi:rx="6.2618814"
+ sodipodi:ry="6.3632426"
+ d="M 14.235644 7.7221532 A 6.2618814 6.3632426 0 1 1 1.7118812,7.7221532 A 6.2618814 6.3632426 0 1 1 14.235644 7.7221532 z"
+ transform="matrix(0.8783303,0,0,0.8643392,0.996403,1.3254404)" />
+ </g>
+</svg>
diff --git a/src/dbus-shared-names.h b/src/dbus-shared-names.h
index bd2f8ab..516755d 100644
--- a/src/dbus-shared-names.h
+++ b/src/dbus-shared-names.h
@@ -4,6 +4,7 @@
#define INDICATOR_STATUS_DBUS_NAME "org.ayatana.indicator.status"
#define INDICATOR_STATUS_DBUS_OBJECT "/org/ayatana/indicator/status"
+#define INDICATOR_STATUS_SERVICE_DBUS_OBJECT "/org/ayatana/indicator/status-service"
#define INDICATOR_USERS_DBUS_NAME "org.ayatana.indicator.users"
#define INDICATOR_USERS_DBUS_OBJECT "/org/ayatana/indicator/users"
diff --git a/src/indicator-sus.c b/src/indicator-sus.c
index 18b6c44..9d1c66c 100644
--- a/src/indicator-sus.c
+++ b/src/indicator-sus.c
@@ -41,7 +41,7 @@ static guint session_menu_pos_offset (void);
GtkLabel *
get_label (void)
{
- GtkLabel * returnval = GTK_LABEL(gtk_label_new("Ted Gould"));
+ GtkLabel * returnval = GTK_LABEL(gtk_label_new(g_get_user_name()));
gtk_widget_show(GTK_WIDGET(returnval));
return returnval;
}
@@ -49,7 +49,8 @@ get_label (void)
GtkImage *
get_icon (void)
{
- return NULL;
+ GtkImage * image = GTK_IMAGE(gtk_image_new_from_icon_name("user-offline", GTK_ICON_SIZE_MENU));
+ return image;
}
static void
diff --git a/src/status-service-dbus.c b/src/status-service-dbus.c
index 9ffc6aa..5d4ba0a 100644
--- a/src/status-service-dbus.c
+++ b/src/status-service-dbus.c
@@ -2,18 +2,41 @@
#include "config.h"
#endif
+#include <dbus/dbus-glib.h>
+
+#include "dbus-shared-names.h"
#include "status-service-dbus.h"
static void status_service_dbus_class_init (StatusServiceDbusClass *klass);
static void status_service_dbus_init (StatusServiceDbus *self);
static void status_service_dbus_dispose (GObject *object);
static void status_service_dbus_finalize (GObject *object);
-static void _status_service_server_watch (void);
-static void _status_service_server_status_icons (void);
-static void _status_service_server_pretty_user_name (void);
+static gboolean _status_service_server_watch (StatusServiceDbus * service, GError ** error);
+static gboolean _status_service_server_status_icons (StatusServiceDbus * service, GArray * array, GError ** error);
+static gboolean _status_service_server_pretty_user_name (StatusServiceDbus * service, gchar ** username, GError ** error);
#include "status-service-server.h"
+/* Private */
+typedef struct _StatusServiceDbusPrivate StatusServiceDbusPrivate;
+struct _StatusServiceDbusPrivate
+{
+ gchar * name;
+};
+
+#define STATUS_SERVICE_DBUS_GET_PRIVATE(o) \
+ (G_TYPE_INSTANCE_GET_PRIVATE ((o), STATUS_SERVICE_DBUS_TYPE, StatusServiceDbusPrivate))
+
+/* Signals */
+enum {
+ USER_CHANGED,
+ STATUS_ICONS_CHANGED,
+ LAST_SIGNAL
+};
+
+static guint signals[LAST_SIGNAL] = { 0 };
+
+/* GObject Boilerplate */
G_DEFINE_TYPE (StatusServiceDbus, status_service_dbus, G_TYPE_OBJECT);
static void
@@ -21,8 +44,46 @@ status_service_dbus_class_init (StatusServiceDbusClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ g_type_class_add_private (object_class, sizeof(StatusServiceDbusPrivate));
+
object_class->dispose = status_service_dbus_dispose;
object_class->finalize = status_service_dbus_finalize;
+
+ /**
+ StatusServiceDbus::user-changed:
+ @arg0: The #StatusServiceDbus object.
+ @arg1: The place to put the new user name
+
+ Signals that the user name has changed and gives the
+ new user name.
+ */
+ signals[USER_CHANGED] = g_signal_new("user-changed",
+ G_TYPE_FROM_CLASS(klass),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET(StatusServiceDbusClass, user_changed),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__POINTER,
+ G_TYPE_NONE, 1, G_TYPE_POINTER);
+
+ /**
+ StatusServiceDbus::status-icons-changed:
+ @arg0: The #StatusServiceDbus object.
+ @arg1: The list of icon names representing the statuses in
+ the order they should be displayed. Left to right.
+
+ Signals that the user status set has changed and that
+ new icons may need to be loaded. The list of icons will
+ always be complete.
+ */
+ signals[STATUS_ICONS_CHANGED] = g_signal_new("status-icons-changed",
+ G_TYPE_FROM_CLASS(klass),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET(StatusServiceDbusClass, status_icons_changed),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__POINTER,
+ G_TYPE_NONE, 1, G_TYPE_POINTER);
+
+ dbus_g_object_type_install_info(STATUS_SERVICE_DBUS_TYPE, &dbus_glib__status_service_server_object_info);
return;
}
@@ -31,6 +92,14 @@ static void
status_service_dbus_init (StatusServiceDbus *self)
{
+ DBusGConnection * connection = dbus_g_bus_get(DBUS_BUS_SESSION, NULL);
+ dbus_g_connection_register_g_object(connection,
+ INDICATOR_STATUS_SERVICE_DBUS_OBJECT,
+ G_OBJECT(self));
+
+ StatusServiceDbusPrivate * priv = STATUS_SERVICE_DBUS_GET_PRIVATE(self);
+ priv->name = "test";
+
return;
}
@@ -50,23 +119,34 @@ status_service_dbus_finalize (GObject *object)
return;
}
-static void
-_status_service_server_watch (void)
+static gboolean
+_status_service_server_watch (StatusServiceDbus * service, GError ** error)
{
- return;
+ return TRUE;
}
-static void
-_status_service_server_status_icons (void)
+static gboolean
+_status_service_server_status_icons (StatusServiceDbus * service, GArray * array, GError ** error)
{
- return;
+ return TRUE;
}
-static void
-_status_service_server_pretty_user_name (void)
+static gboolean
+_status_service_server_pretty_user_name (StatusServiceDbus * service, gchar ** username, GError ** error)
{
-
- return;
+ if (!IS_STATUS_SERVICE_DBUS(service)) {
+ g_warning("NO BAD EVIL!");
+ return FALSE;
+ }
+
+ StatusServiceDbusPrivate * priv = STATUS_SERVICE_DBUS_GET_PRIVATE(service);
+ if (priv->name == NULL) {
+ *username = g_strdup("");
+ } else {
+ *username = g_strdup(priv->name);
+ }
+
+ return TRUE;
}
diff --git a/src/status-service-dbus.h b/src/status-service-dbus.h
index 1805dc5..e320104 100644
--- a/src/status-service-dbus.h
+++ b/src/status-service-dbus.h
@@ -18,6 +18,11 @@ typedef struct _StatusServiceDbusClass StatusServiceDbusClass;
struct _StatusServiceDbusClass {
GObjectClass parent_class;
+
+ /* Signals */
+ gboolean (*user_changed) (StatusServiceDbus * self, gchar ** name, gpointer user_data);
+ gboolean (*status_icons_changed) (StatusServiceDbus * self, GArray ** icons, gpointer user_data);
+
};
struct _StatusServiceDbus {
diff --git a/src/status-service.c b/src/status-service.c
index dbb597c..a9274ce 100644
--- a/src/status-service.c
+++ b/src/status-service.c
@@ -1,4 +1,7 @@
+#include <sys/types.h>
+#include <pwd.h>
+
#include <glib/gi18n.h>
#include <dbus/dbus-glib.h>
@@ -39,7 +42,9 @@ static const gchar * status_icons[STATUS_PROVIDER_STATUS_LAST] = {
static DbusmenuMenuitem * root_menuitem = NULL;
+static DbusmenuMenuitem * status_menuitem = NULL;
static GMainLoop * mainloop = NULL;
+static StatusServiceDbus * dbus_interface = NULL;
/* A fun little function to actually lock the screen. If,
that's what you want, let's do it! */
@@ -92,12 +97,44 @@ build_providers (gpointer data)
return FALSE;
}
+static void
+build_user_item (DbusmenuMenuitem * root)
+{
+ struct passwd * pwd = NULL;
+
+ pwd = getpwuid(getuid());
+
+ if (pwd != NULL && pwd->pw_gecos != NULL) {
+ gchar * name = g_strdup(pwd->pw_gecos);
+ gchar * walker = name;
+ while (*walker != '\0' && *walker != ',') { walker++; }
+ *walker = '\0';
+
+ DbusmenuMenuitem * useritem = dbusmenu_menuitem_new();
+ dbusmenu_menuitem_property_set(useritem, "label", name);
+ dbusmenu_menuitem_property_set(useritem, "sensitive", "false");
+ dbusmenu_menuitem_child_append(root, useritem);
+
+ g_free(name);
+ } else {
+ g_debug("PWD: %s", (pwd == NULL ? "(pwd null)" : (pwd->pw_gecos == NULL ? "(gecos null)" : pwd->pw_gecos)));
+ }
+
+ return;
+}
+
static gboolean
build_menu (gpointer data)
{
DbusmenuMenuitem * root = DBUSMENU_MENUITEM(data);
g_return_val_if_fail(root != NULL, FALSE);
+ build_user_item(root);
+
+ status_menuitem = dbusmenu_menuitem_new();
+ dbusmenu_menuitem_property_set(status_menuitem, "label", "Status");
+ dbusmenu_menuitem_child_append(root, status_menuitem);
+
StatusProviderStatus i;
for (i = STATUS_PROVIDER_STATUS_ONLINE; i < STATUS_PROVIDER_STATUS_LAST; i++) {
DbusmenuMenuitem * mi = dbusmenu_menuitem_new();
@@ -106,7 +143,7 @@ build_menu (gpointer data)
dbusmenu_menuitem_property_set(mi, "icon", status_icons[i]);
g_signal_connect(G_OBJECT(mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(status_menu_click), GINT_TO_POINTER(i));
- dbusmenu_menuitem_child_append(root, mi);
+ dbusmenu_menuitem_child_append(status_menuitem, mi);
g_debug("Built %s", status_strings[i]);
}
@@ -147,6 +184,8 @@ main (int argc, char ** argv)
g_idle_add(build_menu, root_menuitem);
+ dbus_interface = g_object_new(STATUS_SERVICE_DBUS_TYPE, NULL);
+
mainloop = g_main_loop_new(NULL, FALSE);
g_main_loop_run(mainloop);
diff --git a/src/status-service.xml b/src/status-service.xml
index df10859..3807158 100644
--- a/src/status-service.xml
+++ b/src/status-service.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<node name="/">
- <interface name="com.ubuntu.indicator.status">
+ <interface name="org.ayatana.indicator.status">
<!-- Methods -->
<method name="Watch">