1 / 52
May 2019

This is just a mini list of "regressions" to track GTK2 behaviours that are still missing/broken in GTK3.

Most notably, these are differences since the last GTK2 release of Ubuntu MATE - which was 16.04.

:appearance: Themes: Cannot change colour

Unfortunately, GTK3's theming engine had completely changed and no longer works with this option.

You can still modify any theme by changing its colour values in a text editor.

Upstream bug report requesting functionality:

In future, it would be nice to have a mechanism to generate our own own colours of the Ambiant-MATE/Radiant-MATE themes.

New project to provide colour versions of Ambiant/Radiant-MATE themes:


:computer: Treeviews: No alternate rows colours

GTK2
image

GTK3
gtk3

Upstream bug report:


:files: Middle click dragging in Caja

A content menu is supposed to appear, but it currently performs the primary action (left click)


:computer_mouse: Scrolling over tabs

It use to be possible to scroll over tabs to change them. The feature was removed from GtkNotebook in GTK3 2, and as a result, every app will need to implement the same feature again.

MATE - reinstated

MATE - missing

Upstream bug report:


:computer_mouse: Overlay/momentium scroll bar behaviour

Not a regression as such, but the default behaviour is debatable. This one will be a regression in GTK4. :open_mouth:

To be honest, I am getting fed up of the way all major Linux desktops are going in terms of bloat and fat menus, window headers etc. From what i can see, GTK3 is behind much of it. But, I can't be sure because I lack the technical knowledge. I should stress, this is a personal issue and I am sure many people will find the latest desktops to be just fine for them and I have no problem with that.

My next install is going to be Openbox, pcmanfm desktop manager, Lxpanel and a modified Openbox menu pinned to that panel cos it has a nice menu editor called "obmenu", unlike Lxpanel's menu, which is a right bugger to edit. My main reason for using LXpanel is the easy capacity to have things like the clock and other indicators as well as buttons for windows.

It's basic and simple and works. It also has the advantage of being super fast and lightweight and I really do mean lightweight. The setup described above comes in at under 200mb on the Ram. I've been experimenting with the above in a VM for a few months now and it works great for me.

I realize the above setup is pretty esoteric and will certainly not be to the taste of most users and that's fair enough. That being the case, I would always recommend Mate as the desktop of choice for those wanting one off the shelf.

My collection:

  1. I'll be very disappointed if we miss traditional retrospective GTK2 themes - see this thread for details - Problems with GTK2 themes (such as human-theme) on Ubuntu 18.04 LTS MATE + poll 7 .

    There is a working solution on AskUbuntu 6 about Human and Human Clearlooks themes, but not for other themes.

  2. Problems with scrolling of applications menu 2 and drop down menu in workspace switcher 2. FIxed in GTK3 sources, but currently not in eoan repository.

  3. Caja does not show previews of text files on Bionic and newer versions 3.

I also miss this style of the dialogue box when logging out or shutting down MATE :frowning_face:

image

  • GTK3 no longer supports text inside the progress bar (it's now shown next to the bar in smaller text)
  • We've lost the icon and left text alignment.
  • Buttons were traditionally aligned to the right (now spaced out)

Why did GNOME team have to do any of this? Who there thought any of the above was a good idea?

I really dislike the direction GTK3 headed. Lots of things for GTK2 became broken in GTK3 and people have to basically start over with theming for it. These have been sad years.

¯\_(ツ)_/¯ - Although this topic isn't here to bash GNOME or GTK for their recent years, but rather collect what we liked from the past decade and wish to perverse for the retrospective future. Ideally by 20.04 LTS.

There's something about GNOME 2 (+ GTK2) that makes computing a breeze and out of the way.

Some things (like the log out dialogue box) could be a result of MATE's dialog code... some things affect GTK in general, or it could be awaiting customisation via the theme, which I've been tinkering with lately.

Honestly, 18.04 has been nothing but regressions over 16.04 from my perspective. The way things are going you're going to have to pry 16.04 from my cold dead hands as it appears to be the last Ubuntu Mate release not infected with GTK3 and the limitations that come with it.

I understand it's not entirely the fault of the hard working Devs, but it's disappointing nonetheless.

I'm glad that @lah7 who is a dev and seems to be a level-headed person brings this up. Maybe the end of support for UM 16.04 is getting closer and closer? :wink: (or maybe it was just three years so it's already EOL).

I think it's fair to say I left MATE for Xfce because of GTK3. Now that Xfce has been ported to GTK3 I took a look at it in Xubuntu 19.04. I felt the same as when MATE became GTK3. Why would I want to use this?

Xfce will still be GTK2 in the upcoming Debian Buster. That's my mental escape route. Because I can't see why I would want to use Xfce GTK3 instead of Xfce GTK2.

One crazy aspect was the built-in color-chooser which had the useless stock GTK3 design. This has been fixed in MATE I believe so I don't understand why they didn't use that. Lack of time probably.

