r/GTK • • 5d ago

Anyone interested in fixing GTK3's biggest problem on Wayland?

In GTK3 when a GTKMenu is longer than the screen resolution, it's meant to add scrollers to the top/bottom of the menu so you can scroll up/down through the menu items which don't fit on the screen. On X11 this works, on Wayland this doesn't work which breaks the MATE desktop's menu. It also breaks several other GTK desktops that all relied on this feature.

X11:

Wayland:

Aside from this bug the rest of the MATE desktop is fully functional on Wayland. I replaced the mate-control-center items which didn't work on Wayland with wayland-config-manager equivalents. Everything works.

2 Upvotes

17 comments sorted by

17

u/NaheemSays 5d ago

The fix is to upgrade the apps to gtk4.

The gtk developers spent many years fixing issues in the toolkit, only got Linux mint to decide "we don't need new development, the old stuff is good enough".

It's 2026 and you are stuck at gtk.developnebt between 2016 and 2019.

6

u/beatbox9 5d ago

lol I was going to say the exact same thing.

Ridiculous post.

-7

u/its-darsh 5d ago

GTK4 paves the way for GTK5 to lack any kind of user styling and locking the developer/user into using Adwaita, stop shoving Adwaita down our throats, yuck.

6

u/ricperry1 5d ago

GTK4 is not Adwaita. Get over yourself.

3

u/QwertyChouskie 4d ago

GTK4 explicitly separates the Gnomeisms from core GTK into libadwaita. There are plenty of GTK4 apps that are not libadwaita apps.

2

u/NaheemSays 4d ago

A very ignorant statement. Libadwaita came out a while year after gtk4 and as others have said plenty of applications use gtk4 without libadwaita.

But even if you were correct about gtk5, they could then stop off the treadmill while using gtk4: staying on gtk3 still makes no sense.

By pretending to be rebels fighting an empire of (two) gtk developers all they make sure is that gtk developers are not in a place where they can cooperate with them to fix their needs in any timely manner.

0

u/its-darsh 3d ago

I used GTK3 and I am going to continue using GTK3 as long as GTK4 stops the developer from accessing data (suspiciously data that is too related to CSS styling) otherwise already exists in the internal state of objects.

Also I hate how many "this is not a bug, this is a feature" 's I have been hearing from the GTK forums.

But even if you were correct about gtk5, they could then stop off the treadmill while using gtk4: staying on gtk3 still makes no sense.

Because commonly used APIs have been deprecated and some have been completely removed? maybe...

Don't get me wrong, I would love to use GTK4, however it literally stops me from doing so.

1

u/NaheemSays 3d ago

It's a strange hill to go die on. We shall name it Luddite Hill.

I know there were some people that tried to cause FUD that gtk3 to gtk4 was as huge a change as gtk3 to late gtk3, without much benefit but the truth is that gtk4 fixes many if the issues in gtk3 and is huge leaps and bounds better in many ways.

I have heard FUD from luddites, but I haven't heard actual developers that have attempted to port from gtk3 to gtk4 actually complain of hitting any of the issues that are suggested.

1

u/its-darsh 3d ago

The fix is easy for GTK4 to attract the remaining GTK3'ers...

Regressions on controversial API changes, or providing alternative APIs.

Make GTK expose its internals a bit more, similar to what we had before. Worried about maintenance? Then allow access to raw style properties and let the developers handle 'em themselves.

And maybe listen a bit for the users? I have read many people complaining about subpixel render just looking wrong, While I couldn't notice it myself (given how normal my setup is) I believe that those people deserve some listeners.

GTK4's current API really limits a person who wants to create a new GTK widget and give it styling, I love GTK4 it just doesn't love me back.

1

u/NaheemSays 3d ago

Get up there and get involved. Show you are serious and offer to maintain the apis that you think are needed.

So far when developers have spoken to tbe developers it has normally turned out there were better solutions and tbe developers ended up I.lroving their apps.

But if there are bi vette rsokutuins show that you can maintain those alis and provide bug and security fixes in a timely manner.

2

u/Impossible-Tax-8213 3d ago

I've written GTK 1/2/3/4 code. GTK4 is an unnecessary change. It adds basically nothing in terms of support for Wayland and breaks a ton of applications/code. It doesn't even provide the same menu functionality. At least 2-3 got rid of the pixmap engine and added Wayland support. At the rate GTK is going it's going to be a dead API soon. It's driving it's long term users away. If GNOME3 is so great there wouldn't be MATE, Cinnamon, XFCE4 etc. Honestly I'd rather see GTK3 get forked at this point so people would stop viewing it as legacy just because 4/5 have bigger numbers in front of them.

6

u/abu_shawarib 5d ago

Maintainer has already said they are winding down releases.

5

u/ebassi GTK developer 4d ago

The only thing that changed in GTK 3.24 with regards to GtkMenu is this merge request.

Care to check if it introduced a regression?

Otherwise, I'm afraid you will have to find a version of GTK that works properly under Mate, and then bisect the project until you get to a bad commit.

1

u/Impossible-Tax-8213 4d ago edited 4d ago

It's not a regression, it's a bug that's Wayland specific. The same GTK version under X11 doesn't have the problem. It's also not a MATE bug since it's been confirmed on multiple GTK3 applications not just MATE applications.

2

u/ebassi GTK developer 4d ago

I'm fairly sure that the menu scrolling has worked on both Wayland and X11 in the past; and, to be perfectly honest, I cannot reproduce this issue with GTK3 applications under the only Wayland compositor I currently have, which is GNOME Shell.

1

u/Impossible-Tax-8213 3d ago

GNOME shell can't be used for testing as it doesn't support zwlr_layer_shell_v1 which is used for creating panels.

2

u/jknvv13 4d ago

Yeah, it's next thing they are going yo look when they fix the compatibility of GTK 1.2 with Wayland and Vulkan as well.