Inconsistency between gtk_window_present() on GTK 3 and GTK 4
Currently, we have an inconsistency with how gtk_window_present()
is handled in GTK 3 and GTK 4 with regards to Wayland.
If you create a new GTK 3 application in Builder using the "Legacy" template, you can run the app and move a window to a new workspace. If you call gtk_window_present()
on that window then GNOME Shell will provide you a notification that the application is ready.
However, if you use Builder's GTK 4 template (basically the same thing but GTK 4), performing the same action will not get you a GNOME Shell notification of any kind.
This is problematic for situations like gnome-text-editor#169 where we need some external notification that the file was opened from Nautilus.
Of course, it'd be better to have workspace APIs so that we could know when to create a new window, but having this work consistently with how it does in GTK 3 would be a bare minimum we need for shipping gnome-text-editor in GNOME 42.
I assume some things have changed in terms of how we interact with wayland protocols, but haven't gone through with a comb yet to determine why.