[Goodies-commits] r6976 - in xfce4-power-manager/trunk: . data/icons/scalable/apps libxfpm panel-plugins panel-plugins/brightness panel-plugins/inhibit src

Ali Abdallah aliov at xfce.org
Sun Mar 22 18:42:59 CET 2009


Author: aliov
Date: 2009-03-22 17:42:59 +0000 (Sun, 22 Mar 2009)
New Revision: 6976

Added:
   xfce4-power-manager/trunk/data/icons/scalable/apps/gnome-inhibit-applet.svg
   xfce4-power-manager/trunk/panel-plugins/brightness/brightness-plugin.c
   xfce4-power-manager/trunk/panel-plugins/inhibit/
   xfce4-power-manager/trunk/panel-plugins/inhibit/Makefile.am
   xfce4-power-manager/trunk/panel-plugins/inhibit/inhibit-plugin.c
   xfce4-power-manager/trunk/panel-plugins/inhibit/xfce4-inhibit-plugin.desktop.in.in
Removed:
   xfce4-power-manager/trunk/panel-plugins/brightness/main.c
Modified:
   xfce4-power-manager/trunk/ChangeLog
   xfce4-power-manager/trunk/configure.ac.in
   xfce4-power-manager/trunk/data/icons/scalable/apps/Makefile.am
   xfce4-power-manager/trunk/libxfpm/hal-device.c
   xfce4-power-manager/trunk/libxfpm/hal-device.h
   xfce4-power-manager/trunk/libxfpm/xfpm-common.c
   xfce4-power-manager/trunk/panel-plugins/Makefile.am
   xfce4-power-manager/trunk/panel-plugins/brightness/Makefile.am
   xfce4-power-manager/trunk/panel-plugins/brightness/xfce4-brightness-plugin.desktop.in.in
   xfce4-power-manager/trunk/src/org.freedesktop.PowerManagement.Inhibit.xml
   xfce4-power-manager/trunk/src/xfpm-brightness-hal.c
   xfce4-power-manager/trunk/src/xfpm-dpms.c
   xfce4-power-manager/trunk/src/xfpm-supply.c
   xfce4-power-manager/trunk/src/xfpm-tray-icon.c
Log:
Brightness and inhibit plugins are ready for user/test+fix a bug in the inhibit interface

Modified: xfce4-power-manager/trunk/ChangeLog
===================================================================
--- xfce4-power-manager/trunk/ChangeLog	2009-03-22 16:37:59 UTC (rev 6975)
+++ xfce4-power-manager/trunk/ChangeLog	2009-03-22 17:42:59 UTC (rev 6976)
@@ -1,4 +1,7 @@
 
+2009-03-22 18:42 Ali aliov at xfce.org 
+	 * : Brightness and inhibit plugins are ready for user/test+fix a bug in the inhibit interface
+
 2009-03-21  0:02 Ali aliov at xfce.org 
 	 * : Added command line option to restart the power manager
 

Modified: xfce4-power-manager/trunk/configure.ac.in
===================================================================
--- xfce4-power-manager/trunk/configure.ac.in	2009-03-22 16:37:59 UTC (rev 6975)
+++ xfce4-power-manager/trunk/configure.ac.in	2009-03-22 17:42:59 UTC (rev 6976)
@@ -134,6 +134,7 @@
 settings/Makefile
 panel-plugins/Makefile
 panel-plugins/brightness/Makefile
+panel-plugins/inhibit/Makefile
 data/Makefile
 data/icons/Makefile
 data/icons/scalable/Makefile

Modified: xfce4-power-manager/trunk/data/icons/scalable/apps/Makefile.am
===================================================================
--- xfce4-power-manager/trunk/data/icons/scalable/apps/Makefile.am	2009-03-22 16:37:59 UTC (rev 6975)
+++ xfce4-power-manager/trunk/data/icons/scalable/apps/Makefile.am	2009-03-22 17:42:59 UTC (rev 6976)
@@ -4,5 +4,5 @@
 Datadir = $(datadir)/icons/hicolor/scalable/apps
 
 Data_DATA =				\
-	xfpm-cpu.svg
-	
+	xfpm-cpu.svg			\
+	gnome-inhibit-applet.svg

