changeset 30111:34af082d702e

Add a configure option --enable-trayicon-compat which installs tray icons into a directory compatible with older versions of hicolor-icon-theme. Use this option on distros that don't have a new enough copy. If you actually have a new enough copy, this option should not have any adverse effects. Fixes #11846.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Fri, 28 May 2010 06:14:35 +0000
parents 95d2b6fc228a
children 0a3490f24e2b
files ChangeLog configure.ac pidgin/pixmaps/Makefile.am pidgin/pixmaps/tray/hicolor/index.theme
diffstat 4 files changed, 60 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri May 28 04:26:39 2010 +0000
+++ b/ChangeLog	Fri May 28 06:14:35 2010 +0000
@@ -3,6 +3,9 @@
 version 2.7.1 (??/??/????):
 	General:
 	* Build fixes on OpenSolaris.  (Brian Lu)
+	* Add configure option --enable-trayicon-compat which installs tray
+	  icons into directories that are compatible with older versions of
+	  hicolor-icon-theme (0.9).
 
 	Pidgin:
 	* Restore the tray icon's blinking functionality.
--- a/configure.ac	Fri May 28 04:26:39 2010 +0000
+++ b/configure.ac	Fri May 28 06:14:35 2010 +0000
@@ -2467,6 +2467,13 @@
 AM_CONDITIONAL(INSTALL_PIXMAPS, test "x$enable_pixmaps" = "xyes")
 
 dnl #######################################################################
+dnl # Tweak status tray icon installation directory
+dnl #######################################################################
+AC_ARG_ENABLE(trayicon-compat, AC_HELP_STRING([--enable-trayicon-compat], [install tray icons in location compatible with older releases of hicolor-icon-theme]), enable_traycompat="$enableval", enable_traycompat=no)
+
+AM_CONDITIONAL(ENABLE_TRAYCOMPAT, test "x$enable_traycompat" = "xyes")
+
+dnl #######################################################################
 dnl # Check for Doxygen and dot (part of GraphViz)
 dnl #######################################################################
 AC_ARG_ENABLE(doxygen,
@@ -2635,6 +2642,7 @@
 echo Use external libzephyr........ : $zephyr
 echo Use external libgadu.......... : $gadu_libs
 echo Install pixmaps............... : $enable_pixmaps
+echo Old tray icon compatibility... : $enable_traycompat
 echo Install translations.......... : $enable_i18n
 echo Has you....................... : yes
 echo
--- a/pidgin/pixmaps/Makefile.am	Fri May 28 04:26:39 2010 +0000
+++ b/pidgin/pixmaps/Makefile.am	Fri May 28 06:14:35 2010 +0000
@@ -587,11 +587,32 @@
 		$(TOOLBAR_32) \
 		$(TOOLBAR_48) \
 		$(TRAY_THEME) \
+		$(TRAY_16_ICO)
+if ENABLE_TRAYCOMPAT
+# Install in a location compatible with hicolor-icon-theme 0.9
+
+pidginpixmaptray16dir = $(datadir)/pixmaps/pidgin/tray/hicolor/16x16/actions
+dist_pidginpixmaptray16_DATA = $(TRAY_16)
+
+pidginpixmaptray22dir = $(datadir)/pixmaps/pidgin/tray/hicolor/22x22/actions
+dist_pidginpixmaptray22_DATA = $(TRAY_22)
+
+pidginpixmaptray32dir = $(datadir)/pixmaps/pidgin/tray/hicolor/32x32/actions
+dist_pidginpixmaptray32_DATA = $(TRAY_32)
+
+pidginpixmaptray48dir = $(datadir)/pixmaps/pidgin/tray/hicolor/48x48/actions
+dist_pidginpixmaptray48_DATA = $(TRAY_48)
+
+else
+# Install in the "correct" locations
+
+nobase_dist_pidginpixmap_DATA += \
 		$(TRAY_16) \
 		$(TRAY_16_ICO) \
 		$(TRAY_22) \
 		$(TRAY_32) \
 		$(TRAY_48)
+endif
 
 nobase_dist_pidginicons_DATA = \
 		$(ICONS_16) \
--- a/pidgin/pixmaps/tray/hicolor/index.theme	Fri May 28 04:26:39 2010 +0000
+++ b/pidgin/pixmaps/tray/hicolor/index.theme	Fri May 28 06:14:35 2010 +0000
@@ -2,28 +2,55 @@
 Name=Pidgin
 Comment=Icon theme for Pidgin tray icons
 Hidden=True
-Directories=16x16/status,22x22/status,32x32/status,48x48/status,scalable/status
+Directories=16x16/actions,16x16/status,22x22/actions,22x22/status,32x32/actions,32x32/status,48x48/actions,48x48/status,scalable/actions,scalable/status
+
+[16x16/actions]
+Size=16
+Context=Actions
+Type=Threshold
 
 [16x16/status]
 Size=16
 Context=Status
 Type=Threshold
 
+[22x22/actions]
+Size=22
+Context=Actions
+Type=Threshold
+
 [22x22/status]
 Size=22
 Context=Status
 Type=Threshold
 
+[32x32/actions]
+Size=32
+Context=Actions
+Type=Threshold
+
 [32x32/status]
 Size=32
 Context=Status
 Type=Threshold
 
+[48x48/actions]
+Size=48
+Context=Actions
+Type=Threshold
+
 [48x48/status]
 Size=48
 Context=Status
 Type=Threshold
 
+[scalable/actions]
+MinSize=1
+Size=128
+MaxSize=256
+Context=Actions
+Type=Scalable
+
 [scalable/status]
 MinSize=1
 Size=128