After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 756202 - on wayland, gtk-window-present does not raise the window
on wayland, gtk-window-present does not raise the window
Status: RESOLVED DUPLICATE of bug 766284
Product: gnome-shell
Classification: Core
Component: window-management
3.24.x
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks: WaylandRelated
 
 
Reported: 2015-10-07 20:07 UTC by Sri Ramkrishna
Modified: 2017-08-26 20:21 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sri Ramkrishna 2015-10-07 20:07:24 UTC
When using gnome-builder, if I were to create a new project while in an existing one, gnome-builder creates a new window underneath the present one.  The gtk call was gtk-window-present which docs say should raise the window.  Unfortunately this doesn't happen in Wayland.  I verified that the correct behavior happens under X.
Comment 1 André Klapper 2015-10-07 21:48:54 UTC
Sri: Setting the Version field is generally welcome.
Comment 2 Sri Ramkrishna 2015-10-08 01:10:50 UTC
Done.  My apologies.
Comment 3 Michael Gratton 2015-10-19 22:56:29 UTC
This has a reasonably broad impact in general use - clicking links in an email doesn't raise the Ephy window, Send To in Nautilus doesn't raise the compose window, etc.
Comment 4 Owen Taylor 2015-10-20 13:42:43 UTC
If you look at the GTK+ sources:

static void
gdk_window_wayland_raise (GdkWindow *window)
{
}

static void
gdk_wayland_window_focus (GdkWindow *window,
                          guint32    timestamp)
{
}

So this requires xdg-shell additions.
Comment 5 Cédric Bellegarde 2017-04-13 13:21:33 UTC
Wayland backend is now default in GNOME and user experience is always broken due to this bug. This really needs to be fixed!
Comment 6 Daniel Boles 2017-04-20 12:13:23 UTC
(In reply to Cédric Bellegarde from comment #5)
> Wayland backend is now default in GNOME and user experience is always broken
> due to this bug. This really needs to be fixed!

While I agree this is bad - which backend is default is a function of your distro and how that sets things up by default, not GNOME as a whole.
Comment 7 Florian Müllner 2017-04-20 12:56:54 UTC
(In reply to Daniel Boles from comment #6)
> While I agree this is bad - which backend is default is a function of your
> distro and how that sets things up by default, not GNOME as a whole.

Well, if a distro uses upstream unmodified, it will default to the wayland session.

That said, comment #4 no longer holds - there *is* now protocol to present a window on wayland, and GTK+ does implement it, but it is not always working (see dup'ed report).

*** This bug has been marked as a duplicate of bug 766284 ***
Comment 8 Daniel Boles 2017-04-20 16:15:57 UTC
(In reply to Florian Müllner from comment #7)
> That said, comment #4 no longer holds - there *is* now protocol to present a
> window on wayland, and GTK+ does implement it, but it is not always working
> (see dup'ed report).

I assumed that because raise() [and lower()] is not implemented, that ultimately present() could not do much useful. But maybe I'm wrong.
Comment 9 Florian Müllner 2017-04-20 17:16:51 UTC
(In reply to Daniel Boles from comment #8)
> I assumed that because raise() [and lower()] is not implemented, that
> ultimately present() could not do much useful. But maybe I'm wrong.

https://git.gnome.org//browse/gtk+/tree/gtk/gtkwindow.c#n9491 uses focus(), not raise().