Added: xfce4-power-manager/trunk/data/icons/scalable/apps/gnome-inhibit-applet.svg
===================================================================
--- xfce4-power-manager/trunk/data/icons/scalable/apps/gnome-inhibit-applet.svg	                        (rev 0)
+++ xfce4-power-manager/trunk/data/icons/scalable/apps/gnome-inhibit-applet.svg	2009-03-22 17:42:59 UTC (rev 6976)
@@ -0,0 +1,725 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   version="1.0"
+   width="48"
+   height="48"
+   id="svg11300">
+  <defs
+     id="defs3">
+    <linearGradient
+       id="linearGradient13678">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop13680" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1"
+         id="stop13682" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient14993">
+      <stop
+         style="stop-color:#000000;stop-opacity:1"
+         offset="0"
+         id="stop14995" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0"
+         offset="1"
+         id="stop14997" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient14981">
+      <stop
+         style="stop-color:#788600;stop-opacity:1"
+         offset="0"
+         id="stop14983" />
+      <stop
+         style="stop-color:#505900;stop-opacity:1"
+         offset="1"
+         id="stop14985" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient14973">
+      <stop
+         style="stop-color:#747474;stop-opacity:1"
+         offset="0"
+         id="stop14975" />
+      <stop
+         style="stop-color:#b0b0b0;stop-opacity:1"
+         offset="0.62068963"
+         id="stop14977" />
+      <stop
+         style="stop-color:#3f3f3f;stop-opacity:1"
+         offset="1"
+         id="stop14979" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient14881">
+      <stop
+         style="stop-color:#747474;stop-opacity:1"
+         offset="0"
+         id="stop14883" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0.62068963"
+         id="stop14893" />
+      <stop
+         style="stop-color:#3f3f3f;stop-opacity:1"
+         offset="1"
+         id="stop14885" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient14861">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop14863" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1"
+         id="stop14865" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient14780">
+      <stop
+         style="stop-color:#ebff39;stop-opacity:1"
+         offset="0"
+         id="stop14782" />
+      <stop
+         style="stop-color:#ebff39;stop-opacity:0"
+         offset="1"
+         id="stop14784" />
+    </linearGradient>
+    <linearGradient
+       x1="6.2209711"
+       y1="42.890816"
+       x2="6.2376504"
+       y2="39.266895"
+       id="linearGradient14786"
+       xlink:href="#linearGradient14780"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.984375,0,0,1,-5.90625,0)" />
+    <linearGradient
+       x1="6.2209711"
+       y1="42.890816"
+       x2="6.2376504"
+       y2="39.266895"
+       id="linearGradient14790"
+       xlink:href="#linearGradient14780"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.984375,0,0,1,-2.890625,0)" />
+    <linearGradient
+       x1="6.2209711"
+       y1="42.890816"
+       x2="6.2376504"
+       y2="39.266895"
+       id="linearGradient14794"
+       xlink:href="#linearGradient14780"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.984375,0,0,1,9.375e-2,0)" />
+    <linearGradient
+       x1="6.2209711"
+       y1="42.890816"
+       x2="6.2376504"
+       y2="39.266895"
+       id="linearGradient14798"
+       xlink:href="#linearGradient14780"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.984375,0,0,1,3.09375,-1.3595e-2)" />
+    <linearGradient
+       x1="6.2209711"
+       y1="42.890816"
+       x2="6.2376504"
+       y2="39.266895"
+       id="linearGradient14802"
+       xlink:href="#linearGradient14780"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.984375,0,0,1,6.09375,-1.3595e-2)" />
+    <linearGradient
+       x1="6.2209711"
+       y1="42.890816"
+       x2="6.2376504"
+       y2="39.266895"
+       id="linearGradient14806"
+       xlink:href="#linearGradient14780"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.984375,0,0,1,9.109375,-1.3595e-2)" />
+    <linearGradient
+       x1="6.2209711"
+       y1="42.890816"
+       x2="6.2376504"
+       y2="39.266895"
+       id="linearGradient14810"
+       xlink:href="#linearGradient14780"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.984375,0,0,1,12.10938,-1.3595e-2)" />
+    <linearGradient
+       x1="6.2209711"
+       y1="42.890816"
+       x2="6.2376504"
+       y2="39.266895"
+       id="linearGradient14814"
+       xlink:href="#linearGradient14780"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.984375,0,0,1,15.10938,-1.3595e-2)" />
+    <linearGradient
+       x1="16.964844"
+       y1="20.165941"
+       x2="18.968426"
+       y2="31.347067"
+       id="linearGradient14867"
+       xlink:href="#linearGradient14861"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.934742,0,0,1.14936,6.518753,-5.859611)" />
+    <linearGradient
+       x1="24"
+       y1="19.5"
+       x2="27"
+       y2="19.5"
+       id="linearGradient14887"
+       xlink:href="#linearGradient14881"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(5,-2)" />
+    <linearGradient
+       x1="24"
+       y1="21.5"
+       x2="27"
+       y2="21.5"
+       id="linearGradient14889"
+       xlink:href="#linearGradient14881"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(5,-2)" />
+    <linearGradient
+       x1="24"
+       y1="23.5"
+       x2="27"
+       y2="23.5"
+       id="linearGradient14891"
+       xlink:href="#linearGradient14881"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(5,-2)" />
+    <linearGradient
+       x1="8"
+       y1="19.5"
+       x2="4.3283887"
+       y2="19.5"
+       id="linearGradient14895"
+       xlink:href="#linearGradient14881"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(6,-2)" />
+    <linearGradient
+       x1="8"
+       y1="19.5"
+       x2="4.3283887"
+       y2="19.5"
+       id="linearGradient14897"
+       xlink:href="#linearGradient14881"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(6,-2)" />
+    <linearGradient
+       x1="8"
+       y1="19.5"
+       x2="4.3283887"
+       y2="19.5"
+       id="linearGradient14899"
+       xlink:href="#linearGradient14881"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(6,-2)" />
+    <linearGradient
+       x1="8"
+       y1="19.5"
+       x2="4.3283887"
+       y2="19.5"
+       id="linearGradient14903"
+       xlink:href="#linearGradient14881"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(8,-35)" />
+    <linearGradient
+       x1="8"
+       y1="19.5"
+       x2="4.3283887"
+       y2="19.5"
+       id="linearGradient14907"
+       xlink:href="#linearGradient14881"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(8,-37)" />
+    <linearGradient
+       x1="8"
+       y1="19.5"
+       x2="4.3283887"
+       y2="19.5"
+       id="linearGradient14911"
+       xlink:href="#linearGradient14881"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(8,-39)" />
+    <linearGradient
+       x1="8"
+       y1="19.5"
+       x2="4.3283887"
+       y2="19.5"
+       id="linearGradient14915"
+       xlink:href="#linearGradient14881"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(8,-41)" />
+    <linearGradient
+       x1="8"
+       y1="19.5"
+       x2="4.3283887"
+       y2="19.5"
+       id="linearGradient14919"
+       xlink:href="#linearGradient14881"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(8,-43)" />
+    <linearGradient
+       x1="8"
+       y1="19.5"
+       x2="4.3283887"
+       y2="19.5"
+       id="linearGradient14923"
+       xlink:href="#linearGradient14881"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(8,-45)" />
+    <linearGradient
+       x1="8"
+       y1="19.5"
+       x2="4.3283887"
+       y2="19.5"
+       id="linearGradient14927"
+       xlink:href="#linearGradient14881"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(8,-47)" />
+    <linearGradient
+       x1="7.1161165"
+       y1="11.5"
+       x2="4.712738"
+       y2="11.5"
+       id="linearGradient14943"
+       xlink:href="#linearGradient14973"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(18,-35)" />
+    <linearGradient
+       x1="7.1161165"
+       y1="13.5"
+       x2="4.712738"
+       y2="13.5"
+       id="linearGradient14945"
+       xlink:href="#linearGradient14973"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(18,-37)" />
+    <linearGradient
+       x1="7.1161165"
+       y1="15.5"
+       x2="4.712738"
+       y2="15.5"
+       id="linearGradient14947"
+       xlink:href="#linearGradient14973"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(18,-39)" />
+    <linearGradient
+       x1="7.1161165"
+       y1="17.5"
+       x2="4.712738"
+       y2="17.5"
+       id="linearGradient14949"
+       xlink:href="#linearGradient14973"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(18,-41)" />
+    <linearGradient
+       x1="7.1161165"
+       y1="19.5"
+       x2="4.712738"
+       y2="19.5"
+       id="linearGradient14951"
+       xlink:href="#linearGradient14973"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(18,-43)" />
+    <linearGradient
+       x1="7.1161165"
+       y1="21.5"
+       x2="4.712738"
+       y2="21.5"
+       id="linearGradient14953"
+       xlink:href="#linearGradient14973"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(18,-45)" />
+    <linearGradient
+       x1="7.1161165"
+       y1="23.5"
+       x2="4.712738"
+       y2="23.5"
+       id="linearGradient14955"
+       xlink:href="#linearGradient14973"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(18,-47)" />
+    <linearGradient
+       x1="20.046677"
+       y1="22.747095"
+       x2="39.002876"
+       y2="49.79393"
+       id="linearGradient14987"
+       xlink:href="#linearGradient14981"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(6,-2)" />
+    <radialGradient
+       cx="21.5"
+       cy="44.75"
+       r="17"
+       fx="21.5"
+       fy="44.75"
+       id="radialGradient14999"
+       xlink:href="#linearGradient14993"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.220588,0,34.87868)" />
+    <linearGradient
+       x1="40.546875"
+       y1="1.125"
+       x2="47.375"
+       y2="37.75"
+       id="linearGradient13684"
+       xlink:href="#linearGradient13678"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       x1="40.546875"
+       y1="1.125"
+       x2="47.375"
+       y2="37.75"
+       id="linearGradient13702"
+       xlink:href="#linearGradient13678"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <g
+     id="layer1">
+    <g
+       id="g13622">
+      <path
+         d="M 7.50103,11.630239 L 7.5049363,38.34988 C 7.5049363,38.428758 7.5937382,38.500087 7.6917178,38.500087 L 10.503317,38.515712 L 10.499411,43.368984 C 10.499411,43.440252 10.521808,43.495319 10.623693,43.495754 L 37.379371,43.487941 C 37.471786,43.484243 37.503652,43.424197 37.503652,43.361171 L 37.507559,38.492274 L 40.389917,38.500087 C 40.483667,38.500087 40.505959,38.369818 40.502479,38.28738 L 40.502479,11.630239 C 40.506385,11.548207 40.456968,11.508247 40.374292,11.50347 L 7.6253115,11.50347 C 7.5468642,11.507811 7.4932175,11.55602 7.50103,11.630239 z "
+         style="opacity:1;color:#000000;fill:url(#linearGradient14987);fill-opacity:1;fill-rule:nonzero;stroke:#3a3e00;stroke-width:1.00000012;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="rect14772" />
+      <path
+         d="M 38.5 44.75 A 17 3.75 0 1 1  4.5,44.75 A 17 3.75 0 1 1  38.5 44.75 z"
+         transform="matrix(1.28015,0,0,1,-3.162329,-1.75)"
+         style="opacity:0.61931817;color:#000000;fill:url(#radialGradient14999);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:block;overflow:visible"
+         id="path14991" />
+      <path
+         d="M 31,21.472233 L 31.064355,22.003177 L 33.488776,23.895331 L 33.488776,28.499107 L 16.429825,28.499107 L 16.429825,32.432389"
+         style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#98a332;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:block;overflow:visible"
+         id="path14957" />
+      <path
+         d="M 13.441942,40.96101 L 13.496788,35.180327 L 15.397748,32.513864 L 37.46967,32.513864 L 37.46967,27.142136 L 31.889942,21.613515 L 36,21.46967 L 36,17 L 32,17"
+         style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#98a332;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:block;overflow:visible"
+         id="path14826" />
+      <path
+         d="M 19.5,40.96101 L 19.554846,35.180327 L 21.455804,32.513864"
+         style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#98a332;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:block;overflow:visible"
+         id="path14830" />
+      <path
+         d="M 16.5,40.96101 L 16.554846,35.180327 L 18.455804,32.513864"
+         style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#98a332;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:block;overflow:visible"
+         id="path14838" />
+      <g
+         transform="translate(6,-2)"
+         id="g14850">
+        <path
+           d="M 16.5,42.96101 L 16.554846,37.180327 L 18.455804,34.513864"
+           style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#98a332;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:block;overflow:visible"
+           id="path14840" />
+        <path
+           d="M 19.5,42.96101 L 19.554846,37.180327 L 21.455804,34.513864"
+           style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#98a332;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:block;overflow:visible"
+           id="path14842" />
+        <path
+           d="M 22.5,42.96101 L 22.554846,37.180327 L 24.455804,34.513864"
+           style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#98a332;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:block;overflow:visible"
+           id="path14844" />
+        <path
+           d="M 25.544196,42.96101 L 25.599042,37.180327 L 27.5,34.513864"
+           style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#98a332;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:block;overflow:visible"
+           id="path14846" />
+        <path
+           d="M 28.5,42.96101 L 28.554846,37.180327 L 30.455804,34.513864"
+           style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#98a332;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:block;overflow:visible"
+           id="path14848" />
+      </g>
+      <g
+         transform="translate(6,-2)"
+         id="g14816">
+        <path
+           d="M 6.9921875,39.59375 C 7.7918594,39.59375 7.984375,40.223 7.984375,40.5 L 7.984375,44.919845 C 7.984375,44.919845 6,44.919845 6,44.919845 L 6,40.5 C 6,40.223 6.2081406,39.59375 6.9921875,39.59375 z "
+           style="color:#000000;fill:url(#linearGradient14786);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-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+           id="rect14777" />
+        <path
+           d="M 10.007812,39.59375 C 10.807484,39.59375 11,40.223 11,40.5 L 11,44.919845 C 11,44.919845 9.015625,44.919845 9.015625,44.919845 L 9.015625,40.5 C 9.015625,40.223 9.2237656,39.59375 10.007812,39.59375 z "
+           style="color:#000000;fill:url(#linearGradient14790);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-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+           id="path14788" />
+        <path
+           d="M 12.992187,39.59375 C 13.791859,39.59375 13.984375,40.223 13.984375,40.5 L 13.984375,44.919845 C 13.984375,44.919845 12,44.919845 12,44.919845 L 12,40.5 C 12,40.223 12.208141,39.59375 12.992187,39.59375 z "
+           style="color:#000000;fill:url(#linearGradient14794);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-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+           id="path14792" />
+        <path
+           d="M 15.992187,39.580155 C 16.791859,39.580155 16.984375,40.209405 16.984375,40.486405 L 16.984375,44.90625 C 16.984375,44.90625 15,44.90625 15,44.90625 L 15,40.486405 C 15,40.209405 15.208141,39.580155 15.992187,39.580155 z "
+           style="color:#000000;fill:url(#linearGradient14798);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-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+           id="path14796" />
+        <path
+           d="M 18.992187,39.580155 C 19.791859,39.580155 19.984375,40.209405 19.984375,40.486405 L 19.984375,44.90625 C 19.984375,44.90625 18,44.90625 18,44.90625 L 18,40.486405 C 18,40.209405 18.208141,39.580155 18.992187,39.580155 z "
+           style="color:#000000;fill:url(#linearGradient14802);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-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+           id="path14800" />
+        <path
+           d="M 22.007812,39.580155 C 22.807484,39.580155 23,40.209405 23,40.486405 L 23,44.90625 C 23,44.90625 21.015625,44.90625 21.015625,44.90625 L 21.015625,40.486405 C 21.015625,40.209405 21.223766,39.580155 22.007812,39.580155 z "
+           style="color:#000000;fill:url(#linearGradient14806);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-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+           id="path14804" />
+        <path
+           d="M 25.007812,39.580155 C 25.807484,39.580155 26,40.209405 26,40.486405 L 26,44.90625 C 26,44.90625 24.015625,44.90625 24.015625,44.90625 L 24.015625,40.486405 C 24.015625,40.209405 24.223766,39.580155 25.007812,39.580155 z "
+           style="color:#000000;fill:url(#linearGradient14810);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-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+           id="path14808" />
+        <path
+           d="M 28.007812,39.580155 C 28.807484,39.580155 29,40.209405 29,40.486405 L 29,44.90625 C 29,44.90625 27.015625,44.90625 27.015625,44.90625 L 27.015625,40.486405 C 27.015625,40.209405 27.223766,39.580155 28.007812,39.580155 z "
+           style="color:#000000;fill:url(#linearGradient14814);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-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+           id="path14812" />
+      </g>
+      <path
+         d="M 11.40625,17.3125 L 9.53125,18.5625 L 9.53125,20.4375 L 9.53125,30.5 L 16.53125,30.5625"
+         style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#98a332;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:block;overflow:visible"
+         id="path15029" />
+      <rect
+         width="16.055548"
+         height="7.9304557"
+         rx="0.94194132"
+         ry="0.9419415"
+         x="13.472219"
+         y="15.503517"
+         style="opacity:1;color:#000000;fill:#555753;fill-opacity:1;fill-rule:nonzero;stroke:#2e3436;stroke-width:0.99999958;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="rect14857" />
+      <rect
+         width="14.116029"
+         height="5.8817496"
+         rx="0"
+         ry="0"
+         x="14.416605"
+         y="16.510822"
+         style="opacity:0.17045456;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient14867);stroke-width:0.99999976;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="rect14859" />
+      <rect
+         width="3"
+         height="1"
+         x="11"
+         y="17"
+         style="opacity:1;color:#000000;fill:url(#linearGradient14899);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:block;overflow:visible"
+         id="rect14869" />
+      <path
+         d="M 11.640625,19.5 L 9.515625,20.5625 L 9.515625,23"
+         style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#98a332;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:block;overflow:visible"
+         id="path15031" />
+      <rect
+         width="3"
+         height="1"
+         x="11"
+         y="19"
+         style="opacity:1;color:#000000;fill:url(#linearGradient14897);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:block;overflow:visible"
+         id="rect14871" />
+      <path
+         d="M 11.5,21.5625 L 9.5,23"
+         style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#98a332;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:block;overflow:visible"
+         id="path15033" />
+      <rect
+         width="3"
+         height="1"
+         x="11"
+         y="21"
+         style="opacity:1;color:#000000;fill:url(#linearGradient14895);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:block;overflow:visible"
+         id="rect14873" />
+      <rect
+         width="3"
+         height="1"
+         x="29"
+         y="17"
+         style="opacity:1;color:#000000;fill:url(#linearGradient14887);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:block;overflow:visible"
+         id="rect14875" />
+      <rect
+         width="3"
+         height="1"
+         x="29"
+         y="19"
+         style="opacity:1;color:#000000;fill:url(#linearGradient14889);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:block;overflow:visible"
+         id="rect14877" />
+      <rect
+         width="3"
+         height="1"
+         x="29"
+         y="21"
+         style="opacity:1;color:#000000;fill:url(#linearGradient14891);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:block;overflow:visible"
+         id="rect14879" />
+      <rect
+         width="3"
+         height="1"
+         x="13"
+         y="-16"
+         transform="matrix(0,1,-1,0,0,0)"
+         style="opacity:1;color:#000000;fill:url(#linearGradient14903);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:block;overflow:visible"
+         id="rect14901" />
+      <rect
+         width="3"
+         height="1"
+         x="13"
+         y="-18"
+         transform="matrix(0,1,-1,0,0,0)"
+         style="opacity:1;color:#000000;fill:url(#linearGradient14907);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:block;overflow:visible"
+         id="rect14905" />
+      <rect
+         width="3"
+         height="1"
+         x="13"
+         y="-20"
+         transform="matrix(0,1,-1,0,0,0)"
+         style="opacity:1;color:#000000;fill:url(#linearGradient14911);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:block;overflow:visible"
+         id="rect14909" />
+      <rect
+         width="3"
+         height="1"
+         x="13"
+         y="-22"
+         transform="matrix(0,1,-1,0,0,0)"
+         style="opacity:1;color:#000000;fill:url(#linearGradient14915);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:block;overflow:visible"
+         id="rect14913" />
+      <rect
+         width="3"
+         height="1"
+         x="13"
+         y="-24"
+         transform="matrix(0,1,-1,0,0,0)"
+         style="opacity:1;color:#000000;fill:url(#linearGradient14919);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:block;overflow:visible"
+         id="rect14917" />
+      <rect
+         width="3"
+         height="1"
+         x="13"
+         y="-26"
+         transform="matrix(0,1,-1,0,0,0)"
+         style="opacity:1;color:#000000;fill:url(#linearGradient14923);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:block;overflow:visible"
+         id="rect14921" />
+      <rect
+         width="3"
+         height="1"
+         x="13"
+         y="-28"
+         transform="matrix(0,1,-1,0,0,0)"
+         style="opacity:1;color:#000000;fill:url(#linearGradient14927);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:block;overflow:visible"
+         id="rect14925" />
+      <g
+         transform="translate(6,-2)"
+         id="g14967">
+        <path
+           d="M 9.4575532,27.582292 L 10.518213,30.499107 L 12.462757,30.499107 L 11.402097,27.538097"
+           style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#98a332;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:block;overflow:visible"
+           id="path14959" />
+        <path
+           d="M 13.457553,27.582292 L 14.518213,30.499107 L 16.462757,30.499107 L 15.402097,27.538097"
+           style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#98a332;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:block;overflow:visible"
+           id="path14961" />
+        <path
+           d="M 17.457553,27.582292 L 18.518213,30.499107 L 20.462757,30.499107 L 19.402097,27.538097"
+           style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#98a332;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:block;overflow:visible"
+           id="path14963" />
+        <path
+           d="M 21.457553,27.582292 L 22.518213,30.499107"
+           style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#98a332;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:block;overflow:visible"
+           id="path14965" />
+      </g>
+      <rect
+         width="3"
+         height="1"
+         x="23"
+         y="-16"
+         transform="matrix(0,1,-1,0,0,0)"
+         style="opacity:1;color:#000000;fill:url(#linearGradient14943);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:block;overflow:visible"
+         id="rect14929" />
+      <rect
+         width="3"
+         height="1"
+         x="23"
+         y="-18"
+         transform="matrix(0,1,-1,0,0,0)"
+         style="opacity:1;color:#000000;fill:url(#linearGradient14945);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:block;overflow:visible"
+         id="rect14931" />
+      <rect
+         width="3"
+         height="1"
+         x="23"
+         y="-20"
+         transform="matrix(0,1,-1,0,0,0)"
+         style="opacity:1;color:#000000;fill:url(#linearGradient14947);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:block;overflow:visible"
+         id="rect14933" />
+      <rect
+         width="3"
+         height="1"
+         x="23"
+         y="-22"
+         transform="matrix(0,1,-1,0,0,0)"
+         style="opacity:1;color:#000000;fill:url(#linearGradient14949);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:block;overflow:visible"
+         id="rect14935" />
+      <rect
+         width="3"
+         height="1"
+         x="23"
+         y="-24"
+         transform="matrix(0,1,-1,0,0,0)"
+         style="opacity:1;color:#000000;fill:url(#linearGradient14951);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:block;overflow:visible"
+         id="rect14937" />
+      <rect
+         width="3"
+         height="1"
+         x="23"
+         y="-26"
+         transform="matrix(0,1,-1,0,0,0)"
+         style="opacity:1;color:#000000;fill:url(#linearGradient14953);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:block;overflow:visible"
+         id="rect14939" />
+      <path
+         d="M 8.5012312,37.501619 L 11.499344,37.501563 L 11.510393,42.484683 L 36.511389,42.482271 L 36.508534,37.494975 L 39.49833,37.497656 C 39.502302,37.497247 39.502062,12.503547 39.502062,12.503547 L 8.5047333,12.501369 C 8.5087743,20.839994 8.5012312,37.501619 8.5012312,37.501619 z "
+         style="opacity:0.23863633;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.0000006;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="path14989" />
+      <rect
+         width="3"
+         height="1"
+         x="23"
+         y="-28"
+         transform="matrix(0,1,-1,0,0,0)"
+         style="opacity:1;color:#000000;fill:url(#linearGradient14955);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:block;overflow:visible"
+         id="rect14941" />
+    </g>
+    <g
+       id="g13689">
+      <path
+         d="M 46.925968,3.8880343 L 39.95384,13.020388 L 47.047248,13.020388 L 47.047248,16.020148 L 34.475371,16.020148 L 34.475371,15.43334 L 43.399686,3.9716929 L 35.015933,3.9716929 L 35.078433,0.97041721 L 46.988468,0.97041721 L 46.925968,3.8880343 z "
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#3465a4;fill-opacity:1;stroke:#204a87;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Segoe"
+         id="path13687" />
+      <path
+         d="M 46.925968,3.8880343 L 39.95384,13.020388 L 47.047248,13.020388 L 47.047248,16.020148 L 34.475371,16.020148 L 34.475371,15.43334 L 43.399686,3.9716929 L 35.015933,3.9716929 L 35.078433,0.97041721 L 46.988468,0.97041721"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#3465a4;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Segoe"
+         id="text12733" />
+      <path
+         d="M 35.46875,1.34375 L 35.40625,3.59375 L 43.40625,3.59375 C 43.542681,3.6020985 43.663766,3.6840106 43.722279,3.8075389 C 43.780792,3.9310671 43.767467,4.0766473 43.6875,4.1875 L 34.84375,15.53125 L 34.84375,15.65625 L 46.6875,15.65625 L 46.6875,13.40625 L 39.96875,13.40625 C 39.826696,13.409243 39.695149,13.331702 39.628973,13.205968 C 39.562797,13.080234 39.573358,12.9279 39.65625,12.8125 L 46.5625,3.75 L 46.625,1.34375 L 35.46875,1.34375 z "
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:0.21348314;fill:#3465a4;fill-opacity:1;stroke:url(#linearGradient13684);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Segoe"
+         id="path13676" />
+    </g>
+    <g
+       transform="matrix(0.567849,0,0,0.567849,7.284268,18.44895)"
+       id="g13694">
+      <path
+         d="M 46.925968,3.8880343 L 39.95384,13.020388 L 47.047248,13.020388 L 47.047248,16.790599 L 34.475371,16.790599 L 34.475371,16.203791 L 43.399686,3.9716929 L 35.015933,3.9716929 L 35.078433,0.97041721 L 46.988468,0.97041721 L 46.925968,3.8880343 z "
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#3465a4;fill-opacity:1;stroke:#204a87;stroke-width:3.52206182;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Segoe"
+         id="path13696" />
+      <path
+         d="M 46.925968,3.8880343 L 39.95384,13.020388 L 47.047248,13.020388 L 47.047248,16.020148 L 34.475371,16.020148 L 34.475371,15.43334 L 43.399686,3.9716929 L 35.015933,3.9716929 L 35.078433,0.97041721 L 46.988468,0.97041721"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#3465a4;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Segoe"
+         id="path13698" />
+      <path
+         d="M 35.46875,1.34375 L 35.40625,3.59375 L 43.40625,3.59375 C 43.542681,3.6020985 43.663766,3.6840106 43.722279,3.8075389 C 43.780792,3.9310671 43.767467,4.0766473 43.6875,4.1875 L 34.84375,15.53125 L 34.84375,15.65625 L 46.6875,15.65625 L 46.6875,13.40625 L 39.96875,13.40625 C 39.826696,13.409243 39.695149,13.331702 39.628973,13.205968 C 39.562797,13.080234 39.573358,12.9279 39.65625,12.8125 L 46.5625,3.75 L 46.625,1.34375 L 35.46875,1.34375 z "
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:0.21348314;fill:#3465a4;fill-opacity:1;stroke:url(#linearGradient13702);stroke-width:1.76103091px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Segoe"
+         id="path13700" />
+    </g>
+  </g>
+</svg>

