diff --git a/ChangeLog b/ChangeLog index fe1e882047..765214b10e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-08-01 Tor Lillqvist + + * gdk/win32/gdkwindow-win32.c (gdk_window_set_urgency_hint): + Implement using FlashWindowEx(). (#309423) + 2005-07-30 Hans Breuer * gtk/makefile.msc.in tests/makefile.msc : updated diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index fe1e882047..765214b10e 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +2005-08-01 Tor Lillqvist + + * gdk/win32/gdkwindow-win32.c (gdk_window_set_urgency_hint): + Implement using FlashWindowEx(). (#309423) + 2005-07-30 Hans Breuer * gtk/makefile.msc.in tests/makefile.msc : updated diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index fe1e882047..765214b10e 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +2005-08-01 Tor Lillqvist + + * gdk/win32/gdkwindow-win32.c (gdk_window_set_urgency_hint): + Implement using FlashWindowEx(). (#309423) + 2005-07-30 Hans Breuer * gtk/makefile.msc.in tests/makefile.msc : updated diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c index 6022d96ead..6304096bb4 100644 --- a/gdk/win32/gdkwindow-win32.c +++ b/gdk/win32/gdkwindow-win32.c @@ -29,6 +29,9 @@ #include #include +#define _WIN32_WINNT 0x0500 +#define WINVER _WIN32_WINNT + #include "gdk.h" /* gdk_rectangle_intersect */ #include "gdkevents.h" #include "gdkpixmap.h" @@ -1571,13 +1574,24 @@ void gdk_window_set_urgency_hint (GdkWindow *window, gboolean urgent) { + FLASHWINFO flashwinfo; + g_return_if_fail (GDK_IS_WINDOW (window)); g_return_if_fail (GDK_WINDOW_TYPE (window) != GDK_WINDOW_CHILD); if (GDK_WINDOW_DESTROYED (window)) return; - g_warning ("gdk_window_set_urgency_hint() not implemented yet."); + flashwinfo.cbSize = sizeof (flashwinfo); + flashwinfo.hwnd = GDK_WINDOW_HWND (window); + if (urgent) + flashwinfo.dwFlags = FLASHW_ALL | FLASHW_TIMER; + else + flashwinfo.dwFlags = FLASHW_STOP; + flashwinfo.uCount = 0; + flashwinfo.dwTimeout = 0; + + FlashWindowEx (&flashwinfo); } void