If it wasn't for headerbars and Client Side Decorations I think "GTK3" could be implemented as a CSS theme engine for GTK2. Anyway, GTK2 will live on in KDE and LXQt thanks to the gtk2 Qt widget style which is good at mimicking GTK2 themes.

On my GTK2 system I easily spot GTK3 apps, but it can be difficult to spot Qt5 apps just looking at the window, unless you know what it is. I never use apps with headerbars or CSDs. It doesn't feel right and I don't have to because it's mostly Gnome apps anyway.

The GTK3 applications I use: SeaMonkey (dying?), Firefox, Thunderbird, Synaptic, MATE Calculator, Atril and Eye of MATE. These are good traditional applications.

Only GTK3 downside I notice in those applications is that scrollbar in Atril and Eye of MATE sometimes doesn't move and sometimes isn't proportional to document size.

I think GTK3 can work just as well as GTK2, but there are often small UI/theme problems which we didn't see with GTK2. Clearlooks - the default theme for Gnome 2 - didn't look good until the end of the Gnome 2 era. So these things take time and constant GTK3 changes make it harder.

My main issue is CSD... I hate that with a passion. There is software that I've loved for years and no longer use because they moved to CSD. Poor poor usability.

Scrolling on tabs is a pain, but can be fixed (slow progress currently, though)

Custom theme colors I can live without, and I understand the GTK team's motivation to remove it, but it makes me a bit sad inside.

However, I love HiDPI support (although it breaks Status Icons, since those are deprecated and no one thought of updating them for GTK3, wtf)

If it's green or nothing, I'm going to KDE once I upgrade from 16.04.

Which is a shame as I absouotely love Ubuntu Mate.

As it stands, I'm standing by 16.04 (with MATE 1.12) until it's run into the ground in April 2021. I haven't found an environment that can replace the stability of GTK2-built apps and workflows. GNOME 2/MATE + GTK2 presented an Ubuntu that gave me such a good first impression - it's why I switched. :heart_eyes:

I too avoid CSD apps and can usually spot the toolkit of an app - be it GTK3 or Qt. I mean, the open dialog box normally gives it away :wink:. But the entire desktop under GTK3? ... I'm not ready for that yet.

By the way, if anyone reading this recently moved to Ubuntu MATE or have no idea what we're talking about - we're just a bunch of users who fondly admire the way controls and buttons (GTK2) humanly interact with us 4 as the standard a few years ago.

Eventually, I know we'll need to switch. Some nice things like being able to use my 4K monitor at its native resolution as opposed to 1080p; there's new versions of apps that may be stuck on old versions (due to dependencies). It'll be nice to have a complete set of indicators then a mix-match of new and legacy.


Unfortunately, I came to the conclusion that theming alone is not as flexible as I would like - borders, colours and padding per element isn't enough. :frowning: Nevertheless, I created a pull request for Ambiant/Radiant-MATE of some tweaks. 6


I'd be happy if GTK3 upstream resolve the "regressions", but that could be a while. Nothing would stop someone patching GTK and providing builds in a PPA if anyone knows a developer who understands GTK3's inner workings. I'm a web developer then a C++ programmer. :sweat:

:bulb: I had an idea I'll try... take 18.04 and build MATE 1.12 under GTK2... and see if that's technically possible or feasible.

It should be. Multiple versions of GTK can (and do) coexist.

The main problem is not understanding GTK's inner workings. It's getting the GTK team to accept any patches from the non-GNOME community. A PPA is a local solution, but it would be a nightmare to maintain, considering how fast GTK moves...

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.

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

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.

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:

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.

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...

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.

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.

4 months later

split this topic 30 Sep '19

4 posts were split to a new topic: GTK3: Changing the overlay/momentium scroll bar

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.

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.

2 months later

The root of it, I would guess - and this is purely gut feel: I haven't looked at the code - is the obsession with smooth scrolling and/or "momentum" scrolling that's appeared since 16.04. Experimenting with 19.04 today, after staying on 16.04 all this time, is just endlessly frustrating, because almost NOTHING works properly or well. But the scrolling issues are WAY up there, along with the filechooser amnesia.

I take it it's too much to hope that there's a #define lurking somewhere in the source to just turn it off and have 1 atom of input translate to one atom of movement again, instead of 0 half the time and 2d6 the other half?

The other thing I wanted to mention is this: https://aur.archlinux.org/packages/gtk3-mushrooms/ 6
I expect you've long since seen it, but I only found out about it today and figured it was worth bringing up just in case. He admits he basically doesn't know how to code, but it might ease some of the burden occasionally?

Thanks for spotting the typo and mentioning gtk3-mushrooms. I haven't heard of that project till now. I'll have a little play at building it on Ubuntu and see how it goes.

If it works well, it might be worth creating a PPA to contain this patched GTK3.

gtk3-mushrooms 1 certainly works nice for GTK apps I use on my main Manjaro (KDE) desktop.