Modified: xfce4-power-manager/trunk/libxfpm/hal-device.c
===================================================================
--- xfce4-power-manager/trunk/libxfpm/hal-device.c	2009-03-22 16:37:59 UTC (rev 6975)
+++ xfce4-power-manager/trunk/libxfpm/hal-device.c	2009-03-22 17:42:59 UTC (rev 6976)
@@ -273,7 +273,31 @@
     
     return value;
 }
-									 
+
+gboolean hal_device_set_property_int (HalDevice *device, const gchar *property, gint value)
+{
+    g_return_val_if_fail (HAL_IS_DEVICE(device), FALSE);
+    g_return_val_if_fail (device->priv->udi != NULL, FALSE);
+    
+    GError *error = NULL;
+    gboolean ret;
+    
+    ret = dbus_g_proxy_call (device->priv->proxy, "SetPropertyInteger", &error,
+			     G_TYPE_STRING, property,
+			     G_TYPE_INT, value,
+			     G_TYPE_INVALID,
+			     G_TYPE_INVALID);
+    
+    if ( error )
+    {
+	g_critical ("Error setting int value %d on device %s in property %s: %s",
+		     value, device->priv->udi, property, error->message);
+	g_error_free (error);
+    }
+    
+    return ret;
+}
+
 gchar *hal_device_get_property_string  (HalDevice *device, const gchar *property)
 {
     g_return_val_if_fail (HAL_IS_DEVICE(device), NULL);

Modified: xfce4-power-manager/trunk/libxfpm/hal-device.h
===================================================================
--- xfce4-power-manager/trunk/libxfpm/hal-device.h	2009-03-22 16:37:59 UTC (rev 6975)
+++ xfce4-power-manager/trunk/libxfpm/hal-device.h	2009-03-22 17:42:59 UTC (rev 6976)
@@ -63,7 +63,11 @@
 
 gboolean		  hal_device_get_property_bool    (HalDevice *device,
 							   const gchar *property);
-									 
+
+gboolean                  hal_device_set_property_int     (HalDevice *device,
+							   const gchar *property,
+							   gint value);
+							   
 gint			  hal_device_get_property_int     (HalDevice *device,
 							   const gchar *property);
 									 

Modified: xfce4-power-manager/trunk/libxfpm/xfpm-common.c
===================================================================
--- xfce4-power-manager/trunk/libxfpm/xfpm-common.c	2009-03-22 16:37:59 UTC (rev 6975)
+++ xfce4-power-manager/trunk/libxfpm/xfpm-common.c	2009-03-22 17:42:59 UTC (rev 6976)
@@ -138,8 +138,10 @@
 }
 
 void       
