Hello, this is a bug-fix-only upstream release which only includes cherry-picked patches and translation updates! I added an updated and a more filtered debdiff for better reading. debdiff docky_2.0.5-1.dsc docky_2.0.6-1.dsc | filterdiff -x "*.po*" -x "*configure*" -x "*.m4" > docky-206-debian-trimmed.debdiff Regards, Rico Am 04.09.2010 13:18, schrieb Julien Cristau: > On Wed, Sep 1, 2010 at 11:25:40 +0200, Rico Tzschichholz wrote: > >> Hello, >> >> i want to know if it is still possible to upload a bugfix-only-release >> of Docky to sid/squeeze? >> > I'm afraid it's getting late for this. If there are any particular > fixes you'd like to cherry-pick we can consider this, but the whole new > upstream version is probably too much, sorry. > > Cheers, > Julien
diff -Nru docky-2.0.5/aclocal.m4 docky-2.0.6/aclocal.m4
diff -Nru docky-2.0.5/configure docky-2.0.6/configure
diff -Nru docky-2.0.5/configure.ac docky-2.0.6/configure.ac
diff -Nru docky-2.0.5/debian/changelog docky-2.0.6/debian/changelog
--- docky-2.0.5/debian/changelog 2010-09-04 14:02:37.000000000 +0200
+++ docky-2.0.6/debian/changelog 2010-09-04 14:02:37.000000000 +0200
@@ -1,3 +1,33 @@
+docky (2.0.6-1) experimental; urgency=low
+
+ * New upstream release 2.0.6 "Just lovin' it",
+ changes include:
+ + fix check for existing instance
+ + hitting ESC should cancel drags (LP: #460071)
+ + make sure plugins enabled by default are added to the dock on first run
+ and enable Trash docklet by default
+ + update badge drawing so the text is consistently sized
+ + fix leak of ThemedIcon/FileIcon in IconFromGIcon
+ + fix non-square items arent properly darken (LP: #584094)
+ + remove MenuList.Dispose which is not really needed, solves (LP: #609170)
+ + shrink config dialog (LP: #591448)
+
+ + RecentDocs: fix crash (LP: #580723)
+ + Mounter: use a better MountItem.UniqueID and don't fill up gconf with
+ useless keys (temporary fix for LP: #600311)
+ + Weather: add weather icon for Smoke (LP: #612437)
+ + CPUMonitor: fix CPU utilization percentage (LP: #604677)
+ + GMail:
+ - add debuging messages to gmail and log web response status when we
+ have a web exception
+ - fix crash and leak in Gmail
+ * debian/patches:
+ + drop 01_use_cli_for_wrapper.patch
+ * patch build-system and bump dependency for new gio-sharp >= 2.22.2
+ + update debian/patches/use-system-gio-sharp.patch
+
+ -- Rico Tzschichholz <ricotz@t-online.de> Wed, 01 Sep 2010 09:37:14 +0200
+
docky (2.0.5-1) unstable; urgency=low
* New upstream release 2.0.5 "Be proud of your dock",
diff -Nru docky-2.0.5/debian/control docky-2.0.6/debian/control
--- docky-2.0.5/debian/control 2010-09-04 14:02:37.000000000 +0200
+++ docky-2.0.6/debian/control 2010-09-04 14:02:37.000000000 +0200
@@ -28,8 +28,8 @@
libgtk2.0-dev,
libglib2.0-dev,
libgconf2-dev,
- libgio2.0-cil-dev,
-Standards-Version: 3.9.0
+ libgio2.0-cil-dev (>= 2.22.2),
+Standards-Version: 3.9.1
XS-Python-Version: >= 2.5
Vcs-Git: git://git.debian.org/git/pkg-cli-apps/packages/docky.git
Vcs-Browser: http://git.debian.org/?p=pkg-cli-apps/packages/docky.git
diff -Nru docky-2.0.5/debian/patches/01_use_cli_for_wrapper.patch docky-2.0.6/debian/patches/01_use_cli_for_wrapper.patch
--- docky-2.0.5/debian/patches/01_use_cli_for_wrapper.patch 2010-09-04 14:02:37.000000000 +0200
+++ docky-2.0.6/debian/patches/01_use_cli_for_wrapper.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,13 +0,0 @@
-Index: docky.debian.git/Docky/docky.in
-===================================================================
---- docky.debian.git.orig/Docky/docky.in
-+++ docky.debian.git/Docky/docky.in
-@@ -12,7 +12,7 @@
- fi
-
- if [ `pgrep -u $(id -u) -f Docky.exe | wc -l` -lt 1 ]; then
-- exec mono "$DOCKY_EXE" "$@"
-+ exec /usr/bin/cli "$DOCKY_EXE" "$@"
- else
- echo "Docky appears to already be running. Exiting..."
- fi
diff -Nru docky-2.0.5/debian/patches/series docky-2.0.6/debian/patches/series
--- docky-2.0.5/debian/patches/series 2010-09-04 14:02:37.000000000 +0200
+++ docky-2.0.6/debian/patches/series 2010-09-04 14:02:37.000000000 +0200
@@ -1,2 +1 @@
-01_use_cli_for_wrapper.patch
use-system-gio-sharp.patch
diff -Nru docky-2.0.5/debian/patches/use-system-gio-sharp.patch docky-2.0.6/debian/patches/use-system-gio-sharp.patch
--- docky-2.0.5/debian/patches/use-system-gio-sharp.patch 2010-09-04 14:02:37.000000000 +0200
+++ docky-2.0.6/debian/patches/use-system-gio-sharp.patch 2010-09-04 14:02:37.000000000 +0200
@@ -1,17 +1,28 @@
Index: docky/configure.ac
===================================================================
---- docky.orig/configure.ac 2010-05-31 21:02:35.577466139 +1000
-+++ docky/configure.ac 2010-05-31 21:41:51.636241823 +1000
-@@ -138,7 +138,7 @@
+--- docky.orig/configure.ac
++++ docky/configure.ac
+@@ -138,7 +138,18 @@
DOCKY_WINDOWING_LIBS="-r:$(pwd)/build/Docky.Windowing.dll"
AC_SUBST([DOCKY_WINDOWING_LIBS])
-GIO_SHARP_LIBS="-r:$(pwd)/build/gio-sharp.dll"
-+PKG_CHECK_MODULES([GIO_SHARP], [gio-sharp-2.0])
++dnl gio-sharp is an unstable api library
++GIO_SHARP_REQUIRED_VERSION=2.22.2
++PKG_CHECK_MODULES([GIO_SHARP], [gio-sharp-2.0 >= $GIO_SHARP_REQUIRED_VERSION])
++files="`$PKG_CONFIG --variable=Libraries gio-sharp-2.0`"
++for file in $files; do
++ [ mkdir -p $top_srcdir/build ] && [ cp -vu $file $top_srcdir/build/ ]
++ GIO_SHARP_ASSEMBLIES="$GIO_SHARP_ASSEMBLIES $top_srcdir/build/$(basename $file)"
++ GIO_SHARP_LIBS="$GIO_SHARP_LIBS -r:$top_srcdir/build/$(basename $file)"
++ [[ -r "$file.config" ]] && [ mkdir -p $top_srcdir/build ] && [ cp -vu $file.config $top_srcdir/build/ ]
++ [[ -r "$file.config" ]] && GIO_SHARP_ASSEMBLIES="$GIO_SHARP_ASSEMBLIES $top_srcdir/build/$(basename $file).config"
++done
++AC_SUBST([GIO_SHARP_ASSEMBLIES])
AC_SUBST([GIO_SHARP_LIBS])
PKG_CHECK_MODULES([NUNIT], [nunit], have_nunit=yes, have_nunit=no)
-@@ -175,9 +175,6 @@
+@@ -175,9 +186,6 @@
AC_CONFIG_FILES([
lib/Makefile
@@ -23,9 +34,18 @@
scripts/docky/docky.py
Index: docky/Makefile.am
===================================================================
---- docky.orig/Makefile.am 2010-05-31 21:41:58.956209626 +1000
-+++ docky/Makefile.am 2010-05-31 21:42:11.246235746 +1000
-@@ -9,7 +9,6 @@
+--- docky.orig/Makefile.am
++++ docky/Makefile.am
+@@ -5,11 +5,15 @@
+
+ ACLOCAL_AMFLAGS = -I m4 -I m4/shamrock
+
++# Install copied assemblies to our libdir
++copiedlibsdir = $(pkglibdir)
++copiedlibs_DATA = \
++ $(GIO_SHARP_ASSEMBLIES)
++
+ SUBDIRS = \
. \
data \
scripts \
diff -Nru docky-2.0.5/Docky/AssemblyInfo.cs docky-2.0.6/Docky/AssemblyInfo.cs
--- docky-2.0.5/Docky/AssemblyInfo.cs 2010-07-01 19:05:38.505184002 +0200
+++ docky-2.0.6/Docky/AssemblyInfo.cs 2010-09-01 08:11:00.547532000 +0200
@@ -46,7 +46,7 @@
//
// You can specify all values by your own or you can build default build and revision
// numbers with the '*' character (the default):
-[assembly: AssemblyVersion("1336")]
+[assembly: AssemblyVersion("1354")]
// The following attributes specify the key for the sign of your assembly. See the
// .NET Framework documentation for more information about signing.
@@ -58,8 +58,8 @@
{
internal static class AssemblyInfo
{
- public const string DisplayVersion = "2.0.5";
- public const string VersionDetails = "bzr docky-2.0 r1336";
+ public const string DisplayVersion = "2.0.6";
+ public const string VersionDetails = "bzr docky-2.0 r1354";
public const string LocaleDirectory = "/usr/share/locale";
public const string InstallData = "/usr/share";
}
diff -Nru docky-2.0.5/Docky/Docky/DockController.cs docky-2.0.6/Docky/Docky/DockController.cs
--- docky-2.0.5/Docky/Docky/DockController.cs 2010-06-26 15:47:36.543229000 +0200
+++ docky-2.0.6/Docky/Docky/DockController.cs 2010-08-24 19:51:18.946278992 +0200
@@ -287,6 +287,7 @@
{
foreach (AbstractDockItemProvider provider in PluginManager.ItemProviders) {
if (!docks.Any (d => d.Preferences.ItemProviders.Contains (provider))) {
+ Log<DockController>.Warn ("\"{0}\" seems to have been abaondoned... disabling.", provider.Name);
PluginManager.Disable (provider);
}
}
diff -Nru docky-2.0.5/Docky/Docky/Docky.cs docky-2.0.6/Docky/Docky/Docky.cs
--- docky-2.0.5/Docky/Docky/Docky.cs 2010-06-26 15:47:36.543229000 +0200
+++ docky-2.0.6/Docky/Docky/Docky.cs 2010-08-24 20:41:52.206278994 +0200
@@ -24,6 +24,7 @@
using System.IO;
using Mono.Unix;
+using NDesk.DBus;
using Gdk;
using Gtk;
@@ -71,6 +72,10 @@
// set process name
DockServices.System.SetProcessName ("docky");
+ if (CheckForInstance ()) {
+ Log.Error ("Another Docky instance was detected - exiting.");
+ return;
+ }
// cache main thread
SystemService.MainThread = Thread.CurrentThread;
@@ -95,6 +100,11 @@
Gnome.Vfs.Vfs.Shutdown ();
}
+ static bool CheckForInstance ()
+ {
+ return Bus.Session.NameHasOwner ("org.gnome.Docky");
+ }
+
static void CheckComposite ()
{
GLib.Timeout.Add (2000, delegate {
diff -Nru docky-2.0.5/Docky/Docky/Interface/DockDragTracker.cs docky-2.0.6/Docky/Docky/Interface/DockDragTracker.cs
--- docky-2.0.5/Docky/Docky/Interface/DockDragTracker.cs 2010-06-26 15:47:36.543229000 +0200
+++ docky-2.0.6/Docky/Docky/Interface/DockDragTracker.cs 2010-08-24 20:35:26.886278993 +0200
@@ -48,6 +48,7 @@
bool drag_disabled = false;
int marker = 0;
uint drag_hover_timer;
+ IDictionary<AbstractDockItem, int> original_item_pos = new Dictionary<AbstractDockItem, int> ();
AbstractDockItem drag_item;
@@ -179,6 +180,8 @@
{
Owner.CursorTracker.RequestHighResolution (this);
InternalDragActive = true;
+ Keyboard.Grab (Owner.GdkWindow, true, Gtk.Global.CurrentEventTime);
+ drag_canceled = false;
if (proxy_window != null) {
EnableDragTo ();
@@ -187,16 +190,21 @@
Gdk.Pixbuf pbuf;
drag_item = Owner.HoveredItem;
+ original_item_pos.Clear ();
// If we are in Reposition Mode or over a non-draggable item
// dont drag it!
if (drag_item is INonPersistedItem || RepositionMode)
drag_item = null;
- if (drag_item != null)
+ if (drag_item != null) {
+ foreach (AbstractDockItem adi in ProviderForItem (drag_item).Items)
+ original_item_pos [adi] = adi.Position;
+
pbuf = Owner.HoveredItem.IconSurface (new DockySurface (1, 1), Owner.ZoomedIconSize, Owner.IconSize, 0).LoadToPixbuf ();
- else
+ } else {
pbuf = new Gdk.Pixbuf (Gdk.Colorspace.Rgb, true, 8, 1, 1);
+ }
Gtk.Drag.SetIconPixbuf (args.Context, pbuf, pbuf.Width / 2, pbuf.Height / 2);
pbuf.Dispose ();
@@ -337,6 +345,8 @@
ExternalDragActive = false;
}
+ bool drag_canceled;
+
/// <summary>
/// Emitted on the drag source when the drag finishes
/// </summary>
@@ -345,7 +355,7 @@
if (RepositionMode)
Owner.CursorTracker.CursorPositionChanged -= HandleCursorPositionChanged;
- if (drag_item != null) {
+ if (!drag_canceled && drag_item != null) {
if (!Owner.DockHovered) {
// Remove from dock
AbstractDockItemProvider provider = ProviderForItem (drag_item);
@@ -379,6 +389,7 @@
InternalDragActive = false;
drag_item = null;
+ Keyboard.Ungrab (Gtk.Global.CurrentEventTime);
Owner.AnimatedDraw ();
Owner.CursorTracker.CancelHighResolution (this);
@@ -397,7 +408,17 @@
/// </summary>
void HandleDragFailed (object o, DragFailedArgs args)
{
- args.RetVal = true;
+ drag_canceled = args.DragResult == DragResult.UserCancelled;
+
+ if (drag_canceled) {
+ foreach (KeyValuePair<AbstractDockItem, int> kvp in original_item_pos)
+ kvp.Key.Position = kvp.Value;
+
+ Owner.UpdateCollectionBuffer ();
+ Owner.Preferences.SyncPreferences ();
+ }
+
+ args.RetVal = !drag_canceled;
}
/// <summary>
diff -Nru docky-2.0.5/Docky/Docky/Interface/DockPreferences.cs docky-2.0.6/Docky/Docky/Interface/DockPreferences.cs
--- docky-2.0.5/Docky/Docky/Interface/DockPreferences.cs 2010-06-26 15:47:36.543229000 +0200
+++ docky-2.0.6/Docky/Docky/Interface/DockPreferences.cs 2010-08-24 20:00:47.446278995 +0200
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2009 Jason Smith, Robert Dyer, Chris Szikszoy
+// Copyright (C) 2009-2010 Jason Smith, Robert Dyer, Chris Szikszoy
//
// 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
@@ -350,6 +350,9 @@
DefaultProvider.ItemsChanged += HandleDefaultProviderItemsChanged;
+ if (FirstRun)
+ FirstRun = false;
+
ShowAll ();
}
@@ -449,6 +452,14 @@
if (WindowManager)
DefaultProvider.SetWindowManager ();
+ // on first run, add default plugins to the dock
+ if (FirstRun) {
+ Log<DockPreferences>.Info ("Adding default plugins.");
+ foreach (AbstractDockItemProvider provider in PluginManager.ItemProviders)
+ item_providers.Add (provider);
+ SyncPlugins ();
+ }
+
autohide_box.Active = (int) Autohide;
UpdateAutohideDescription ();
fade_on_hide_check.Sensitive = (int) Autohide > 0;
@@ -464,7 +475,6 @@
threedee_check.Sensitive = Position == DockPosition.Bottom;
multiple_window_indicator_check.Active = IndicateMultipleWindows;
-
window_manager_check.Active = DefaultProvider.IsWindowManager;
DefaultProvider.WindowManagerChanged += delegate {
WindowManager = window_manager_check.Active = DefaultProvider.IsWindowManager;
@@ -533,8 +543,6 @@
launcher_music,
launcher_im,
}.Where (s => !String.IsNullOrEmpty (s));
-
- FirstRun = false;
}
foreach (string launcher in Launchers) {
diff -Nru docky-2.0.5/Docky/Docky/Interface/DockWindow.cs docky-2.0.6/Docky/Docky/Interface/DockWindow.cs
--- docky-2.0.5/Docky/Docky/Interface/DockWindow.cs 2010-06-30 08:08:05.730310992 +0200
+++ docky-2.0.6/Docky/Docky/Interface/DockWindow.cs 2010-08-01 09:52:09.345963001 +0200
@@ -2338,7 +2338,7 @@
// darken the icon
if (darken > 0) {
Gdk.Rectangle area = DrawRegionForItemValue (item, center);
- surface.Context.Rectangle (area.X, area.Y, area.Height, area.Width);
+ surface.Context.Rectangle (area.X, area.Y, area.Width, area.Height);
surface.Context.Color = new Cairo.Color (0, 0, 0, darken);
diff -Nru docky-2.0.5/Docky/Docky/PluginManager.cs docky-2.0.6/Docky/Docky/PluginManager.cs
--- docky-2.0.5/Docky/Docky/PluginManager.cs 2010-06-26 15:47:36.543229000 +0200
+++ docky-2.0.6/Docky/Docky/PluginManager.cs 2010-08-24 19:55:12.726278996 +0200
@@ -92,6 +92,8 @@
// Add feedback when addin is loaded or unloaded
AddinManager.AddinLoaded += AddinManagerAddinLoaded;
AddinManager.AddinUnloaded += AddinManagerAddinUnloaded;
+
+ Log<PluginManager>.Debug ("Plugin manager initialized.");
}
public static void Shutdown ()
diff -Nru docky-2.0.5/Docky/docky.in docky-2.0.6/Docky/docky.in
--- docky-2.0.5/Docky/docky.in 2010-06-26 15:47:36.543229000 +0200
+++ docky-2.0.6/Docky/docky.in 2010-08-24 20:45:24.696278997 +0200
@@ -11,8 +11,4 @@
DOCKY_EXE="@expanded_libdir@/@PACKAGE@/Docky.exe"
fi
-if [ `pgrep -u $(id -u) -f Docky.exe | wc -l` -lt 1 ]; then
- exec mono "$DOCKY_EXE" "$@"
-else
- echo "Docky appears to already be running. Exiting..."
-fi
+exec mono "$DOCKY_EXE" "$@"
diff -Nru docky-2.0.5/Docky/gtk-gui/Docky.ConfigurationWindow.cs docky-2.0.6/Docky/gtk-gui/Docky.ConfigurationWindow.cs
--- docky-2.0.5/Docky/gtk-gui/Docky.ConfigurationWindow.cs 2010-06-26 15:47:36.543229000 +0200
+++ docky-2.0.6/Docky/gtk-gui/Docky.ConfigurationWindow.cs 2010-07-06 15:13:36.520626999 +0200
@@ -445,8 +445,8 @@
if ((this.Child != null)) {
this.Child.ShowAll();
}
- this.DefaultWidth = 420;
- this.DefaultHeight = 430;
+ this.DefaultWidth = 380;
+ this.DefaultHeight = 390;
this.label3.MnemonicWidget = this.theme_combo;
this.Show();
this.config_notebook.SwitchPage += new Gtk.SwitchPageHandler(this.OnPageSwitch);
diff -Nru docky-2.0.5/Docky/gtk-gui/gui.stetic docky-2.0.6/Docky/gtk-gui/gui.stetic
--- docky-2.0.5/Docky/gtk-gui/gui.stetic 2010-07-01 18:36:53.750988000 +0200
+++ docky-2.0.6/Docky/gtk-gui/gui.stetic 2010-08-24 20:01:54.346146000 +0200
@@ -336,7 +336,7 @@
</widget>
</child>
</widget>
- <widget class="Gtk.Window" id="Docky.ConfigurationWindow" design-size="420 430">
+ <widget class="Gtk.Window" id="Docky.ConfigurationWindow" design-size="380 390">
<property name="MemberName" />
<property name="Title" translatable="yes">Docky Configuration</property>
<property name="Icon">stock:gtk-preferences Menu</property>
diff -Nru docky-2.0.5/Docky.Items/Docky.Items/AbstractDockItem.cs docky-2.0.6/Docky.Items/Docky.Items/AbstractDockItem.cs
--- docky-2.0.5/Docky.Items/Docky.Items/AbstractDockItem.cs 2010-06-30 08:04:11.820310993 +0200
+++ docky-2.0.6/Docky.Items/Docky.Items/AbstractDockItem.cs 2010-08-01 10:34:05.335963002 +0200
@@ -643,6 +643,45 @@
if (string.IsNullOrEmpty (BadgeText))
return;
+ int padding = 4;
+ int lineWidth = 2;
+ double size = (IsSmall ? 0.9 : 0.65) * Math.Min (surface.Width, surface.Height);
+ double x = surface.Width - size / 2;
+ double y = size / 2;
+
+ if (!IsSmall) {
+ // draw outline shadow
+ surface.Context.LineWidth = lineWidth;
+ surface.Context.Color = new Cairo.Color (0, 0, 0, 0.5);
+ surface.Context.Arc (x, y + 1, size / 2 - lineWidth, 0, Math.PI * 2);
+ surface.Context.Stroke ();
+
+ // draw filled gradient
+ RadialGradient rg = new RadialGradient (x, lineWidth, 0, x, lineWidth, size);
+ rg.AddColorStop (0, badgeColors [0]);
+ rg.AddColorStop (1.0, badgeColors [1]);
+
+ surface.Context.Pattern = rg;
+ surface.Context.Arc (x, y, size / 2 - lineWidth, 0, Math.PI * 2);
+ surface.Context.Fill ();
+ rg.Destroy ();
+
+ // draw outline
+ surface.Context.Color = new Cairo.Color (1, 1, 1, 1);
+ surface.Context.Arc (x, y, size / 2 - lineWidth, 0, Math.PI * 2);
+ surface.Context.Stroke ();
+
+ surface.Context.LineWidth = lineWidth / 2;
+ surface.Context.Color = badgeColors [1];
+ surface.Context.Arc (x, y, size / 2 - 2 * lineWidth, 0, Math.PI * 2);
+ surface.Context.Stroke ();
+
+ surface.Context.Color = new Cairo.Color (0, 0, 0, 0.2);
+ } else {
+ lineWidth = 0;
+ padding = 2;
+ }
+
using (Pango.Layout layout = DockServices.Drawing.ThemedPangoLayout ())
{
layout.Width = Pango.Units.FromPixels (surface.Height / 2);
@@ -651,62 +690,35 @@
layout.FontDescription.Weight = Pango.Weight.Bold;
Pango.Rectangle inkRect, logicalRect;
- int tsize = 3;
- do {
- layout.FontDescription.AbsoluteSize = Pango.Units.FromPixels (tsize);
- layout.SetText (BadgeText);
- layout.GetPixelExtents (out inkRect, out logicalRect);
- tsize++;
- } while (Math.Max (logicalRect.Width, logicalRect.Height) < surface.Height / (IsSmall ? 1 : 2) - 8);
+ layout.FontDescription.AbsoluteSize = Pango.Units.FromPixels (surface.Height / 2);
+ layout.SetText (BadgeText);
+ layout.GetPixelExtents (out inkRect, out logicalRect);
+
+ size -= 2 * padding + 2 * lineWidth;
- int size = Math.Max (logicalRect.Width, logicalRect.Height);
- int padding = 4;
- int lineWidth = 2;
- int x = surface.Width - size / 2 - padding - lineWidth;
- int y = size / 2 + padding + lineWidth;
+ double scale = Math.Min (1, Math.Min (size / (double) logicalRect.Width, size / (double) logicalRect.Height));
if (!IsSmall) {
- // draw outline shadow
- surface.Context.LineWidth = lineWidth;
- surface.Context.Color = new Cairo.Color (0, 0, 0, 0.5);
- surface.Context.Arc (x, y + 1, size / 2 + padding, 0, Math.PI * 2);
- surface.Context.Stroke ();
-
- // draw filled gradient
- RadialGradient rg = new RadialGradient (x, lineWidth, 0, x, lineWidth, size + 2 * padding);
- rg.AddColorStop (0, badgeColors [0]);
- rg.AddColorStop (1.0, badgeColors [1]);
-
- surface.Context.Pattern = rg;
- surface.Context.Arc (x, y, size / 2 + padding, 0, Math.PI * 2);
- surface.Context.Fill ();
- rg.Destroy ();
-
- // draw outline
- surface.Context.Color = new Cairo.Color (1, 1, 1, 1);
- surface.Context.Arc (x, y, size / 2 + padding, 0, Math.PI * 2);
- surface.Context.Stroke ();
-
- surface.Context.LineWidth = lineWidth / 2;
- surface.Context.Color = badgeColors [1];
- surface.Context.Arc (x, y, size / 2 + padding - lineWidth, 0, Math.PI * 2);
- surface.Context.Stroke ();
-
surface.Context.Color = new Cairo.Color (0, 0, 0, 0.2);
} else {
- x = surface.Width - logicalRect.Width / 2;
- y = logicalRect.Height / 2;
surface.Context.Color = new Cairo.Color (0, 0, 0, 0.6);
+ x = surface.Width - scale * logicalRect.Width / 2;
+ y = scale * logicalRect.Height / 2;
}
+ surface.Context.MoveTo (x - scale * logicalRect.Width / 2, y - scale * logicalRect.Height / 2);
+
// draw text
- surface.Context.MoveTo (x - logicalRect.Width / 2, y - logicalRect.Height / 2);
+ surface.Context.Save ();
+ if (scale < 1)
+ surface.Context.Scale (scale, scale);
- Pango.CairoHelper.LayoutPath (surface.Context, layout);
surface.Context.LineWidth = 2;
+ Pango.CairoHelper.LayoutPath (surface.Context, layout);
surface.Context.StrokePreserve ();
surface.Context.Color = new Cairo.Color (1, 1, 1, 1);
surface.Context.Fill ();
+ surface.Context.Restore ();
layout.FontDescription.Dispose ();
layout.Context.Dispose ();
@@ -901,7 +913,6 @@
AppDomain.CurrentDomain.ProcessExit -= HandleProcessExit;
Gtk.IconTheme.Default.Changed -= HandleIconThemeChanged;
ResetBuffers ();
- RemoteMenuItems.Dispose ();
}
#endregion
diff -Nru docky-2.0.5/Docky.Items/Docky.Menus/MenuList.cs docky-2.0.6/Docky.Items/Docky.Menus/MenuList.cs
--- docky-2.0.5/Docky.Items/Docky.Menus/MenuList.cs 2010-06-26 15:47:36.543229000 +0200
+++ docky-2.0.6/Docky.Items/Docky.Menus/MenuList.cs 2010-08-01 09:44:12.865962999 +0200
@@ -33,7 +33,7 @@
Footer,
}
- public class MenuList : IDisposable
+ public class MenuList
{
Dictionary<MenuListContainer, List<MenuItem>> list;
Dictionary<MenuListContainer, string> titles;
@@ -126,17 +126,5 @@
return result;
}
-
- #region IDisposable implementation
- public void Dispose ()
- {
- foreach (List<MenuItem> sublist in list.Values)
- sublist.Clear ();
- list.Clear ();
- titles.Clear ();
- list = null;
- titles = null;
- }
- #endregion
}
}
diff -Nru docky-2.0.5/Docky.Items/Docky.Menus/RelatedFileMenuItem.cs docky-2.0.6/Docky.Items/Docky.Menus/RelatedFileMenuItem.cs
--- docky-2.0.5/Docky.Items/Docky.Menus/RelatedFileMenuItem.cs 2010-06-26 15:47:36.543229000 +0200
+++ docky-2.0.6/Docky.Items/Docky.Menus/RelatedFileMenuItem.cs 1970-01-01 01:00:00.000000000 +0100
@@ -1,52 +0,0 @@
-//
-// Copyright (C) 2009 Jason Smith
-//
-// 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 3 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, see <http://www.gnu.org/licenses/>.
-//
-
-using System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.Linq;
-using System.IO;
-using System.Text;
-
-namespace Docky.Menus
-{
-
-
- public class RelatedFileMenuItem : MenuItem
- {
- public string Uri { get; private set; }
-
- public RelatedFileMenuItem (string uri)
- {
- Uri = uri;
-
- if (uri.StartsWith ("http")) {
- Icon = "html";
- } else {
- Gnome.IconLookupResultFlags results;
- Icon = Gnome.Icon.LookupSync (Gtk.IconTheme.Default, null, uri, null, 0, out results);
- }
-
- if (uri.StartsWith ("file://")) {
- Text = Path.GetFileName (Gnome.Vfs.Global.GetLocalPathFromUri (uri));
- } else {
- Uri u = new Uri (uri);
- Text = System.Uri.UnescapeDataString (uri.Substring (u.Scheme.Length + 3));
- }
- }
- }
-}
diff -Nru docky-2.0.5/Docky.Items/Makefile.am docky-2.0.6/Docky.Items/Makefile.am
--- docky-2.0.5/Docky.Items/Makefile.am 2010-06-26 15:47:36.543229000 +0200
+++ docky-2.0.6/Docky.Items/Makefile.am 2010-08-01 10:14:50.780420000 +0200
@@ -13,7 +13,6 @@
Docky.Items/ItemState.cs \
Docky.Menus/MenuItem.cs \
Docky.Menus/MenuList.cs \
- Docky.Menus/RelatedFileMenuItem.cs \
Docky.Menus/SeparatorMenuItem.cs \
Docky.Menus/WindowMenuItem.cs \
Docky.Menus/IconMenuItem.cs \
diff -Nru docky-2.0.5/Docky.Items/Makefile.in docky-2.0.6/Docky.Items/Makefile.in
--- docky-2.0.5/Docky.Items/Makefile.in 2010-07-01 19:05:31.415184001 +0200
+++ docky-2.0.6/Docky.Items/Makefile.in 2010-09-01 08:10:51.547532008 +0200
@@ -322,7 +322,6 @@
Docky.Items/ItemState.cs \
Docky.Menus/MenuItem.cs \
Docky.Menus/MenuList.cs \
- Docky.Menus/RelatedFileMenuItem.cs \
Docky.Menus/SeparatorMenuItem.cs \
Docky.Menus/WindowMenuItem.cs \
Docky.Menus/IconMenuItem.cs \
diff -Nru docky-2.0.5/Docky.Services/AssemblyInfo.cs docky-2.0.6/Docky.Services/AssemblyInfo.cs
--- docky-2.0.5/Docky.Services/AssemblyInfo.cs 2010-07-01 19:05:38.465184002 +0200
+++ docky-2.0.6/Docky.Services/AssemblyInfo.cs 2010-09-01 08:11:00.487532001 +0200
@@ -50,8 +50,8 @@
{
internal static class AssemblyInfo
{
- public const string DisplayVersion = "2.0.5";
- public const string VersionDetails = "bzr docky-2.0 r1336";
+ public const string DisplayVersion = "2.0.6";
+ public const string VersionDetails = "bzr docky-2.0 r1354";
public const string LocaleDirectory = "/usr/share/locale";
public const string DataDirectory = "/usr/share";
}
diff -Nru docky-2.0.5/Docky.Services/Docky.Services/DrawingService.cs docky-2.0.6/Docky.Services/Docky.Services/DrawingService.cs
--- docky-2.0.5/Docky.Services/Docky.Services/DrawingService.cs 2010-06-26 15:47:36.543229000 +0200
+++ docky-2.0.6/Docky.Services/Docky.Services/DrawingService.cs 2010-08-01 10:26:22.375963000 +0200
@@ -223,19 +223,21 @@
/// </returns>
public string IconFromGIcon (GLib.Icon icon)
{
+ string name = "";
if (icon is ThemedIcon) {
ThemedIcon themeIcon = new ThemedIcon (icon.Handle);
-
- // if the icon exists in the theme, this will return the relevent ion
+ // if the icon exists in the theme, this will return the relevent icon
if (themeIcon.Names.Any ())
- return themeIcon.Names.FirstOrDefault (n => IconTheme.Default.HasIcon (n));
+ name = themeIcon.Names.FirstOrDefault (n => IconTheme.Default.HasIcon (n));
+ themeIcon.Dispose ();
+
} else if (icon is FileIcon) {
// in some cases, devices provide their own icon. This will use the device icon.
FileIcon iconFile = new FileIcon (icon.Handle);
-
- return iconFile.File.Path;
+ name = iconFile.File.Path;
+ iconFile.Dispose ();
}
- return "";
+ return name;
}
/// <summary>
diff -Nru docky-2.0.5/NEWS docky-2.0.6/NEWS
--- docky-2.0.5/NEWS 2010-07-01 18:42:43.535184000 +0200
+++ docky-2.0.6/NEWS 2010-09-01 08:06:43.137531990 +0200
@@ -1,6 +1,34 @@
Docky: The finest dock no money can buy!
+2.0.6 "Just lovin' it" (2010-09-01)
+===============================================================================
+ * Bug-fix and Maintenance Release
+ * update translations
+
+ CORE:
+ * fix check for existing instance
+ * hitting ESC should cancel drags (LP: #460071)
+ * make sure plugins enabled by default are added to the dock on first run and
+ enable Trash docklet by default
+ * update badge drawing so the text is consistently sized
+ * fix leak of ThemedIcon/FileIcon in IconFromGIcon
+ * fix non-square items arent properly darken (LP: #584094)
+ * remove MenuList.Dispose which is not really needed, also solves (LP: #609170)
+ * shrink config dialog (LP: #591448)
+
+ DOCKLETS:
+ * RecentDocs: fix crash (LP: #580723)
+ * Mounter: use a better MountItem.UniqueID and don't fill up gconf with
+ useless keys (temporary fix for LP: #600311)
+ * Weather: add weather icon for Smoke (LP: #612437)
+ * CPUMonitor: fix CPU utilization percentage (LP: #604677)
+ * GMail:
+ - add debuging messages to gmail and log web response status when we
+ have a web exception
+ - fix crash and leak in Gmail
+
+
2.0.5 "Be proud of your dock" (2010-07-01)
===============================================================================
* Bug-fix and Maintenance Release
diff -Nru docky-2.0.5/po/ast.po docky-2.0.6/po/ast.po
diff -Nru docky-2.0.5/po/bg.po docky-2.0.6/po/bg.po
diff -Nru docky-2.0.5/po/bn.po docky-2.0.6/po/bn.po
diff -Nru docky-2.0.5/po/ca.po docky-2.0.6/po/ca.po
diff -Nru docky-2.0.5/po/da.po docky-2.0.6/po/da.po
diff -Nru docky-2.0.5/po/de.po docky-2.0.6/po/de.po
diff -Nru docky-2.0.5/po/el.po docky-2.0.6/po/el.po
diff -Nru docky-2.0.5/po/en_GB.po docky-2.0.6/po/en_GB.po
diff -Nru docky-2.0.5/po/es.po docky-2.0.6/po/es.po
diff -Nru docky-2.0.5/po/et.po docky-2.0.6/po/et.po
diff -Nru docky-2.0.5/po/eu.po docky-2.0.6/po/eu.po
diff -Nru docky-2.0.5/po/fi.po docky-2.0.6/po/fi.po
diff -Nru docky-2.0.5/po/fo.po docky-2.0.6/po/fo.po
diff -Nru docky-2.0.5/po/fr.po docky-2.0.6/po/fr.po
diff -Nru docky-2.0.5/po/gl.po docky-2.0.6/po/gl.po
diff -Nru docky-2.0.5/po/he.po docky-2.0.6/po/he.po
diff -Nru docky-2.0.5/po/hi.po docky-2.0.6/po/hi.po
diff -Nru docky-2.0.5/po/hr.po docky-2.0.6/po/hr.po
diff -Nru docky-2.0.5/po/hu.po docky-2.0.6/po/hu.po
diff -Nru docky-2.0.5/po/id.po docky-2.0.6/po/id.po
diff -Nru docky-2.0.5/po/is.po docky-2.0.6/po/is.po
diff -Nru docky-2.0.5/po/it.po docky-2.0.6/po/it.po
diff -Nru docky-2.0.5/po/ja.po docky-2.0.6/po/ja.po
diff -Nru docky-2.0.5/po/ko.po docky-2.0.6/po/ko.po
diff -Nru docky-2.0.5/po/LINGUAS docky-2.0.6/po/LINGUAS
--- docky-2.0.5/po/LINGUAS 2010-06-26 15:47:36.543229000 +0200
+++ docky-2.0.6/po/LINGUAS 2010-08-26 13:55:33.641031001 +0200
@@ -4,11 +4,15 @@
bg
bn
ca
+da
de
+el
en_GB
es
+et
eu
fi
+fo
fr
gl
he
@@ -20,11 +24,19 @@
it
ja
ko
+lt
+nb
+nl
pl
+pt
pt_BR
ro
ru
+sk
+sl
sv
tr
uk
zh_CN
+zh_HK
+zh_TW
diff -Nru docky-2.0.5/po/lt.po docky-2.0.6/po/lt.po
diff -Nru docky-2.0.5/po/nb.po docky-2.0.6/po/nb.po
diff -Nru docky-2.0.5/po/nl.po docky-2.0.6/po/nl.po
diff -Nru docky-2.0.5/po/pl.po docky-2.0.6/po/pl.po
diff -Nru docky-2.0.5/po/pt_BR.po docky-2.0.6/po/pt_BR.po
diff -Nru docky-2.0.5/po/pt.po docky-2.0.6/po/pt.po
diff -Nru docky-2.0.5/po/ro.po docky-2.0.6/po/ro.po
diff -Nru docky-2.0.5/po/ru.po docky-2.0.6/po/ru.po
diff -Nru docky-2.0.5/po/sk.po docky-2.0.6/po/sk.po
diff -Nru docky-2.0.5/po/sl.po docky-2.0.6/po/sl.po
diff -Nru docky-2.0.5/po/sv.po docky-2.0.6/po/sv.po
diff -Nru docky-2.0.5/po/tr.po docky-2.0.6/po/tr.po
diff -Nru docky-2.0.5/po/uk.po docky-2.0.6/po/uk.po
diff -Nru docky-2.0.5/po/zh_CN.po docky-2.0.6/po/zh_CN.po
diff -Nru docky-2.0.5/po/zh_HK.po docky-2.0.6/po/zh_HK.po
diff -Nru docky-2.0.5/po/zh_TW.po docky-2.0.6/po/zh_TW.po
diff -Nru docky-2.0.5/StandardPlugins/CPUMonitor/src/CPUMonitorDockItem.cs docky-2.0.6/StandardPlugins/CPUMonitor/src/CPUMonitorDockItem.cs
--- docky-2.0.5/StandardPlugins/CPUMonitor/src/CPUMonitorDockItem.cs 2010-06-26 15:47:36.543229000 +0200
+++ docky-2.0.6/StandardPlugins/CPUMonitor/src/CPUMonitorDockItem.cs 2010-08-24 20:52:16.536278996 +0200
@@ -1,5 +1,6 @@
//
-// Copyright (C) 2009 GNOME Do
+// Copyright (C) 2009 Jason Smith, Robert Dyer
+// Copyright (C) 2010 Robert Dyer
//
// 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
@@ -32,15 +33,13 @@
namespace CPUMonitor
{
-
-
public class CPUMonitorDockItem : AbstractDockItem
{
const int UpdateMS = 1000;
const double RadiusPercent = .9;
enum ProcFields {
- User=0, // normal processes executing in user mode
+ User = 0, // normal processes executing in user mode
Nice, // niced processes executing in user mode
System, // processes executing in kernel mode
Idle, // twiddling thunbs
@@ -59,17 +58,13 @@
double CPUUtilization { get; set; }
double MemoryUtilization { get; set; }
- public override string UniqueID ()
- {
- return "CPUMonitor";
- }
+ public override string UniqueID () { return "CPUMonitor"; }
public CPUMonitorDockItem ()
{
regex = new Regex ("\\d+");
- DockServices.System.RunOnThread (() =>
- {
+ DockServices.System.RunOnThread (() => {
while (!disposed) {
UpdateUtilization ();
System.Threading.Thread.Sleep (UpdateMS);
@@ -93,24 +88,25 @@
string cpu_line = reader.ReadLine ();
MatchCollection collection = regex.Matches (cpu_line);
try {
- long usage = Convert.ToInt64 (collection [(int) ProcFields.Idle].Value) +
- Convert.ToInt64 (collection [(int) ProcFields.IRQ].Value) +
- Convert.ToInt64 (collection [(int) ProcFields.Nice].Value) +
- Convert.ToInt64 (collection [(int) ProcFields.SoftIRQ].Value) +
- Convert.ToInt64 (collection [(int) ProcFields.System].Value) +
- Convert.ToInt64 (collection [(int) ProcFields.User].Value);
+ long usage = Convert.ToInt64 (collection [(int) ProcFields.User].Value) +
+ Convert.ToInt64 (collection [(int) ProcFields.Nice].Value) +
+ Convert.ToInt64 (collection [(int) ProcFields.System].Value) +
+ Convert.ToInt64 (collection [(int) ProcFields.Idle].Value) +
+ Convert.ToInt64 (collection [(int) ProcFields.IOWait].Value) +
+ Convert.ToInt64 (collection [(int) ProcFields.IRQ].Value) +
+ Convert.ToInt64 (collection [(int) ProcFields.SoftIRQ].Value);
+ long idle = Convert.ToInt64 (collection [(int) ProcFields.Idle].Value) +
+ Convert.ToInt64 (collection [(int) ProcFields.IOWait].Value);
long usage_diff = usage - last_usage;
- long idle = Convert.ToInt64 (collection [(int) ProcFields.Idle].Value) +
- Convert.ToInt64 (collection [(int) ProcFields.IOWait].Value);
long idle_diff = idle - last_idle;
last_idle = idle;
last_usage = usage;
+
// average it for smoothing
if (usage_diff > 0)
CPUUtilization = Math.Max (0.01, Math.Round (((1 - (idle_diff / (double) usage_diff)) + CPUUtilization) / 2, 2));
-
} catch {
CPUUtilization = 0.01;
}
@@ -146,6 +142,7 @@
Cairo.Color base_color = new Cairo.Color (1, .3, .3, .5).SetHue (120 * (1 - CPUUtilization));
double radius = Math.Max (Math.Min (CPUUtilization * 1.3, 1), .001);
+
// draw underlay
cr.Arc (center, center, center * RadiusPercent, 0, Math.PI * 2);
cr.Color = new Cairo.Color (0, 0, 0, .5);
@@ -179,7 +176,7 @@
cr.Fill ();
lg.Destroy ();
- //draw outer circles
+ // draw outer circles
cr.LineWidth = 1;
cr.Arc (center, center, center * RadiusPercent, 0, Math.PI * 2);
cr.Color = new Cairo.Color (1, 1, 1, .75);
diff -Nru docky-2.0.5/StandardPlugins/GMail/src/GMailAtom.cs docky-2.0.6/StandardPlugins/GMail/src/GMailAtom.cs
--- docky-2.0.5/StandardPlugins/GMail/src/GMailAtom.cs 2010-06-26 15:47:36.543229000 +0200
+++ docky-2.0.6/StandardPlugins/GMail/src/GMailAtom.cs 2010-08-24 20:24:40.556278995 +0200
@@ -153,12 +153,19 @@
if (DockServices.System.UseProxy)
request.Proxy = DockServices.System.Proxy;
- using (HttpWebResponse response = (HttpWebResponse)request.GetResponse ())
+ using (HttpWebResponse response = (HttpWebResponse) request.GetResponse ())
try { } finally {
response.Close ();
}
} catch (WebException e) {
- if (e.Message.IndexOf ("401") != -1) return false;
+ if (e.Message.IndexOf ("401") != -1)
+ Log<GMailAtom>.Error ("Invalid username: {0}", e.Message);
+ else
+ Log<GMailAtom>.Error ("Network error: {0}", e.Message);
+ HttpWebResponse response = (HttpWebResponse) e.Response;
+ Log<GMailAtom>.Debug ("Response status: {0} - {1}", response.StatusCode, response.StatusDescription);
+
+ return false;
} catch (Exception) { }
return true;
@@ -219,8 +226,13 @@
UnreadMessage message = new UnreadMessage ();
message.Topic = HttpUtility.HtmlDecode (item.SelectSingleNode ("atom:title", nsmgr).InnerText);
- message.FromName = HttpUtility.HtmlDecode (item.SelectSingleNode ("atom:author/atom:name", nsmgr).InnerText);
- message.FromEmail = item.SelectSingleNode ("atom:author/atom:email", nsmgr).InnerText;
+ // apparently random mailing lists can have no author information - bug 595530
+ XmlNode from = item.SelectSingleNode ("atom:author/atom:name", nsmgr);
+ if (from != null)
+ message.FromName = HttpUtility.HtmlDecode (from.InnerText);
+ from = item.SelectSingleNode ("atom:author/atom:email", nsmgr);
+ if (from != null)
+ message.FromEmail = from.InnerText;
message.From = message.FromName + " <" + message.FromEmail + ">";
try {
message.SendDate = DateTime.Parse (item.SelectSingleNode ("atom:modified", nsmgr).InnerText);
@@ -256,15 +268,18 @@
Gtk.Application.Invoke (delegate { OnGMailChecked (); });
} catch (ThreadAbortException) {
Log<GMailAtom>.Debug ("Stoping Atom thread");
- } catch (NullReferenceException) {
+ } catch (NullReferenceException e) {
+ Log<GMailAtom>.Debug (e.Message);
Gtk.Application.Invoke (delegate {
OnGMailFailed (Catalog.GetString ("Feed Error"));
});
- } catch (XmlException) {
+ } catch (XmlException e) {
+ Log<GMailAtom>.Error ("Error parsing XML: {0}", e.Message);
Gtk.Application.Invoke (delegate {
OnGMailFailed (Catalog.GetString ("Feed Error"));
});
} catch (WebException e) {
+ Log<GMailAtom>.Error ("Network error: {0}", e.Message);
if (e.Message.IndexOf ("401") != -1)
Gtk.Application.Invoke (delegate {
OnGMailFailed (Catalog.GetString ("Invalid Username"));
@@ -273,12 +288,14 @@
Gtk.Application.Invoke (delegate {
OnGMailFailed (Catalog.GetString ("Network Error"));
});
+ HttpWebResponse response = (HttpWebResponse) e.Response;
+ Log<GMailAtom>.Debug ("Response status: {0} - {1}", response.StatusCode, response.StatusDescription);
} catch (ObjectDisposedException) {
Gtk.Application.Invoke (delegate {
OnGMailFailed (Catalog.GetString ("Network Error"));
});
} catch (Exception e) {
- Log<GMailAtom>.Error (e.ToString ());
+ Log<GMailAtom>.Error (e.Message);
Gtk.Application.Invoke (delegate {
OnGMailFailed (Catalog.GetString ("General Error"));
});
diff -Nru docky-2.0.5/StandardPlugins/GMail/src/GMailItemProvider.cs docky-2.0.6/StandardPlugins/GMail/src/GMailItemProvider.cs
--- docky-2.0.5/StandardPlugins/GMail/src/GMailItemProvider.cs 2010-06-26 15:47:36.543229000 +0200
+++ docky-2.0.6/StandardPlugins/GMail/src/GMailItemProvider.cs 2010-07-06 15:09:46.040627004 +0200
@@ -38,6 +38,8 @@
public override void Dispose ()
{
+ GMailPreferences.LabelsChanged -= HandleLabelsChanged;
+
items.ForEach (adi => (RemoveItem (adi as GMailDockItem)));
}
diff -Nru docky-2.0.5/StandardPlugins/GMail/src/GMailLabel.cs docky-2.0.6/StandardPlugins/GMail/src/GMailLabel.cs
--- docky-2.0.5/StandardPlugins/GMail/src/GMailLabel.cs 2010-06-26 15:47:36.543229000 +0200
+++ docky-2.0.6/StandardPlugins/GMail/src/GMailLabel.cs 2010-07-06 15:06:47.500627002 +0200
@@ -27,23 +27,27 @@
public class GMailLabel : AbstractTileObject
{
-
+ GMailDockItem item;
+
public GMailLabel (string labelName)
{
if (labelName == GMailDockItem.DefaultLabel)
ShowActionButton = false;
Name = labelName;
- GMailDockItem item = GMailItemProvider.items.First (adi => (adi as GMailDockItem).Atom.CurrentLabel == labelName) as GMailDockItem;
+ item = GMailItemProvider.items.First (adi => (adi as GMailDockItem).Atom.CurrentLabel == labelName) as GMailDockItem;
Icon = "gmail";
if (item != null) {
- item.IconUpdated += delegate {
- SetIcon (item);
- };
+ item.IconUpdated += HandleItemIconUpdated;
SetIcon (item);
}
}
+
+ void HandleItemIconUpdated (object sender, EventArgs e)
+ {
+ SetIcon (item);
+ }
void SetIcon (GMailDockItem item)
{
@@ -57,5 +61,13 @@
labels.Remove (Name);
GMailPreferences.Labels = labels.ToArray ();
}
+
+ public override void Dispose ()
+ {
+ if (item != null)
+ item.IconUpdated -= HandleItemIconUpdated;
+
+ base.Dispose ();
+ }
}
}
diff -Nru docky-2.0.5/StandardPlugins/Mounter/src/MountItem.cs docky-2.0.6/StandardPlugins/Mounter/src/MountItem.cs
--- docky-2.0.5/StandardPlugins/Mounter/src/MountItem.cs 2010-06-26 15:47:36.543229000 +0200
+++ docky-2.0.6/StandardPlugins/Mounter/src/MountItem.cs 2010-08-01 10:30:16.085962998 +0200
@@ -36,7 +36,7 @@
public override string UniqueID ()
{
- return "MountItem#" + Mnt.Handle.ToString ();
+ return "MountItem#" + (Mnt.Root != null ? Mnt.Root.Path : Mnt.Handle.ToString ());
}
#endregion
diff -Nru docky-2.0.5/StandardPlugins/RecentDocuments/src/RecentDocumentsItem.cs docky-2.0.6/StandardPlugins/RecentDocuments/src/RecentDocumentsItem.cs
--- docky-2.0.5/StandardPlugins/RecentDocuments/src/RecentDocumentsItem.cs 2010-06-30 10:26:14.750310993 +0200
+++ docky-2.0.6/StandardPlugins/RecentDocuments/src/RecentDocumentsItem.cs 2010-08-01 10:04:57.405963002 +0200
@@ -114,17 +114,19 @@
void UpdateInfo ()
{
lock (RecentDocs) {
- if (RecentDocs.Count() == 0) {
+ if (RecentDocs.Count() == 0)
CurrentFile = null;
- return;
- }
-
- if (CurrentFile == null || RecentDocs.IndexOf (CurrentFile) == -1)
+ else if (CurrentFile != null && RecentDocs.IndexOf (CurrentFile) == -1)
CurrentFile = RecentDocs.First ();
}
- Icon = CurrentFile.Icon;
- HoverText = CurrentFile.HoverText;
+ if (CurrentFile == null) {
+ Icon = "folder-recent;;document-open-recent";
+ HoverText = "Recent Documents";
+ } else {
+ Icon = CurrentFile.Icon;
+ HoverText = CurrentFile.HoverText;
+ }
QueueRedraw ();
}
diff -Nru docky-2.0.5/StandardPlugins/Trash/Resources/Trash.addin.xml docky-2.0.6/StandardPlugins/Trash/Resources/Trash.addin.xml
--- docky-2.0.5/StandardPlugins/Trash/Resources/Trash.addin.xml 2010-07-01 19:05:38.885184002 +0200
+++ docky-2.0.6/StandardPlugins/Trash/Resources/Trash.addin.xml 2010-09-01 08:11:01.007532004 +0200
@@ -3,7 +3,7 @@
namespace="Docky"
version="1.0"
isroot="false"
- defaultEnabled="false"
+ defaultEnabled="true"
name="Trash"
description="Have a look at your trash!"
author="Chris Szikszoy, Robert Dyer"
diff -Nru docky-2.0.5/StandardPlugins/Trash/Resources/Trash.addin.xml.in docky-2.0.6/StandardPlugins/Trash/Resources/Trash.addin.xml.in
--- docky-2.0.5/StandardPlugins/Trash/Resources/Trash.addin.xml.in 2010-06-26 15:47:36.543229000 +0200
+++ docky-2.0.6/StandardPlugins/Trash/Resources/Trash.addin.xml.in 2010-08-24 19:51:15.486278996 +0200
@@ -3,7 +3,7 @@
namespace="Docky"
version="1.0"
isroot="false"
- defaultEnabled="false"
+ defaultEnabled="true"
name="Trash"
description="Have a look at your trash!"
author="Chris Szikszoy, Robert Dyer"
diff -Nru docky-2.0.5/StandardPlugins/Weather/src/Sources/WeatherChannelWeatherSource.cs docky-2.0.6/StandardPlugins/Weather/src/Sources/WeatherChannelWeatherSource.cs
--- docky-2.0.5/StandardPlugins/Weather/src/Sources/WeatherChannelWeatherSource.cs 2010-06-26 15:47:36.543229000 +0200
+++ docky-2.0.6/StandardPlugins/Weather/src/Sources/WeatherChannelWeatherSource.cs 2010-08-24 20:08:06.836278994 +0200
@@ -116,6 +116,7 @@
image_map.Add ("scattered t-storms", "weather-storm");
image_map.Add ("showers", "weather-showers");
image_map.Add ("showers / wind", "weather-showers");
+ image_map.Add ("smoke", "weather-fog");
image_map.Add ("sunny", "weather-clear");
image_map.Add ("t-showers", "weather-storm");
image_map.Add ("t-storms", "weather-storm");
Attachment:
signature.asc
Description: OpenPGP digital signature