|
View:
New views
1 Messages
—
Rating Filter:
Alert me
|
|
|
[Gaim-gtk-bugs] [ gaim-gtk-bugs-795352 ] Windows not raised properly on Win32
by SourceForge.net
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message gtk-bugs item #795352, was opened at 2003-08-26 09:33
Message generated for change (Settings changed) made by lschiere You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=680472&aid=795352&group_id=235 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: gtk bug #157257 >Status: Closed Resolution: None Priority: 5 Private: No Submitted By: Arkaidy Belousov (arkadiyb) Assigned to: Nobody/Anonymous (nobody) Summary: Windows not raised properly on Win32 Initial Comment: This may be a GTK bug. I have "Raise Window" checked in the preferences. When a message arrives, the conversation window raises above other GTK windows, but it stays under native windows. The title bar blinks, as it should. ---------------------------------------------------------------------- Comment By: Arkaidy Belousov (arkadiyb) Date: 2005-02-16 11:18 Message: Logged In: YES user_id=852560 Another note - when taskbar is set to auto-hide, it actually raises the task bar and blinks, which is the correct behavior. However, as stated before, when taskbar is permanenmtly on screen, nothing happens. I think it should be blinking... ---------------------------------------------------------------------- Comment By: Arkaidy Belousov (arkadiyb) Date: 2004-11-03 16:24 Message: Logged In: YES user_id=852560 I submited a patch for gdk_window_raise in GDK library: 1420c1420,1443 < API_CALL (BringWindowToTop, (GDK_WINDOW_HWND (window))); --- > > // API_CALL (BringWindowToTop, (GDK_WINDOW_HWND (window))); the > // above call only brings us above other background windows, but > // not on top of foreground windows - see documentation for > // SetForegroundWindow call and for SetWindowPos call (read the > // remarks for SetWindowPos very carefully) > // > // Instead of the above call, we make two calls: one to make the > // window topmost, one to lower it down to non-topmost > // state. This brings us exactly where we wanted to be, on top > // of all non-topmost windows, without grabbing focus or > // foreground status. > > API_CALL (SetWindowPos, (GDK_WINDOW_HWND (window), > HWND_TOPMOST, 0,0,0,0, > SWP_NOACTIVATE | SWP_NOMOVE | > SWP_NOSIZE | SWP_SHOWWINDOW | > SWP_NOSENDCHANGING )); > > API_CALL (SetWindowPos, (GDK_WINDOW_HWND (window), > HWND_NOTOPMOST, 0,0,0,0, > SWP_NOACTIVATE | SWP_NOMOVE | > SWP_NOSIZE)); > Can we lobby for this patch to be admitted? ---------------------------------------------------------------------- Comment By: Arkaidy Belousov (arkadiyb) Date: 2004-11-03 12:27 Message: Logged In: YES user_id=852560 Added bug 157257 in Gnome Bugzilla ---------------------------------------------------------------------- Comment By: Arkaidy Belousov (arkadiyb) Date: 2004-11-03 11:41 Message: Logged In: YES user_id=852560 OK, so I went and recompiled GAIM, and recompiled GDK (not GTK, though - GTK is a much harder nut to crack). I traced the raising of windows to the Windows API call. And that call does not work. No way no how. The end result of my investigation is a 60-lines GTK sample that demonstrates the brokennes independently of GAIM. I'll try to submit it to the GTK authors. Any tips on how to doit would be appreciated. Or may be someone can submit the code for me... Here is the code: <pre> #include <gtk/gtk.h> #include <glib.h> #include <gdk/gdk.h> GtkWidget *windowBase, *windowTop; GdkColor red, blue; gboolean raiseOnTimer(gpointer data) { static int colorChoice = 0; GdkColor *color = colorChoice ? &red : &blue; colorChoice = !colorChoice; gdk_window_raise(windowTop->window); gtk_widget_modify_bg (windowTop, GTK_STATE_NORMAL, color); return 1; } int main (int argc, char **argv) { GdkColormap *cmap; gtk_init (&argc, &argv); cmap = gdk_colormap_get_system (); red.red = 0xffff; red.green = 0; red.blue = 0; gdk_color_alloc (cmap, &red); blue.red = 0; blue.green = 0; blue.blue = 0xffff; gdk_color_alloc (cmap, &blue); windowBase = gtk_window_new (GTK_WINDOW_TOPLEVEL); windowTop = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title((GtkWindow *)windowBase, "testRaise base window"); gtk_window_set_title((GtkWindow *)windowTop, "testRaise top window"); g_timeout_add(10000, raiseOnTimer, NULL); gtk_widget_show(windowBase); gtk_widget_show(windowTop); gtk_main(); return 0; } </pre> ---------------------------------------------------------------------- Comment By: Arkaidy Belousov (arkadiyb) Date: 2004-10-11 12:37 Message: Logged In: YES user_id=852560 THe problem is back with 1.0.1 (actually, it returned in 1.0.0). I do have the version of GTK that comes with 1.0.1 (Keep in mind, for testing this you must not have any AIM windows on top - placing buddy list or ticker in a toolbar makes the problem go away) ---------------------------------------------------------------------- Comment By: Arkaidy Belousov (arkadiyb) Date: 2004-08-10 15:18 Message: Logged In: YES user_id=852560 Seems to be fixed in 0.81 Thank you very much. ---------------------------------------------------------------------- Comment By: Dave West (kat) Date: 2004-07-25 19:14 Message: Logged In: YES user_id=150353 Under 0.80 still does not raise above native windows. ---------------------------------------------------------------------- Comment By: Arkaidy Belousov (arkadiyb) Date: 2004-04-07 17:04 Message: Logged In: YES user_id=852560 Another note: when raising of windows worked, did you have a docked buddy list that was always on top? That keeps a GTK window in topmost position, and raising the IM window works. ---------------------------------------------------------------------- Comment By: Arkaidy Belousov (arkadiyb) Date: 2004-04-07 11:43 Message: Logged In: YES user_id=852560 It still seems to be broken on Win 2000 SP4 GAIM 0.76 released with GTK rev. c If somebody helped me with setting up a build environment, I'd be glad to investigate... ---------------------------------------------------------------------- Comment By: Daniel Atallah (datallah) Date: 2004-03-16 10:37 Message: Logged In: YES user_id=325843 This seems to work fine in 0.76cvs under W2KSP3. It could still be a GTK+ bug that only happens in certain situations. But it works for me. ---------------------------------------------------------------------- Comment By: jack senechal (jwiz) Date: 2004-02-19 14:34 Message: Logged In: YES user_id=371448 As of Gaim .75 this is still an issue... if one window of GAIM is active, others will raise properly, even above non-gtk windows. However if no GAIM windows are currently focused, windows do not get raised properly. In this case the task bar sometimes blinks but sometimes doesn't. Wouldn't be a big problem except that I miss incoming messages when I have the sound turned off! I'd like to be able to rely on visual notification. ---------------------------------------------------------------------- Comment By: Arkaidy Belousov (arkadiyb) Date: 2004-02-19 11:29 Message: Logged In: YES user_id=852560 Gtk rev b is out - still a problem... Gaim 0.74 ---------------------------------------------------------------------- Comment By: Arkaidy Belousov (arkadiyb) Date: 2003-08-27 14:24 Message: Logged In: YES user_id=852560 GAIM version 0.67 ---------------------------------------------------------------------- Comment By: Luke Schierer (lschiere) Date: 2003-08-26 09:48 Message: Logged In: YES user_id=28833 what version of gaim? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=680472&aid=795352&group_id=235 ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Gaim-gtk-bugs mailing list Gaim-gtk-bugs@... https://lists.sourceforge.net/lists/listinfo/gaim-gtk-bugs |
| Free embeddable forum powered by Nabble | Forum Help |