-xfpm_about(GtkWidget *widget,gpointer data)
+xfpm_about (GtkWidget *widget, gpointer data)
 {
+    gchar *package = (gchar *)data;
+    
     const gchar* authors[3] = 
     {
 	"Ali Abdallah <aliov at xfce.org>", 
@@ -151,6 +153,7 @@
 	"Ali Abdallah <aliov at xfce.org>",
 	NULL,
     };
+    
 
     gtk_about_dialog_set_url_hook (xfpm_link_browser, NULL, NULL);
     gtk_about_dialog_set_email_hook (xfpm_link_mailto, NULL, NULL);
@@ -161,7 +164,7 @@
 		     "destroy-with-parent", TRUE,
 		     "documenters", documenters,
 		     "license", XFCE_LICENSE_GPL,
-		     "name", _("Xfce4 Power Manager"),
+		     "name", package,
 		     "translator-credits", _("translator-credits"),
 		     "version", PACKAGE_VERSION,
 		     "website", "http://goodies.xfce.org",

Modified: xfce4-power-manager/trunk/panel-plugins/Makefile.am
===================================================================
--- xfce4-power-manager/trunk/panel-plugins/Makefile.am	2009-03-22 16:37:59 UTC (rev 6975)
+++ xfce4-power-manager/trunk/panel-plugins/Makefile.am	2009-03-22 17:42:59 UTC (rev 6976)
@@ -1 +1,3 @@
-SUBDIRS = brightness
+SUBDIRS = 		\
+	brightness	\
+	inhibit

Modified: xfce4-power-manager/trunk/panel-plugins/brightness/Makefile.am
===================================================================
--- xfce4-power-manager/trunk/panel-plugins/brightness/Makefile.am	2009-03-22 16:37:59 UTC (rev 6975)
+++ xfce4-power-manager/trunk/panel-plugins/brightness/Makefile.am	2009-03-22 17:42:59 UTC (rev 6976)
@@ -2,20 +2,26 @@
 plugin_PROGRAMS = xfce4-brightness-plugin
 
 xfce4_brightness_plugin_SOURCES =		\
-	main.c
+	brightness-plugin.c
 
 xfce4_brightness_plugin_CFLAGS =		\
+	-I$(top_srcdir)				\
+	-I$(top_srcdir)/src			\
 	-DLOCALEDIR=\"$(localedir)\"  		\
 	$(LIBXFCE4PANEL_CFLAGS)       		\
 	$(LIBXFCE4UTIL_CFLAGS)        		\
 	$(GTK_CFLAGS)			      	\
-	$(GLIB_CFLAGS)
+	$(GLIB_CFLAGS)				\
+	$(DBUS_GLIB_CFLAGS)
 
 xfce4_brightness_plugin_LDADD =			\
+	$(top_builddir)/libxfpm/libxfpmhal.la	\
+	$(top_builddir)/libxfpm/libxfpmcommon.la\
 	$(LIBXFCE4PANEL_LIBS)   		\
 	$(LIBXFCE4UTIL_LIBS)			\
 	$(GTK_LIBS)   				\
-	$(GLIB_LIBS)
+	$(GLIB_LIBS)				\
+	$(DBUS_GLIB_LIBS)
 
 #
 # Desktop file

Added: xfce4-power-manager/trunk/panel-plugins/brightness/brightness-plugin.c
===================================================================
--- xfce4-power-manager/trunk/panel-plugins/brightness/brightness-plugin.c	                        (rev 0)
+++ xfce4-power-manager/trunk/panel-plugins/brightness/brightness-plugin.c	2009-03-22 17:42:59 UTC (rev 6976)
@@ -0,0 +1,443 @@
+/*
+ * * Copyright (C) 2009 Ali <aliov at xfce.org>
+ *
+ * Licensed under the GNU General Public License Version 2
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <gtk/gtk.h>
+#include <glib.h>
+
+#include <libxfce4panel/xfce-panel-plugin.h>
+#include <libxfce4util/libxfce4util.h>
+#include <libxfcegui4/libxfcegui4.h>
+
+#include <dbus/dbus-glib.h>
+
+#include "libxfpm/hal-manager.h"
+#include "libxfpm/hal-device.h"
+#include "libxfpm/xfpm-common.h"
+
+typedef struct
+{
+    DBusGConnection  *bus;
+    
+    XfcePanelPlugin  *plugin;
+    gint              max_level;
+    gint              current_level;
+    gboolean          hw_found;
+    
+    gboolean          open;
+    DBusGProxy       *proxy;
+
+    GtkWidget        *button;
+    
+    GtkWidget        *scale;
+    GtkWidget        *image;
+    GtkWidget 	     *win;
+    GtkWidget        *plus;
+    GtkWidget        *minus;
+
+} brightness_t;
+
+static gint 
+brightness_plugin_get_level (brightness_t *brightness)
+{
+    GError *error = NULL;
+    gint level = 0;
+    gboolean ret;
+    
+    ret = dbus_g_proxy_call (brightness->proxy, "GetBrightness", &error,
+	 		     G_TYPE_INVALID,
+			     G_TYPE_INT, &level,
+			     G_TYPE_INVALID);
+
+    if ( error )
+    {
+	g_critical ("Error getting brightness level: %s\n", error->message);
+	g_error_free (error);
+    }
+    return level;
+}
+
+static gboolean
+brightness_plugin_set_level (brightness_t *brightness, gint level)
+{
+    GError *error = NULL;
+    gboolean ret;
+    gint dummy;
+    
+    ret = dbus_g_proxy_call (brightness->proxy, "SetBrightness", &error,
+			     G_TYPE_INT, level,
+			     G_TYPE_INVALID,
+			     G_TYPE_INT, &dummy,
+			     G_TYPE_INVALID );
+    if ( error )
+    {
+	g_critical ("Error setting brightness level: %s\n", error->message);
+	g_error_free (error);
+    }
+    return ret;
+}
+
+static void
+brightness_plugin_get_device (brightness_t *brightness)
+{
+    HalManager *manager;
+    HalDevice *device;
+    gchar **udis = NULL;
+    
+    //FIXME Don't connect blindly
+    brightness->bus = dbus_g_bus_get (DBUS_BUS_SYSTEM, NULL);
+    
+    manager = hal_manager_new ();
+    
+    udis = hal_manager_find_device_by_capability (manager, "laptop_panel");
+    
+    if (!udis || !udis[0] )
+    {
+	TRACE ("No laptop panel found on the system");
+	brightness->hw_found = FALSE;
+	goto out;
+    }
+    
+    device = hal_device_new ();
+    hal_device_set_udi (device, udis[0]);
+    
+    brightness->max_level =
+	hal_device_get_property_int (device, "laptop_panel.num_levels") -1;
+	
+    TRACE("Laptop panel %s with max level %d", udis[0], brightness->max_level);
+    
+    brightness->proxy = dbus_g_proxy_new_for_name (brightness->bus,
+		   			           "org.freedesktop.Hal",
+						   udis[0],
+						   "org.freedesktop.Hal.Device.LaptopPanel");
+    brightness->hw_found = TRUE;
+    brightness->current_level = brightness_plugin_get_level (brightness);
+    
+    g_object_unref (device);
+
+out:
+    g_object_unref (manager);
+}
+
+static void 
+brightness_plugin_button_press_cb (GtkWidget *widget, brightness_t *plugin)
+{
+    gint x, y, orientation;
+    GdkDisplay *display;
+    GdkScreen *screen;
+    XfceScreenPosition pos;
+    
+    if ( plugin->open )
+    {
+	gtk_widget_hide (plugin->win);
+	plugin->open = FALSE;
+	return;
+    }
+    
+    display = gtk_widget_get_display (plugin->button);
+    screen = gtk_widget_get_screen (plugin->button);
+    
+    gtk_window_set_screen (GTK_WINDOW(plugin->win), screen);
+    gdk_window_get_origin (plugin->button->window, &x, &y);
+    gtk_widget_show_all (plugin->win);
+
+    pos = xfce_panel_plugin_get_screen_position (plugin->plugin);
+    orientation = xfce_panel_plugin_get_orientation (plugin->plugin);
+    
+    /* top */
+    if ( pos == XFCE_SCREEN_POSITION_NW_H || 
+	 pos == XFCE_SCREEN_POSITION_N    ||
+	 pos == XFCE_SCREEN_POSITION_NE_H )
+    {
+	x += plugin->button->allocation.x
+		+ plugin->button->allocation.width/2;
+	y += plugin->button->allocation.height;
+	x -= plugin->win->allocation.width/2;
+    }
+    /* left */
+    else if ( pos == XFCE_SCREEN_POSITION_NW_V ||
+	      pos == XFCE_SCREEN_POSITION_W    ||
+	      pos == XFCE_SCREEN_POSITION_SW_V )
+    {
+	y += plugin->button->allocation.y
+		+ plugin->button->allocation.height/2;
+	x += plugin->button->allocation.width;
+	y -= plugin->win->allocation.height/2;
+    }
+    /* right */
+    else if ( pos == XFCE_SCREEN_POSITION_NE_V ||
+	      pos == XFCE_SCREEN_POSITION_E    ||
+	      pos == XFCE_SCREEN_POSITION_SE_V )
+    {
+	y += plugin->button->allocation.y
+		+ plugin->button->allocation.height/2;
+	x -= plugin->win->allocation.width;
+	y -= plugin->win->allocation.height/2;
+    }
+    /* bottom */
+    else if ( pos == XFCE_SCREEN_POSITION_SW_H ||
+	      pos == XFCE_SCREEN_POSITION_S    ||
+	      pos == XFCE_SCREEN_POSITION_SE_H )
+    {
+	x += plugin->button->allocation.x
+		+ plugin->button->allocation.width/2;
+	y -= plugin->win->allocation.height;
+	x -= plugin->win->allocation.width/2;
+    }
+    /* floating */
+    else if ( pos == XFCE_SCREEN_POSITION_FLOATING_H ||
+	      pos == XFCE_SCREEN_POSITION_FLOATING_V )
+    {
+	g_warning ("Floating position");
+	return;
+    }
+    else return;
+   
+    gtk_window_move (GTK_WINDOW(plugin->win), x, y);
+    plugin->current_level = brightness_plugin_get_level (plugin);
+    
+    gtk_range_set_value (GTK_RANGE(plugin->scale), plugin->current_level);
+    
+    plugin->open = TRUE;
+}
+
+static void
+plus_clicked (GtkWidget *widget, brightness_t *plugin)
+{
+    gint level = (gint)gtk_range_get_value (GTK_RANGE(plugin->scale));
+    
+    if ( level != plugin->max_level )
+	gtk_range_set_value (GTK_RANGE(plugin->scale), level + 1);
+}
+
+static void
+minus_clicked (GtkWidget *widget, brightness_t *plugin)
+{
+    gint level = (gint)gtk_range_get_value (GTK_RANGE(plugin->scale));
+    
+    if ( level != 0 )
+	gtk_range_set_value (GTK_RANGE(plugin->scale), level - 1);
+}
+
+static void
+scale_value_changed (GtkRange *range, brightness_t *plugin)
+{
+    gint range_level = (gint)gtk_range_get_value (range);
+    gint hw_level = brightness_plugin_get_level (plugin);
+    
+    if ( hw_level != range_level )
+    {
+	if (!brightness_plugin_set_level (plugin, range_level))
+	{
+	    g_warning("Failed to set brightness level\n");
+	}
+    }
+}
+
+static void
+brightness_plugin_destroy_popup (brightness_t *plugin)
+{
+    if ( plugin->win != NULL)
+    {
+	gtk_widget_destroy (plugin->win);
+	plugin->win = NULL;
+    }
+}
+
+static void
+brightness_plugin_create_popup (brightness_t *plugin)
+{
+    GtkWidget *box;
+    GtkOrientation orientation;
+    
+    plugin->win = gtk_window_new (GTK_WINDOW_POPUP);
+    gtk_window_set_decorated (GTK_WINDOW(plugin->win), FALSE);
+    
+    orientation = xfce_panel_plugin_get_orientation (plugin->plugin);
+
+    if ( orientation == GTK_ORIENTATION_VERTICAL)
+	box = gtk_hbox_new (FALSE, 2);
+    else
+	box = gtk_vbox_new (FALSE, 2);
+    
+    plugin->minus = gtk_button_new_with_label ("-");
+    gtk_button_set_relief (GTK_BUTTON(plugin->minus), GTK_RELIEF_NONE);
+    
+    if ( orientation == GTK_ORIENTATION_VERTICAL )
+    {
+	plugin->scale = gtk_hscale_new_with_range (0, plugin->max_level, 1);
+	gtk_widget_set_size_request (plugin->scale, 100, -1);
+    }
+    else
+    {
+	plugin->scale = gtk_vscale_new_with_range (0, plugin->max_level, 1);
+	gtk_widget_set_size_request (plugin->scale, -1, 100);
+    }
+    gtk_range_set_inverted (GTK_RANGE(plugin->scale), TRUE);
+    gtk_scale_set_draw_value (GTK_SCALE(plugin->scale), FALSE);
+  
+    
+    plugin->plus = gtk_button_new_with_label ("+");
+    gtk_button_set_relief (GTK_BUTTON(plugin->plus), GTK_RELIEF_NONE);
+
+    gtk_box_pack_start (GTK_BOX(box), plugin->plus, FALSE, FALSE, 0);
+    gtk_box_pack_start (GTK_BOX(box), plugin->scale, TRUE, TRUE, 0);
+    gtk_box_pack_start (GTK_BOX(box), plugin->minus, FALSE, FALSE, 0);
+    
+    
+    plugin->win = gtk_window_new (GTK_WINDOW_POPUP);
+    gtk_window_set_type_hint (GTK_WINDOW(plugin->win), GDK_WINDOW_TYPE_HINT_UTILITY );
+    
+    gtk_container_add (GTK_CONTAINER(plugin->win), box);
+}
+
+static gboolean
+brightness_plugin_set_icon (brightness_t *brightness, gint width)
+{
+    GdkPixbuf *pixbuf;
+    const gchar *icon_name;
+    
+    icon_name = brightness->hw_found ? "gpm-brightness-lcd" : "gpm-brightness-lcd-invalid";
+    pixbuf = xfce_themed_icon_load (icon_name, width);
+    
+    if ( pixbuf )
+    {
+	gtk_image_set_from_pixbuf (GTK_IMAGE(brightness->image), pixbuf);
+	g_object_unref (pixbuf);
+	return TRUE;
+    }
+    return FALSE;
+}
+
+static gboolean
+brightness_plugin_size_changed_cb (XfcePanelPlugin *plugin, gint size, brightness_t *brightness)
+{
+    gint width = size -2 - 2* MAX(brightness->button->style->xthickness,
+				 brightness->button->style->xthickness);
+				 
+    gtk_widget_set_size_request (GTK_WIDGET(plugin), size, size);
+    return brightness_plugin_set_icon (brightness, width);
+}
+
+
+static void
+brightness_plugin_construct_popup (brightness_t *plugin)
+{
+    brightness_plugin_create_popup (plugin);
+    plugin->open = FALSE;
+
+    g_signal_connect (plugin->button, "clicked",
+		      G_CALLBACK (brightness_plugin_button_press_cb), plugin);
+		      
+    g_signal_connect (plugin->plus, "clicked",
+		      G_CALLBACK (plus_clicked), plugin);
+		      
+    g_signal_connect (plugin->minus, "clicked",
+		      G_CALLBACK (minus_clicked), plugin);
+
+    g_signal_connect (plugin->scale, "value-changed",
+		      G_CALLBACK(scale_value_changed), plugin);
+}
+
+static void
+brightness_plugin_orientation_changed_cb (XfcePanelPlugin *plugin, 
+					  GtkOrientation orientation, 
+					  brightness_t *brightness)
+{
+    brightness_plugin_destroy_popup (brightness);
+    brightness_plugin_construct_popup (brightness);
+    
+}
+
+static void brightness_plugin_free_data_cb (XfcePanelPlugin *plugin, brightness_t *brightness)
+{
+    if ( brightness->win )
+	gtk_widget_destroy (brightness->win);
+	
+    if ( brightness->bus)
+	dbus_g_connection_unref (brightness->bus);
+	
+    if ( brightness->proxy )
+	g_object_unref (brightness->proxy);
+	
+    g_free (brightness);
+}
+
+static void
+brightness_plugin_construct (brightness_t *plugin)
+{
+    plugin->image = gtk_image_new ();
+    plugin->button = gtk_toggle_button_new ();
+    
+    gtk_container_add (GTK_CONTAINER(plugin->button), plugin->image);
+    
+    gtk_button_set_relief (GTK_BUTTON(plugin->button), GTK_RELIEF_NONE);
+    
+    gtk_container_add (GTK_CONTAINER(plugin->plugin), plugin->button);
+    
+    xfce_panel_plugin_add_action_widget (plugin->plugin, plugin->button);
+
+    gtk_widget_show_all (plugin->button);
+}
+
+static void
+register_brightness_plugin (XfcePanelPlugin *plugin)
+{
+    brightness_t *brightness;
+    
+    brightness = g_new0 (brightness_t, 1); 
+    
+    brightness->plugin = plugin;
+    
+    brightness_plugin_construct (brightness);
+    brightness_plugin_get_device (brightness);
+    
+    if ( brightness->hw_found )
+    {
+	brightness_plugin_construct_popup (brightness);
+	brightness_plugin_set_level (brightness, 9);
+	gtk_widget_set_tooltip_text (brightness->button, _("Control your LCD brightness level"));
+    }
+    else
+    {
+	gtk_widget_set_tooltip_text (brightness->button, _("No device found"));
+    }
+    
+    g_signal_connect (plugin, "free-data",
+		      G_CALLBACK(brightness_plugin_free_data_cb), brightness);
+		      
+    g_signal_connect (plugin, "size-changed",
+		      G_CALLBACK(brightness_plugin_size_changed_cb), brightness);
+		      
+    g_signal_connect (plugin, "orientation-changed",
+		      G_CALLBACK(brightness_plugin_orientation_changed_cb), brightness);
+    xfce_panel_plugin_menu_show_about(plugin);
+    g_signal_connect (plugin, "about", G_CALLBACK(xfpm_about), _("Brightness plugin"));
+
+}
+
+XFCE_PANEL_PLUGIN_REGISTER_EXTERNAL(register_brightness_plugin);

