GTK3 regressions from a GTK2 perspective

I don't get why people hate gtk3, it's great as well as Mate.

I am not a big fan of CSD, but come on, some applications implement it right (usable).

Anyway, it's a global trend from all app developpers, on all systems, that would be hard or very costly to fight.

I don't think it is worth to fight this already lost battle.

I would prefer to see the Mate project continuing to focus on the fundamentals for a responsive and traditional desktop environment (panels, window management, workspaces, menus, file browsing, etc.), fix the bugs and get more momentum.

1 Like

I feel I need to be more specific in my answer.

I am using almost none of the default utility that come with Mate, preferring superior, better maintained and accidentally GTK3 applications:

  • Mate-terminal --> Tilix
  • Atril --> Evince
  • EoM --> EoG or Gthumb
  • mate-calc --> gnome-calculator
  • pluma --> gedit

Gnome-disk is already installed by default and it's great.

I only keep using Caja, because Nautilus really sucks and Nemo is not recent in the repos.

EDIT: I should add Engrampa, for its integration with Caja and because file-roller also sucks after the removal of some features (password setting).

I am feeling it's a dead-end. How the Mate community can continue to keep these forks on par with their newer alteratives?
Apparently, it's not going very well.

On the other side, I regret that some core components (panels, window managers, file browser) suffer from quite important and serious bugs that are not being fixed.

It's maybe an isolated opinion, but I don't care about basic utilities when I choose Mate. I care about having solid and configurable foundations.

Maybe the project should keep its resources to focus of them.

If you think GTK3 is bad, wait until GTK4 comes out. They already removed icons from menus because it's no longer fashionable.

Yeah, these were already deprecated on GTK3, which means building mate components produces a ton of warning messages...

Luckily, MATE is not moving to GTK4 any time soon, it'll be years before that becomes a real problem

2 Likes

All this make me think we're gonna have to start looking at Qt sometime in the future...

@Apollonius - that would be even harder than GTK... All of MATE is intrinsically tied to GTK, QT would be a full rewrite, essentially a brand new desktop environment.

Also, who knows what issues does QT have! MATE is one of the most accessible DE's for blind users, for example, and QT's accessibility support is nowhere near as good as GTK's.

Issues like that are important. And as much as we like to harp on the GTK team's decisions, it's still possibly the best toolkit around.

3 Likes

Agreed...

And I know little to no C++ to understand Qt than GTK anyway... :wink:

I only started using Linux around 2016. Before that I was a total ■■■■■■ when it came to programming and software and was a full-blown Windows user. So I don't know how GTK2 was in the good-old GNOME days, but I have fallen in love with MATE since coming across UM and have learned so much since then; and maybe because of that I don't see or feel all the nitty-gritty details that have regressed all over the years, but I have seen how stupendously GNOME 3 and/or GTK3 has been removing stuff to be a pleasant experience when I sit in front of my desktop.

And I understand the emotion behind of all the old users...

I have found MATE and UM to be reliable, and it works more than enough for me, despite the regressions. :slightly_smiling_face:

1 Like

I wish you did, but you don't. I've been on three desktops technically; GNOME 2.xx, GNOME 2.xx but modified as my own desktop and xsession, and MATE. All of them foundationally GTK 2, two of the three options impossible. Then there came the change where certain GTK 2 apps aren't feasible because you can't just change gnome to mate in config files and have it work.

Now with 19.04 I cannot install my preferred (and less error-prone) global EQ without pulling in prior libraries which no longer exist in Canonical's Disco repos. It's BS.

I'm tired of change. All the moving's wearing me out. It makes Windows' interface design, even with the modern changes they've made feel more stable. At least, ten years from now I'll still know how to use Windows.

2 Likes

That I agree on! GNOME 3 has made an enormous change compared to what was done to Windows; it's no wonder so many people moved away...

1 Like

Huh? I'm uisng a pair of 43" 4K UHD displays just fine and have had four 1080p Virtualbox VMs displayed on one screen.

