gaim/gaim

Parents 3b74ab4f531d
Children bca297b01c96
It turns out that Windows 2000 and ME will load icons with a greater color depth than 4 bits, but will only display them in 4-bit color. This is very ugly, so the new icons will only be used for Windows XP and newer.
--- a/ChangeLog.win32 Sun Jan 16 19:32:32 2005 -0500
+++ b/ChangeLog.win32 Sun Jan 16 20:25:13 2005 -0500
@@ -1,5 +1,5 @@
version 1.1.2:
- * Much prettier System Tray icons
+ * Much prettier System Tray icons for Windows XP and greater
(Thanks Jérôme Poulin and Alex Converse)
version 1.1.1 (12/28/2004):
--- a/pixmaps/Makefile.am Sun Jan 16 19:32:32 2005 -0500
+++ b/pixmaps/Makefile.am Sun Jan 16 20:25:13 2005 -0500
@@ -15,7 +15,7 @@
gaim_info.png \
gaim_question.png \
gaim_warning.png \
- info.png \
+ info.png \
insert-image-small.png \
insert-link-small.png \
insert-smiley-small.png \
@@ -46,11 +46,16 @@
gaim_away.ico \
gaim_offline.ico \
gaim_16.ico \
+ gaim_4bit_16.ico \
gaim_away_16.ico \
+ gaim_away_4bit_16.ico \
gaim_blank_4bit_16.ico \
gaim_msgpend_16.ico \
+ gaim_msgpend_4bit_16.ico \
gaim_msgunread_16.ico \
- gaim_offline_16.ico
+ gaim_msgunread_4bit_16.ico \
+ gaim_offline_16.ico \
+ gaim_offline_4bit_16.ico
gaimbuttonpixdir = $(datadir)/pixmaps/gaim/buttons
Binary file pixmaps/gaim_4bit_16.ico has changed
Binary file pixmaps/gaim_away_4bit_16.ico has changed
Binary file pixmaps/gaim_msgpend_4bit_16.ico has changed
Binary file pixmaps/gaim_msgunread_4bit_16.ico has changed
Binary file pixmaps/gaim_offline_4bit_16.ico has changed
--- a/plugins/docklet/docklet-win32.c Sun Jan 16 19:32:32 2005 -0500
+++ b/plugins/docklet/docklet-win32.c Sun Jan 16 20:25:13 2005 -0500
@@ -192,15 +192,31 @@
}
static void wgaim_tray_create() {
+ OSVERSIONINFO osinfo;
/* dummy window to process systray messages */
systray_hwnd = systray_create_hiddenwin();
- /* Load icons, and init systray notify icon */
- sysicon_disconn = (HICON)LoadImage(wgaim_hinstance(), MAKEINTRESOURCE(GAIM_OFFLINE_TRAY_ICON), IMAGE_ICON, 16, 16, 0);
- sysicon_conn = (HICON)LoadImage(wgaim_hinstance(), MAKEINTRESOURCE(GAIM_TRAY_ICON), IMAGE_ICON, 16, 16, 0);
- sysicon_away = (HICON)LoadImage(wgaim_hinstance(), MAKEINTRESOURCE(GAIM_AWAY_TRAY_ICON), IMAGE_ICON, 16, 16, 0);
- sysicon_pend = (HICON)LoadImage(wgaim_hinstance(), MAKEINTRESOURCE(GAIM_PEND_TRAY_ICON), IMAGE_ICON, 16, 16, 0);
- sysicon_awypend = (HICON)LoadImage(wgaim_hinstance(), MAKEINTRESOURCE(GAIM_AWAYPEND_TRAY_ICON), IMAGE_ICON, 16, 16, 0);
+ osinfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+ GetVersionEx(&osinfo);
+
+ /* Load icons, and init systray notify icon
+ * NOTE: Windows > XP only supports displaying 4-bit images in the Systray,
+ * 2K and ME will use the highest color depth that the desktop will support,
+ * but will scale it back to 4-bits for display.
+ * That is why we use custom 4-bit icons for pre XP Windowses */
+ if (osinfo.dwMajorVersion == 5 && osinfo.dwMinorVersion > 0) {
+ sysicon_disconn = (HICON)LoadImage(wgaim_hinstance(), MAKEINTRESOURCE(GAIM_OFFLINE_TRAY_ICON), IMAGE_ICON, 16, 16, 0);
+ sysicon_conn = (HICON)LoadImage(wgaim_hinstance(), MAKEINTRESOURCE(GAIM_TRAY_ICON), IMAGE_ICON, 16, 16, 0);
+ sysicon_away = (HICON)LoadImage(wgaim_hinstance(), MAKEINTRESOURCE(GAIM_AWAY_TRAY_ICON), IMAGE_ICON, 16, 16, 0);
+ sysicon_pend = (HICON)LoadImage(wgaim_hinstance(), MAKEINTRESOURCE(GAIM_PEND_TRAY_ICON), IMAGE_ICON, 16, 16, 0);
+ sysicon_awypend = (HICON)LoadImage(wgaim_hinstance(), MAKEINTRESOURCE(GAIM_AWAYPEND_TRAY_ICON), IMAGE_ICON, 16, 16, 0);
+ } else {
+ sysicon_disconn = (HICON)LoadImage(wgaim_hinstance(), MAKEINTRESOURCE(GAIM_OFFLINE_TRAY_ICON_4BIT), IMAGE_ICON, 16, 16, 0);
+ sysicon_conn = (HICON)LoadImage(wgaim_hinstance(), MAKEINTRESOURCE(GAIM_TRAY_ICON_4BIT), IMAGE_ICON, 16, 16, 0);
+ sysicon_away = (HICON)LoadImage(wgaim_hinstance(), MAKEINTRESOURCE(GAIM_AWAY_TRAY_ICON_4BIT), IMAGE_ICON, 16, 16, 0);
+ sysicon_pend = (HICON)LoadImage(wgaim_hinstance(), MAKEINTRESOURCE(GAIM_PEND_TRAY_ICON_4BIT), IMAGE_ICON, 16, 16, 0);
+ sysicon_awypend = (HICON)LoadImage(wgaim_hinstance(), MAKEINTRESOURCE(GAIM_AWAYPEND_TRAY_ICON_4BIT), IMAGE_ICON, 16, 16, 0);
+ }
sysicon_blank = (HICON)LoadImage(wgaim_hinstance(), MAKEINTRESOURCE(GAIM_BLANK_TRAY_ICON), IMAGE_ICON, 16, 16, 0);
/* Create icon in systray */
--- a/src/win32/gaimrc.rc Sun Jan 16 19:32:32 2005 -0500
+++ b/src/win32/gaimrc.rc Sun Jan 16 20:25:13 2005 -0500
@@ -1,9 +1,14 @@
#include "resource.h"
-GAIM_ICON ICON "../pixmaps/gaim.ico"
-GAIM_TRAY_ICON ICON "../pixmaps/gaim_16.ico"
-GAIM_OFFLINE_TRAY_ICON ICON "../pixmaps/gaim_offline_16.ico"
-GAIM_AWAY_TRAY_ICON ICON "../pixmaps/gaim_away_16.ico"
-GAIM_PEND_TRAY_ICON ICON "../pixmaps/gaim_msgunread_16.ico"
-GAIM_AWAYPEND_TRAY_ICON ICON "../pixmaps/gaim_msgpend_16.ico"
-GAIM_BLANK_TRAY_ICON ICON "../pixmaps/gaim_blank_4bit_16.ico"
+GAIM_ICON ICON "../pixmaps/gaim.ico"
+GAIM_TRAY_ICON ICON "../pixmaps/gaim_16.ico"
+GAIM_OFFLINE_TRAY_ICON ICON "../pixmaps/gaim_offline_16.ico"
+GAIM_AWAY_TRAY_ICON ICON "../pixmaps/gaim_away_16.ico"
+GAIM_PEND_TRAY_ICON ICON "../pixmaps/gaim_msgunread_16.ico"
+GAIM_AWAYPEND_TRAY_ICON ICON "../pixmaps/gaim_msgpend_16.ico"
+GAIM_BLANK_TRAY_ICON ICON "../pixmaps/gaim_blank_4bit_16.ico"
+GAIM_TRAY_ICON_4BIT ICON "../pixmaps/gaim_4bit_16.ico"
+GAIM_OFFLINE_TRAY_ICON_4BIT ICON "../pixmaps/gaim_offline_4bit_16.ico"
+GAIM_AWAY_TRAY_ICON_4BIT ICON "../pixmaps/gaim_away_4bit_16.ico"
+GAIM_PEND_TRAY_ICON_4BIT ICON "../pixmaps/gaim_msgunread_4bit_16.ico"
+GAIM_AWAYPEND_TRAY_ICON_4BIT ICON "../pixmaps/gaim_msgpend_4bit_16.ico"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/win32/resource.h Sun Jan 16 20:25:13 2005 -0500
@@ -0,0 +1,14 @@
+#define GAIM_ICON 104
+#define GAIM_OFFLINE_ICON 105
+#define GAIM_AWAY_ICON 106
+#define GAIM_TRAY_ICON 107
+#define GAIM_OFFLINE_TRAY_ICON 108
+#define GAIM_AWAY_TRAY_ICON 109
+#define GAIM_PEND_TRAY_ICON 110
+#define GAIM_AWAYPEND_TRAY_ICON 111
+#define GAIM_BLANK_TRAY_ICON 112
+#define GAIM_TRAY_ICON_4BIT 113
+#define GAIM_OFFLINE_TRAY_ICON_4BIT 114
+#define GAIM_AWAY_TRAY_ICON_4BIT 115
+#define GAIM_PEND_TRAY_ICON_4BIT 116
+#define GAIM_AWAYPEND_TRAY_ICON_4BIT 117