Modified: xfce4-power-manager/trunk/panel-plugins/brightness/xfce4-brightness-plugin.desktop.in.in
===================================================================
--- xfce4-power-manager/trunk/panel-plugins/brightness/xfce4-brightness-plugin.desktop.in.in	2009-03-22 16:37:59 UTC (rev 6975)
+++ xfce4-power-manager/trunk/panel-plugins/brightness/xfce4-brightness-plugin.desktop.in.in	2009-03-22 17:42:59 UTC (rev 6976)
@@ -1,5 +1,8 @@
 [Xfce Panel]
 Type=X-XFCE-PanelPlugin
+Encoding=UTF-8
 _Name=Brightness plugin
+Comment=Control your LCD brightness
+Icon=gpm-brightness-lcd
 X-XFCE-Exec=@libexecdir@/xfce4/panel-plugins/xfce4-brightness-plugin
 X-XFCE-Unique=TRUE

Added: xfce4-power-manager/trunk/panel-plugins/inhibit/Makefile.am
===================================================================
--- xfce4-power-manager/trunk/panel-plugins/inhibit/Makefile.am	                        (rev 0)
+++ xfce4-power-manager/trunk/panel-plugins/inhibit/Makefile.am	2009-03-22 17:42:59 UTC (rev 6976)
@@ -0,0 +1,55 @@
+plugindir = $(libexecdir)/xfce4/panel-plugins
+plugin_PROGRAMS = xfce4-inhibit-plugin
+
+xfce4_inhibit_plugin_SOURCES =			\
+	inhibit-plugin.c			\
+	inhibit-client.h
+
+xfce4_inhibit_plugin_CFLAGS =			\
+	-I$(top_srcdir)				\
+	-I$(top_srcdir)/src			\
+	-DLOCALEDIR=\"$(localedir)\"  		\
+	$(LIBXFCE4PANEL_CFLAGS)       		\
+	$(LIBXFCE4UTIL_CFLAGS)        		\
+	$(GTK_CFLAGS)			      	\
+	$(GLIB_CFLAGS)				\
+	$(DBUS_GLIB_CFLAGS)
+
+xfce4_inhibit_plugin_LDADD =			\
+	$(top_builddir)/libxfpm/libxfpmcommon.la\
+	$(LIBXFCE4PANEL_LIBS)   		\
+	$(LIBXFCE4UTIL_LIBS)			\
+	$(GTK_LIBS)   				\
+	$(GLIB_LIBS)				\
+	$(DBUS_GLIB_LIBS)
+
+if MAINTAINER_MODE
+
+BUILT_SOURCES =					\
+	inhibit-client.h
+
+inhibit-client.h: $(top_srcdir)/src/org.freedesktop.PowerManagement.Inhibit.xml
+	dbus-binding-tool --mode=glib-client --prefix=inhibit_plugin $< >$@
+
+endif
+#
+# Desktop file
+#
+desktopdir = $(datadir)/xfce4/panel-plugins
+desktop_in_in_files = xfce4-inhibit-plugin.desktop.in.in
+desktop_in_files = $(desktop_in_in_files:.desktop.in.in=.desktop.in)
+desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
+ at INTLTOOL_DESKTOP_RULE@
+
+EXTRA_DIST =                                                            \
+        $(desktop_in_in_files)
+
+CLEANFILES =                                                            \
+        $(desktop_in_files)                                             \
+        $(desktop_DATA)
+
+%.desktop.in: %.desktop.in.in
+	sed -e "s,\@libexecdir\@,$(libexecdir),g" < $< > $@
+
+DISTCLEANFILES =		\
+	$(BUILT_SOURCES)
\ No newline at end of file