I was experimenting and kind of compiled it on Ubuntu MATE 19.10, but it doesn't look like all the patches were working -- likely I haven't compiled or installed it properly. :confused: The experiment lies here if anyone wants to try and get it compiled/installed properly on Ubuntu MATE:

It's recently had a different maintainer, whom doesn't appear active at the moment. I created an issue suggesting the tab scrolling with mouse wheel patch (#25). Personally, I like this idea to install an alternate GTK3 package providing the desired "classic" functionality, even if it means carrying a warning label. :warning:

Does anyone have any ideas about the mousewheel bugs? Those are now the last thing keeping me moving to 18.04 (and then hopefully on to 20.04 next year as well). Not the last thing I'd like to fix or see fixed, but the last absolute blocker for me.

I know Hutterer has been making a LOT of behavioral changes to libinput, but right now I can't tell if the utterly-broken mousewheel issues are because of that, or GTK3, or a combination of the two - but regardless of the root cause, the fact that the system randomly fails to respond to respond to wheel events is a real problem for me.

As far as I can tell from xev the events certainly seem to be happening reliably (though it's always hard to be truly sure) and my suspicion is strongly that it's just a GTK issue, especially since there's clearly been a rewrite of the pieces involved in e.g. Caja windows to scroll smoothly in response to thumb changes rather than just jump to them. (Which I personally hate and would very much like to be able to revert, since it does it in things like Pluma as well and makes it much harder to compare files in different documents as the scrolling is inconsistent, though that may just be a different aspect of the bug).

I can try to wander through the code next weekend, but since this bug has probably been there since 18.04 I'm hoping someone has dug into it already and might have found a workaround. (I've tried "gtk-enable-animations=0", but that doesn't fix it: it results in a weird hybrid mode where it usually jumps the way I want, but also randomly goes into smooth-scrolling mode still at times, with no apparent rhyme or reason to why it's picking one over the each time. And it ignores the settings completely if you use PageUp/Down, and always smooth-scrolls for that. ffs GNOME...)

One other question that springs to mind is, with the CADT apparently now preparing to inflict GTK4 on the world, what's the dev team's plan for that? Or is it not far enough along yet to start worrying about?

What mouse wheel bugs are you referring to? Have you filed them with launchpad or github?

With regards to GTK4, there's not a whole lot to be done at the moment. It's a changing API still, so any changes done to MATE might need to be reverted anyway. Multiple GTK versions can coexist happily anyway, so this is a very low priority for now.

Today I have reported two bugs about tab scroll with mouse wheel:

but the list of affected programs is bit broader and we need to decide how should we follow MATE HIG:

If present on the mouse, the scrollwheel should scroll the window or control under the pointer, if it supports scrolling. Initiating scrolling in this way should not move keyboard focus to the window or control being scrolled.
If it supports both horizontal and vertical scrolling, perhaps suggest unmodified scrollwheel should scroll vertically, and <Shift>+scrollwheel should scroll horizontally.

Patching every app with GTK_NOTEBOOK may be difficult and ineffective.
And other problem is that non-MATE applications may not have these patches...

Weird - I could have sworn they were in this thread.

The mousewheel just randomly doesn't work at times, notably in caja windows (which I tend to scroll through that way a lot). Just now, I went through 4 clicks on the wheel in there and absolutely nothing happened at all. Then it suddenly "woke up" and started working.

If I switch to a different window (click to focus) but then hover over the caja window and scroll the wheel, it will almost always ignore the first event but then respond to subsequent ones. Give the caja window focus then switch away from it again and start over, and the first wheel movement gets ignored again.

I never filed a bug for it, for several reasons: because I couldn't imagine it not being fixed by the time I would have first considered actually switching to 18.04 (i.e. several months after release) ; because I've seen how the GNOME team handles bug reports, so it would have been a waste of time if GTK3 was the cause (which seemed likely) ; and because I didn't have the time to pin down exactly when it failed, since it does work properly sometimes - it's only just now that I noticed that it always misses the first event if unfocused, for example. "Sometimes it doesn't work" isn't exactly the sort of bug report that encourages even the most conscientious developers to spend time trying to reproduce and fix things. :stuck_out_tongue:

[GTK4] is a very low priority for now.

Thanks - that's what I was hoping to hear. :slight_smile:

Obviously, my bug is different to Norbert's - his has the advantage of being a loss of functionality 100% of the time rather than an intermittent problem.

@Norbert_X - unless you've already filed it, you're missing one for the fact that it also doesn't work for caja's document windows any more either.
But, hmm, that github link is interesting. This is a clear case of functionality being removed across the board, so it seems odd that you'd need more than one bug report or more than one (core) fix.

@devs, is there really no less painful way to restore that than adding it back in to every single affected app?! I mean, I get that you want as few diffs as possible against upstream GTK3, but that's an insane burden. You must have the patience of saints...

I never filed a bug for it, for several reasons: because I couldn't imagine it not being fixed by the time I would have first considered actually switching to 18.04

If devs don't know about it then it wouldn't get fixed