Under GTK3 (16.10 onwards), it does. GTK2 (16.04, which I'm on) doesn't natively support HiDPI. Plus, I've got some apps that don't scale properly (GIMP, Inkscape) without resorting to "hacks", until they update their code to GTK3.

SADLY, Gnome is brown-nosing RedHat and Pottering all the way... and we'll end up with a horrible OS that is not GNU/Linux any more, but "Red Hat systemD/Linux", with Gnome embedded in it (cursed are the ones that use another DE!) and no freedom of choice.

@Gonzalo_VC, what does SystemD have to do with GTK? Also, I would recommend reading the copyright notice on 90% of the files in the MATE source code: the desktop environment you love was, and still is, contributed to by Red Hat engineers.

2 Likes

All those things are orbiting around the same spot. GTK - Gnome people are bowing to RH decides, and Potterting stuff, made for RH is becoming MANDATORY in Gnome, and polluting a lot of things in the ecosystem. MATE will (even now) suffer the non-freedom situation. Can you have Ubuntu (any flavor, any platform) without systemD?

I don't have an issue with SystemD as it's not limiting my options like GTK3. I don't agree with a number of the so called advancements of GTK3 that are more like regressions compared to GTK2.

It's for this reason that my upgrade to 18.04 may involve a switch to Qt and a complete change of distro.

Today I have documented another GTK-oriented problem - it is difficult to select last line in the Synaptic Package Manager.

See screencast is below from Ubuntu MATE 18.04 LTS:

(here I can't select last package named zzuf to installation;
screen size is reduced to get GIF smaller, the problem persists with full 1366x768 resolution).

All current Ubuntu version are affected, so I have reported the bug 1830437. On GNOMEs Hell the scrollbars are thinner, so I have added mate-themes and ubuntu-mate-artwork as affected packages.

I wrote about this problem here because of the fact that Synaptic is listed in MATE Software Boutique.

3 Likes

For the overlay scrolling, you can turn that off by adding this to ~/.bash_aliases (local) and /etc/environment (system-wide and root):

export GTK_OVERLAY_SCROLLING=0

That is... until GTK4 where this environment variable is gone. It'll then be up to the developer to expose an option in their application, if they want. :man_facepalming:

Reference: https://wiki.archlinux.org/index.php/GTK+#Disable_overlay_scrollbars


I also noticed the scrolling behaviour feels more clunky in GTK3:

GTK3 - default in Ubuntu MATE
weird-scroll

:point_up: This also shows a glimpse of when the scroll bar doesn't always scroll when dragging it - I vaguely remember hearing this mentioned in the community before. Anyhoo, that behaviour can be changed in the theme:

/usr/share/themes/Ambiant-MATE/gtk-3.0/settings.ini

[Settings]
gtk-primary-button-warps-slider = true

So it works like this:

old-scroll

Like it did in 16.04 GTK2 - root apps only (?)

gtk2

Reference: https://wiki.archlinux.org/index.php/GTK+#Legacy_scrolling_behavior

I'm a bit confused at the default. I think the "wrap" is the defacto GTK way (which I actually prefer) but Ambiant-MATE's default turns wrapping off. Only in 16.04 did it "wrap" for root apps.

Turning off the wrap for a moment, I wonder if we can adjust the scrolling timings - they are actually much slower then before.

GTK2 16.04 (left) - GTK3 19.04 (right)
wait-gtk2 wait-gtk3

:point_up: Both of these are scrolling a Pluma text file of 150 blank lines


If you change any of the GTK settings above, you'll need to re-apply the theme or log out/in for it to take effect.

5 Likes

Could you please have a look here: https://ubuntu-mate.community/t/human-gtk3-traditionalhumanized-theme-for-ubuntu-mate-18-04/

Lately I've been thinking a lot about the subject. It's no news that GNOME 2/GTK+ 2 crowns the perfect balance between configurability and elegance, but by this point it's crystal clear that its ideals are no longer in line with the current GNOME project and it's only going to get worse with GTK 4 as pointed out earlier.

I'm almost sure that we need a new toolkit, whereas it's a fork of GTK+ 2 or a reimplementation that draws from its concepts.

1 Like

I think what we need is more developers...

GTK2 was great, GTK3 is better in many aspects, but they dropped things that not enough software used and that there were not enough people to maintain... GTK4 will be a continuation of that: better, but more specialized libraries for GNOME's use cases.

Forking GTK*, and/or forward-porting parts from "the good old days" sounds great in theory, but who's going to do it? Who's going to maintain it?

Off the top of my head, the MATE team is growing at a rate of, what, 1 developer a year? All volunteers too.

GNOME (and thus GTK) have hundreds of developers, many of which are paid to work on it. To expect them to stop and wait for us is unreasonable when we're the ones that chose this path.

I think what we're doing is fine: we backport what makes sense from GNOME, we add our own features every now and then, and we make wishlists to keep moving us forward. It works. We have an amazing desktop environment that makes us proud and happy. Some features will suffer with every upgrade, but we add other necessary ones too.

In the end, we do the best we can to keep things balanced between "traditional" and "modern". That's probably one of the hardest things to pull off, and yet that's where MATE really shines.

6 Likes