Added: xfce4-power-manager/trunk/panel-plugins/inhibit/inhibit-plugin.c
===================================================================
--- xfce4-power-manager/trunk/panel-plugins/inhibit/inhibit-plugin.c	                        (rev 0)
+++ xfce4-power-manager/trunk/panel-plugins/inhibit/inhibit-plugin.c	2009-03-22 17:42:59 UTC (rev 6976)
@@ -0,0 +1,302 @@
+/*
+ * * Copyright (C) 2009 Ali <aliov at xfce.org>
+ *
+ * Licensed under the GNU General Public License Version 2
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <gtk/gtk.h>
+#include <glib.h>
+
+#include <libxfce4panel/xfce-panel-plugin.h>
+#include <libxfce4util/libxfce4util.h>
+#include <libxfcegui4/libxfcegui4.h>
+
+#include <dbus/dbus-glib.h>
+#include <dbus/dbus-glib-lowlevel.h>
+
+#include "libxfpm/xfpm-common.h"
+#include "libxfpm/xfpm-dbus.h"
+
+#include "inhibit-client.h"
+
+typedef struct
+{
+    XfcePanelPlugin  *plugin;
+    
+    DBusGConnection  *bus;
+    DBusGProxy       *proxy;
+    
+    GtkWidget        *button;
+    GtkWidget        *image;
+    
+    gboolean          connected;
+    guint             cookies;
+    
+    gboolean          inhibited;
+
+} inhibit_t;
+
+static gboolean
+inhibit_plugin_set_icon (inhibit_t *inhibit, gint width)
+{
+    GdkPixbuf *pixbuf;
+
+    pixbuf = xfce_themed_icon_load ("gnome-inhibit-applet", width);
+    
+    if ( pixbuf )
+    {
+	gtk_image_set_from_pixbuf (GTK_IMAGE(inhibit->image), pixbuf);
+	g_object_unref (pixbuf);
+	return TRUE;
+    }
+    return FALSE;
+}
+
+static void
+inhibit_plugin_set_button (inhibit_t *inhibit)
+{
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(inhibit->button), inhibit->inhibited);
+    gtk_widget_set_tooltip_text (inhibit->button, 
+			         inhibit->inhibited ? _("Automatic power savings on") :
+						      _("Automatic power savings off"));
+}
+
+static gboolean
+inhibit_plugin_size_changed_cb (XfcePanelPlugin *plugin, gint size, inhibit_t *inhibit)
+{
+    gint width = size -2 - 2* MAX(inhibit->button->style->xthickness,
+				  inhibit->button->style->xthickness);
+				 
+    gtk_widget_set_size_request (GTK_WIDGET(plugin), size, size);
+    return inhibit_plugin_set_icon (inhibit, width);
+}
+
+static void 
+inhibit_plugin_free_data_cb (XfcePanelPlugin *plugin, inhibit_t *inhibit)
+{
+    g_free (inhibit);
+}
+
+static void
+inhibit_changed_cb (DBusGProxy *proxy, gboolean inhibited, inhibit_t *inhibit)
+{
+    TRACE("Inhibit changed %d", inhibited);
+    inhibit->inhibited = inhibited;
+    inhibit_plugin_set_button (inhibit);
+}
+
+static void
+inhibit_plugin_get_inhibit (inhibit_t *plugin)
+{
+    GError *error = NULL;
+    
+    if (!xfpm_inhibit_dbus_client_has_inhibit (plugin->proxy, &plugin->inhibited, &error) )
+    {
+	g_critical ("Unable to get inhibit state: %s", error->message);
+	g_error_free (error);
+	return;
+    }
+    
+    inhibit_plugin_set_button (plugin);
+}
+
+static void
+inhibit_plugin_set_inhibit (inhibit_t *plugin)
+{
+    GError *error;
+    
+    const gchar *app = "Inhibit plugin";
+    const gchar *reason = "User settings";
+    
+    if (!xfpm_inhibit_dbus_client_inhibit (plugin->proxy, app, reason, &plugin->cookies, &error))
+    {
+	g_critical ("Unable to set inhibit: %s", error->message);
+	g_error_free (error);
+	return;
+    }
+    
+    inhibit_plugin_set_button (plugin);
+}
+
+static void
+inhibit_plugin_unset_inhibit (inhibit_t *plugin)
+{
+    GError *error;
+    
+    if (!xfpm_inhibit_dbus_client_un_inhibit (plugin->proxy, plugin->cookies, &error))
+    {
+	g_critical ("Unable to set UnInhibit: %s", error->message);
+	g_error_free (error);
+	return;
+    }
+    inhibit_plugin_set_button (plugin);
+}
+
+static void
+proxy_destroy_cb (DBusGProxy *proxy, inhibit_t *inhibit)
+{
+    TRACE("Power manager disconnected");
+    
+    gtk_widget_set_tooltip_text (inhibit->button, _("Power manager disconnected"));
+   // dbus_g_proxy_disconnect_signal (inhibit->proxy, "HasInhibitChanged",
+	//			    G_CALLBACK(inhibit_changed_cb), inhibit);
+    inhibit->proxy = NULL;
+    inhibit->connected = FALSE;
+}
+
+static void
+inhibit_plugin_connect_more (inhibit_t *plugin)
+{
+    GError *error = NULL;
+    
+    plugin->proxy = dbus_g_proxy_new_for_name_owner  (plugin->bus,
+						      "org.freedesktop.PowerManagement",
+						      "/org/freedesktop/PowerManagement/Inhibit",
+						      "org.freedesktop.PowerManagement.Inhibit",
+						      &error);
+    if ( error )
+    {
+	g_warning ("Unable to get name owner: %s", error->message);
+	g_error_free (error);
+	plugin->connected = FALSE;
+	return;
+    }
+    
+    dbus_g_proxy_add_signal (plugin->proxy, "HasInhibitChanged", 
+			     G_TYPE_BOOLEAN, G_TYPE_INVALID);
+    
+    dbus_g_proxy_connect_signal (plugin->proxy, "HasInhibitChanged", 
+				 G_CALLBACK (inhibit_changed_cb), plugin, NULL);
+    
+    g_signal_connect (plugin->proxy, "destroy",
+		      G_CALLBACK(proxy_destroy_cb), plugin);
+		      
+    plugin->connected = TRUE;
+    inhibit_plugin_get_inhibit (plugin);
+}
+
+static void
+inhibit_plugin_connect (inhibit_t *plugin)
+{
+    if (!plugin->bus )
+	plugin->bus = dbus_g_bus_get (DBUS_BUS_SESSION, NULL);
+    
+    if ( !xfpm_dbus_name_has_owner (dbus_g_connection_get_connection(plugin->bus),
+				    "org.freedesktop.PowerManagement") )
+    {
+	gtk_widget_set_tooltip_text (plugin->button, _("No power manager instance running"));
+	plugin->connected = FALSE;
+	return;
+    }
+    
+    if ( !xfpm_dbus_name_has_owner (dbus_g_connection_get_connection(plugin->bus),
+				    "org.freedesktop.PowerManagement.Inhibit") )
+    {
+	gtk_widget_set_tooltip_text (plugin->button, _("No power manager instance running"));
+	plugin->connected = FALSE;
+	return;
+    }
+}
+
+static void
+reload_activated (GtkWidget *widget, inhibit_t *plugin)
+{
+    if ( plugin->proxy )
+	proxy_destroy_cb (plugin->proxy, plugin);
+	
+    inhibit_plugin_connect (plugin);
+    inhibit_plugin_connect_more (plugin);
+}
+
+static void
+button_toggled_cb (GtkWidget *widget, inhibit_t *plugin)
+{
+    if ( !plugin->connected )
+	return;
+	
+    gboolean toggled = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(widget));
+    
+    if ( toggled == TRUE && toggled != plugin->inhibited )
+	inhibit_plugin_set_inhibit (plugin);
+    else if ( toggled == FALSE && toggled != plugin->inhibited )
+	inhibit_plugin_unset_inhibit (plugin);
+}
+
+static void
+inhibit_plugin_construct (inhibit_t *plugin)
+{
+    GtkWidget *mi;
+    
+    plugin->image = gtk_image_new ();
+    plugin->button = gtk_toggle_button_new ();
+    
+    gtk_container_add (GTK_CONTAINER(plugin->button), plugin->image);
+    
+    gtk_button_set_relief (GTK_BUTTON(plugin->button), GTK_RELIEF_NONE);
+    
+    g_signal_connect (plugin->button, "toggled",
+		      G_CALLBACK(button_toggled_cb), plugin);
+    
+    gtk_container_add (GTK_CONTAINER(plugin->plugin), plugin->button);
+    
+    xfce_panel_plugin_add_action_widget (plugin->plugin, plugin->button);
+    
+    mi = gtk_image_menu_item_new_from_stock (GTK_STOCK_REFRESH, NULL);
+    gtk_widget_show (mi);
+    
+    g_signal_connect (mi, "activate",
+		      G_CALLBACK(reload_activated), plugin);
+		      
+    xfce_panel_plugin_menu_insert_item (plugin->plugin, GTK_MENU_ITEM(mi));
+
+    gtk_widget_show_all (plugin->button);
+}
+
+static void
+register_inhibit_plugin (XfcePanelPlugin *plugin)
+{
+    inhibit_t *inhibit;
+    
+    inhibit = g_new0 (inhibit_t, 1); 
+    
+    inhibit->plugin = plugin;
+    
+    inhibit_plugin_construct (inhibit);
+    
+    inhibit_plugin_connect (inhibit);
+    inhibit_plugin_connect_more (inhibit);
+    
+    g_signal_connect (plugin, "free-data",
+		      G_CALLBACK(inhibit_plugin_free_data_cb), inhibit);
+		      
+    g_signal_connect (plugin, "size-changed",
+		      G_CALLBACK(inhibit_plugin_size_changed_cb), inhibit);
+		      
+    xfce_panel_plugin_menu_show_about(plugin);
+
+    g_signal_connect (plugin, "about", G_CALLBACK(xfpm_about), _("Inhibit plugin"));
+}
+
+XFCE_PANEL_PLUGIN_REGISTER_EXTERNAL(register_inhibit_plugin);

Added: xfce4-power-manager/trunk/panel-plugins/inhibit/xfce4-inhibit-plugin.desktop.in.in
===================================================================
--- xfce4-power-manager/trunk/panel-plugins/inhibit/xfce4-inhibit-plugin.desktop.in.in	                        (rev 0)
+++ xfce4-power-manager/trunk/panel-plugins/inhibit/xfce4-inhibit-plugin.desktop.in.in	2009-03-22 17:42:59 UTC (rev 6976)
@@ -0,0 +1,8 @@
+[Xfce Panel]
+Type=X-XFCE-PanelPlugin
+Encoding=UTF-8
+_Name=Inhibit plugin
+Comment=Inhibit automatic power saving
+Icon=gnome-inhibit-applet
+X-XFCE-Exec=@libexecdir@/xfce4/panel-plugins/xfce4-inhibit-plugin
+X-XFCE-Unique=TRUE

Modified: xfce4-power-manager/trunk/src/org.freedesktop.PowerManagement.Inhibit.xml
===================================================================
--- xfce4-power-manager/trunk/src/org.freedesktop.PowerManagement.Inhibit.xml	2009-03-22 16:37:59 UTC (rev 6975)
+++ xfce4-power-manager/trunk/src/org.freedesktop.PowerManagement.Inhibit.xml	2009-03-22 17:42:59 UTC (rev 6976)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
-<node name="/org/freedesktop/PowerManagement">
-    <interface name="org.freedesktop.PowerManagement">
+<node name="/">
+    <interface name="org.freedesktop.PowerManagement.Inhibit">
         <annotation name="org.freedesktop.DBus.GLib.CSymbol"
                     value="xfpm_inhibit_dbus"/>
         <annotation name="org.freedesktop.DBus.GLib.ClientCSymbol"

Modified: xfce4-power-manager/trunk/src/xfpm-brightness-hal.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-brightness-hal.c	2009-03-22 16:37:59 UTC (rev 6975)
+++ xfce4-power-manager/trunk/src/xfpm-brightness-hal.c	2009-03-22 17:42:59 UTC (rev 6976)
@@ -120,7 +120,7 @@
 }
 
 static void
-xfpm_brightness_hal_finalize(GObject *object)
+xfpm_brightness_hal_finalize (GObject *object)
 {
     XfpmBrightnessHal *brg;
 
@@ -168,10 +168,12 @@
     }
     return level;
 }
-G_GNUC_UNUSED
+
 static gboolean
 xfpm_brightness_hal_set_level (XfpmBrightnessHal *brg, gint level)
 {
+    TRACE ("Setting level %d", level);
+    
     GError *error = NULL;
     gboolean ret = FALSE;
     gint dummy;
@@ -265,6 +267,7 @@
     
     if ( brg->priv->hw_level <= brg->priv->max_level -2 )
     {
+	TRACE ("Brightness key up");
 	xfpm_brightness_hal_set_level (brg, brg->priv->hw_level + 1 );
 	brg->priv->hw_level = xfpm_brightness_hal_get_level (brg);
     }
@@ -278,6 +281,7 @@
 	
     if ( brg->priv->hw_level != 0)
     {
+	TRACE("Brightness key down");
 	xfpm_brightness_hal_set_level (brg, brg->priv->hw_level - 1 );
 	brg->priv->hw_level = xfpm_brightness_hal_get_level (brg);
     }
@@ -312,7 +316,10 @@
     level = xfpm_brightness_hal_get_level(brg);
      
     if ( level != brg->priv->hw_level )
-	    xfpm_brightness_hal_set_level(brg, brg->priv->hw_level);
+    {
+	TRACE("Resetting brightness level to %d", brg->priv->hw_level);
+	xfpm_brightness_hal_set_level(brg, brg->priv->hw_level);
+    }
 }
 
 static void
@@ -334,7 +341,7 @@
 	if ( brg->priv->on_battery )
 	    return;
 	    
-	if ( level != 1 )
+	if ( level != 0 )
 	{
 	    TRACE ("Reducing brightness, on AC power\n");
 	    xfpm_brightness_hal_set_level(brg, 0);
@@ -345,7 +352,7 @@
 	if ( !brg->priv->on_battery )
 	    return;
 	
-	if ( level != 1 )
+	if ( level != 0 )
 	{
 	    xfpm_brightness_hal_set_level(brg, 0);
 	    TRACE ("Reducing brightness, on battery power\n");
@@ -384,6 +391,7 @@
 static void
 xfpm_brightness_hal_inhibit_changed_cb (XfpmInhibit *inhibit, gboolean inhibited, XfpmBrightnessHal *brg)
 {
+    TRACE("Inhibit changed %s", xfpm_bool_to_string (inhibited));
     brg->priv->inhibited = inhibited;
 }
 

Modified: xfce4-power-manager/trunk/src/xfpm-dpms.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-dpms.c	2009-03-22 16:37:59 UTC (rev 6975)
+++ xfce4-power-manager/trunk/src/xfpm-dpms.c	2009-03-22 17:42:59 UTC (rev 6976)
@@ -146,27 +146,25 @@
 static gboolean
 xfpm_dpms_enable_disable (XfpmDpms *dpms)
 {
+    BOOL on_off;
+    CARD16 state = 0;
+    
     if ( !dpms->priv->dpms_capable )
     	return FALSE;
 	
-    if ( dpms->priv->inhibited )
+    DPMSInfo (GDK_DISPLAY(), &state, &on_off);
+    
+    if ( dpms->priv->inhibited && on_off )
     {
-	TRACE("DPMS is inhibited");
+	TRACE("Power manager inhibited, disabling DPMS");
 	DPMSDisable (GDK_DISPLAY());
-	return TRUE;
     }
-	
-    BOOL on_off;
-    CARD16 state = 0;
-    
-    DPMSInfo (GDK_DISPLAY(), &state, &on_off);
-    
-    if ( !on_off && dpms->priv->dpms_enabled )
+    else if ( !on_off && dpms->priv->dpms_enabled && !dpms->priv->inhibited )
     {
         TRACE("DPMS is disabled, enabling it: user settings");
         DPMSEnable(GDK_DISPLAY());
     } 
-    else if ( on_off && !dpms->priv->dpms_enabled )
+    else if ( on_off && !dpms->priv->dpms_enabled && !dpms->priv->inhibited)
     {
         TRACE("DPMS is enabled, disabling it: user settings");
         DPMSDisable(GDK_DISPLAY());
@@ -179,6 +177,9 @@
 {
     xfpm_dpms_enable_disable (dpms);
     
+    if ( dpms->priv->inhibited  == TRUE || dpms->priv->dpms_enabled == FALSE )
+	return;
+    
     if ( !dpms->priv->on_battery )
     	xfpm_dpms_timeouts_on_adapter (dpms);
     else 

Modified: xfce4-power-manager/trunk/src/xfpm-supply.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-supply.c	2009-03-22 16:37:59 UTC (rev 6975)
+++ xfce4-power-manager/trunk/src/xfpm-supply.c	2009-03-22 17:42:59 UTC (rev 6976)
@@ -485,7 +485,7 @@
     mi = gtk_image_menu_item_new_from_stock(GTK_STOCK_ABOUT,NULL);
     gtk_widget_set_sensitive(mi,TRUE);
     gtk_widget_show(mi);
-    g_signal_connect(mi,"activate",G_CALLBACK(xfpm_about),NULL);
+    g_signal_connect(mi,"activate",G_CALLBACK(xfpm_about), _("Xfce Power Manager"));
     
     gtk_menu_shell_append(GTK_MENU_SHELL(menu),mi);
     

Modified: xfce4-power-manager/trunk/src/xfpm-tray-icon.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-tray-icon.c	2009-03-22 16:37:59 UTC (rev 6975)
+++ xfce4-power-manager/trunk/src/xfpm-tray-icon.c	2009-03-22 17:42:59 UTC (rev 6976)
@@ -30,6 +30,7 @@
 #include <gtk/gtk.h>
 
 #include <libxfce4util/libxfce4util.h>
+#include <libxfcegui4/libxfcegui4.h>
 
 #include "libxfpm/xfpm-common.h"
 
@@ -52,6 +53,28 @@
 
 G_DEFINE_TYPE(XfpmTrayIcon, xfpm_tray_icon, G_TYPE_OBJECT)
 
+static gboolean
+xfpm_tray_icon_size_changed_cb (GtkStatusIcon *icon, gint size, XfpmTrayIcon *tray)
+{
+    GdkPixbuf *pix;
+    
+    g_return_val_if_fail (size > 0, FALSE);
+
+    if ( tray->priv->icon_quark == 0 )
+	return FALSE;
+    
+    pix = xfce_themed_icon_load (g_quark_to_string (tray->priv->icon_quark), size);
+    
+    if ( pix )
+    {
+	gtk_status_icon_set_from_pixbuf (GTK_STATUS_ICON(tray->priv->icon), pix);
+	g_object_unref (pix);
+	return TRUE;
+    }
+    
+    return FALSE;
+}
+
 static void
 xfpm_tray_icon_class_init(XfpmTrayIconClass *klass)
 {
@@ -70,6 +93,9 @@
     tray->priv->icon = gtk_status_icon_new();
     
     tray->priv->icon_quark = 0;
+    
+    g_signal_connect (tray->priv->icon, "size-changed",
+		      G_CALLBACK (xfpm_tray_icon_size_changed_cb), tray);
 }
 
 static void
@@ -98,8 +124,10 @@
     g_return_if_fail(XFPM_IS_TRAY_ICON(icon));
     
     icon->priv->icon_quark = g_quark_from_string(icon_name);
-   
-    gtk_status_icon_set_from_icon_name (GTK_STATUS_ICON(icon->priv->icon), icon_name);
+    
+    xfpm_tray_icon_size_changed_cb (icon->priv->icon,
+				    gtk_status_icon_get_size(icon->priv->icon),
+				    icon);
 }
 
 void xfpm_tray_icon_set_tooltip (XfpmTrayIcon *icon, const gchar *tooltip)




More information about the Goodies-commits mailing list