cairo-dock-team team mailing list archive
-
cairo-dock-team team
-
Mailing list archive
-
Message #03635
[Merge] lp:~matttbe/cairo-dock-plug-ins/SN-hide-icon into lp:cairo-dock-plug-ins
Matthieu Baerts has proposed merging lp:~matttbe/cairo-dock-plug-ins/SN-hide-icon into lp:cairo-dock-plug-ins.
Requested reviews:
Fabounet (fabounet03)
For more details, see:
https://code.launchpad.net/~matttbe/cairo-dock-plug-ins/SN-hide-icon/+merge/96740
It's just to hide Status-Notifier icon if no application uses it.
--
https://code.launchpad.net/~matttbe/cairo-dock-plug-ins/SN-hide-icon/+merge/96740
Your team Cairo-Dock Team is subscribed to branch lp:cairo-dock-plug-ins.
=== modified file 'Status-Notifier/src/applet-draw.c'
--- Status-Notifier/src/applet-draw.c 2012-01-31 01:01:11 +0000
+++ Status-Notifier/src/applet-draw.c 2012-03-09 10:34:19 +0000
@@ -190,6 +190,11 @@
void cd_satus_notifier_reload_compact_mode (void)
{
cd_debug ("=== %s ()", __func__);
+
+ cd_status_notifier_remove_or_add_icons_if_no_item ();
+ if (myData.bIsHidden)
+ return;
+
// re-compute the grid.
int iPrevSize = myData.iItemSize;
if (myConfig.bResizeIcon)
@@ -317,3 +322,17 @@
}
}
}
+
+void cd_status_notifier_remove_or_add_icons_if_no_item (void)
+{
+ if (g_list_length (myData.pItems) == 0)
+ { // hide the icon if no items in the stack
+ cairo_dock_detach_icon_from_dock (myIcon, myDock);
+ myData.bIsHidden = TRUE;
+ }
+ else if (myData.bIsHidden)
+ {
+ cairo_dock_insert_icon_in_dock (myIcon, myDock, CAIRO_DOCK_ANIMATE_ICON);
+ myData.bIsHidden = FALSE;
+ }
+}
=== modified file 'Status-Notifier/src/applet-init.c'
--- Status-Notifier/src/applet-init.c 2012-01-02 01:37:37 +0000
+++ Status-Notifier/src/applet-init.c 2012-03-09 10:34:19 +0000
@@ -90,11 +90,13 @@
}
}
+ myData.bIsHidden = FALSE;
myData.iDefaultWidth = myIcon->iImageWidth;
myData.iDefaultHeight = myIcon->iImageHeight;
cd_debug ("=== default size: %dx%d", myData.iDefaultWidth, myData.iDefaultHeight);
cd_satus_notifier_launch_service ();
+
CD_APPLET_INIT_END
=== modified file 'Status-Notifier/src/applet-struct.h'
--- Status-Notifier/src/applet-struct.h 2012-03-05 10:27:02 +0000
+++ Status-Notifier/src/applet-struct.h 2012-03-09 10:34:19 +0000
@@ -120,6 +120,7 @@
gdouble fDesktopNameAlpha; // in compact desklet mode, alpha for the currently hovered item title.
gint iDefaultWidth; // in compact mode, initial icon size.
gint iDefaultHeight;
+ gboolean bIsHidden;
} ;