[Gaim-gtk-bugs] [ gaim-gtk-bugs-795352 ] Windows not raised properly on Win32

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[Gaim-gtk-bugs] [ gaim-gtk-bugs-795352 ] Windows not raised properly on Win32

SourceForge.net
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gaim-gtk-bugs
Loading...