summary refs log tree commit diff stats
path: root/xchat-wdk.patch
diff options
context:
space:
mode:
authorberkeviktor@aol.com <berkeviktor@aol.com>2010-08-14 01:08:29 +0200
committerberkeviktor@aol.com <berkeviktor@aol.com>2010-08-14 01:08:29 +0200
commit2d4f9e3332ffe0c6268c544a73a9e6a4ccbf0f68 (patch)
tree84abb4accec7199385a57979158e7851c048048a /xchat-wdk.patch
parentb9acd4c437f2a4201fada6dd89c18f21a7845150 (diff)
fix for taskbar alerts, thanks for the unknown author and for Khisanth for pointing it out
more info: http://scsys.co.uk:8002/48130 and http://sourceforge.net/tracker/?func=detail&aid=3019734&group_id=239&atid=100239
Diffstat (limited to 'xchat-wdk.patch')
-rw-r--r--xchat-wdk.patch136
1 files changed, 109 insertions, 27 deletions
diff --git a/xchat-wdk.patch b/xchat-wdk.patch
index 1c538ea5..99b9a90a 100644
--- a/xchat-wdk.patch
+++ b/xchat-wdk.patch
@@ -137,7 +137,7 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/plugins/xdcc/xdcc.c xchat-wdk/plugi
  
 diff -ruN --strip-trailing-cr xchat-wdk.orig/src/common/cfgfiles.c xchat-wdk/src/common/cfgfiles.c
 --- xchat-wdk.orig/src/common/cfgfiles.c	2010-08-07 09:14:45 +0200
-+++ xchat-wdk/src/common/cfgfiles.c	2010-08-13 22:38:03 +0200
++++ xchat-wdk/src/common/cfgfiles.c	2010-08-14 01:02:51 +0200
 @@ -17,7 +17,6 @@
   */
  
@@ -183,17 +183,6 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/common/cfgfiles.c xchat-wdk/src
  	prefs.dcctimeout = 180;
  	prefs.dccstalltimeout = 60;
  	prefs.notify_timeout = 15;
-@@ -677,7 +685,10 @@
- 	prefs.mainwindow_save = 1;
- 	prefs.bantype = 2;
- 	prefs.input_balloon_time = 20;
-+	/* taskbar alerts crash xchat-wdk only on x86 */
-+#ifdef _WIN64
- 	prefs.input_flash_priv = prefs.input_flash_hilight = 1;
-+#endif
- 	prefs.input_tray_priv = prefs.input_tray_hilight = 1;
- 	prefs.autodccsend = 2;	/* browse mode */
- #ifdef WIN32
 diff -ruN --strip-trailing-cr xchat-wdk.orig/src/common/chanopt.c xchat-wdk/src/common/chanopt.c
 --- xchat-wdk.orig/src/common/chanopt.c	2008-06-15 06:40:29 +0200
 +++ xchat-wdk/src/common/chanopt.c	2010-08-10 16:29:30 +0200
@@ -739,6 +728,114 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/joind.c xchat-wdk/src/fe
  #include <string.h>
  #include <stdio.h>
  
+diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/maingui.c xchat-wdk/src/fe-gtk/maingui.c
+--- xchat-wdk.orig/src/fe-gtk/maingui.c	2010-05-16 05:20:22 +0200
++++ xchat-wdk/src/fe-gtk/maingui.c	2010-08-14 00:51:14 +0200
+@@ -214,60 +214,10 @@
+ 	away_list = mg_attr_list_create (&colors[COL_AWAY], FALSE);
+ }
+ 
+-#ifdef WIN32
+-#define WINVER 0x0501	/* needed for vc6? */
+-#include <windows.h>
+-#include <gdk/gdkwin32.h>
+-
+-/* Flash the taskbar button on Windows when there's a highlight event. */
+-
+-static void
+-flash_window (GtkWidget *win)
+-{
+-	FLASHWINFO fi;
+-	static HMODULE user = NULL;
+-	static BOOL (*flash) (PFLASHWINFO) = NULL;
+-
+-	if (!user)
+-	{
+-		user = GetModuleHandleA ("USER32");
+-		if (!user)
+-			return;	/* this should never fail */
+-	}
+-
+-	if (!flash)
+-	{
+-		flash = (void *)GetProcAddress (user, "FlashWindowEx");
+-		if (!flash)
+-			return;	/* this fails on NT4.0 and Win95 */
+-	}
+-
+-	fi.cbSize = sizeof (fi);
+-	fi.hwnd = GDK_WINDOW_HWND (win->window);
+-	fi.dwFlags = FLASHW_ALL | FLASHW_TIMERNOFG;
+-	fi.uCount = 0;
+-	fi.dwTimeout = 500;
+-	flash (&fi);
+-	/*FlashWindowEx (&fi);*/
+-}
+-#else
+-
+-#ifdef USE_XLIB
+-#include <gdk/gdkx.h>
+-
+ static void
+ set_window_urgency (GtkWidget *win, gboolean set)
+ {
+-	XWMHints *hints;
+-
+-	hints = XGetWMHints(GDK_WINDOW_XDISPLAY(win->window), GDK_WINDOW_XWINDOW(win->window));
+-	if (set)
+-		hints->flags |= XUrgencyHint;
+-	else
+-		hints->flags &= ~XUrgencyHint;
+-	XSetWMHints(GDK_WINDOW_XDISPLAY(win->window),
+-	            GDK_WINDOW_XWINDOW(win->window), hints);
+-	XFree(hints);
++	gtk_window_set_urgency_hint (GTK_WINDOW (win), set);
+ }
+ 
+ static void
+@@ -281,18 +231,14 @@
+ {
+ 	set_window_urgency (win, FALSE);
+ }
+-#endif
+-#endif
+ 
+ /* flash the taskbar button */
+ 
+ void
+ fe_flash_window (session *sess)
+ {
+-#if defined(WIN32) || defined(USE_XLIB)
+ 	if (fe_gui_info (sess, 0) != 1)	/* only do it if not focused */
+ 		flash_window (sess->gui->window);
+-#endif
+ }
+ 
+ /* set a tab plain, red, light-red, or blue */
+@@ -2957,11 +2903,7 @@
+ 		gtk_xtext_check_marker_visibility (GTK_XTEXT (current_sess->gui->xtext));
+ 		plugin_emit_dummy_print (current_sess, "Focus Window");
+ 	}
+-#ifndef WIN32
+-#ifdef USE_XLIB
+ 	unflash_window (GTK_WIDGET (win));
+-#endif
+-#endif
+ 	return FALSE;
+ }
+ 
+@@ -2972,11 +2914,7 @@
+ 	if (!sess->server->server_session)
+ 		sess->server->server_session = sess;
+ 	gtk_xtext_check_marker_visibility(GTK_XTEXT (current_sess->gui->xtext));
+-#ifndef WIN32
+-#ifdef USE_XLIB
+ 	unflash_window (GTK_WIDGET (win));
+-#endif
+-#endif
+ 	plugin_emit_dummy_print (sess, "Focus Window");
+ 	return FALSE;
+ }
 diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/menu.c xchat-wdk/src/fe-gtk/menu.c
 --- xchat-wdk.orig/src/fe-gtk/menu.c	2010-05-16 06:24:24 +0200
 +++ xchat-wdk/src/fe-gtk/menu.c	2010-08-10 16:29:30 +0200
@@ -870,21 +967,6 @@ diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/rawlog.c xchat-wdk/src/f
  #include <stdlib.h>
  
  #include "fe-gtk.h"
-diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/setup.c xchat-wdk/src/fe-gtk/setup.c
---- xchat-wdk.orig/src/fe-gtk/setup.c	2008-02-08 10:04:45 +0100
-+++ xchat-wdk/src/fe-gtk/setup.c	2010-08-10 16:29:30 +0200
-@@ -333,7 +333,11 @@
- 	{ST_3OGGLE, N_("Show tray balloons on:"), 0, 0, (void *)balloonlist, 0},
- #endif
- 	{ST_3OGGLE, N_("Blink tray icon on:"), 0, 0, (void *)trayblinklist, 0},
-+
-+	/* taskbar alerts crash xchat-wdk only on x86 */
-+#ifdef _WIN64
- 	{ST_3OGGLE, N_("Blink task bar on:"), 0, 0, (void *)taskbarlist, 0},
-+#endif
- 	{ST_3OGGLE, N_("Make a beep sound on:"), 0, 0, (void *)beeplist, 0},
- 
- 	{ST_TOGGLE,	N_("Enable system tray icon"), P_OFFINTNL(gui_tray), 0, 0, 0},
 diff -ruN --strip-trailing-cr xchat-wdk.orig/src/fe-gtk/sexy-spell-entry.c xchat-wdk/src/fe-gtk/sexy-spell-entry.c
 --- xchat-wdk.orig/src/fe-gtk/sexy-spell-entry.c	2006-07-17 07:51:02 +0200
 +++ xchat-wdk/src/fe-gtk/sexy-spell-entry.c	2010-08-10 16:29:30 +0200