Bug#512401: general: Java, Tk and Tkinter applications broken in Metacity window manager
Jonathan Nieder
jrnieder at gmail.com
Sun May 29 04:20:44 UTC 2011
forcemerge 340725 512401
quit
Hi Miguel,
Miguel Filgueiras wrote:
> Applications implemented in Java, in Tcl/Tk and in Python using Tkinter
> fail to raise their own toplevel windows when working under the Metacity
> window manager.
[...]
> These tests create 3 windows each with two buttons for raising the other
> two using the standard ways: tofront method in Java, raise command in
> Tcl/Tk, tk_raise method in Python+Tkinter. To reproduce the bug, run
> each program under Metacity, move the windows so that they partially
> overlap the others and then try to use the buttons. The Java program
> only changes the focus, while the other two programs do nothing at all.
> Under other window managers (kwin, sawfish, wmaker, fvwm2) all of them
> work as expected.
This looks like the same bug as <http://bugs.debian.org/340725>, so
I'm merging them optimistically.
The good news is, upstream[1] seems to have a fix:
| Allow explicit raises from same client, not just same app
|
| Here's a patch that takes the approach I proposed. As compared to
| Olivier's patch:
|
| - It works even for clients that don't set WM_CLIENT_LEADER
| (WM_CLIENT_LEADER will only be set for apps that support session
| management.)
|
| - It affects only this particular check and not all use of
| meta_window_same_application(); this means that it won't cause
| regressions for applications that have intentionally split themselves
| into mutliple separate window groups.
|
| (For this particular case, we can assume that an application
| sophisticated enough to intentionally use multiple window groups is
| either not going to XRaiseWindow(), or is only going to
| XRaiseWindow() when appropriate; there's no point in trying to keep
| such an application from stepping on its *own* toes.)
If you find a chance to test the patch, that would be excellent. Thanks
for reporting it.
Regards,
Jonathan
[1] https://bugzilla.gnome.org/show_bug.cgi?id=567528
More information about the pkg-gnome-maintainers
mailing list