Yesterday I finally had the opportunity to upgrade my main rig to UM 24.04 LTS
I waited so long because 24.04 started out pretty flakey (thanks to the horribly bad installer and some showstopper bugs) and I needed to do it during my holidays, so a year later I'm here ![]()
Although the transition was flawless, the quality of some apps obviously deteriorated.
Some apps were broken beyond repair out of the box and won't be fixed in this LTS so I ended up replacing them with older (better) versions.
I want to highlight only two of them:
Zenity:
The sub par UI elements of GTK4 (like: more difficult to grab UI-elements witout moving the whole window) forced me to switch my home made scipts over to yad (still GTK3 and that means that I ditched zenity because of usability problems due to GTK4/Adwaita)
But what really bothered me was this:
Transmission-gtk:
Since the move to GTK4/adwaita, transmission-gtk is hindered by 2 problems:
- visual clues are much more difficult to see because of the subpar colorsetting (inherent to the subpar hardcoded adwaita settings)
- impossible to keep running in the background because ayatana support is missing.
I first switched over to transmission-qt which not only does support MATE much better in the graphical department but (contrary to GTK4) also does support Ayatana indicators.
I really scratched my head when I had to conclude that KDE/Qt not only visually integrates better in MATE but it also supports MATE much better with more functionality than GNOME4x/GTK4.
I seriously wonder if it is time for Ubuntu MATE to ditch some of the broken GNOME4x/GTK4 apps and replace them with the KDE/Qt versions. Especially because GNOME refuses to incorporate Ayatana while MATE (and the rest of the world) want to have it as a standard for indicators.
However, I was not completely satisfied: transmission -qt has intrinsically a bit less visual clues than the old gtk version and it does not recognize the '.Trash'
(for which I can not blame KDE/Qt because they already bend over backwards to try to keep cross platform compatibility)
Thanks to N0rbert (who commented on the transmission github) I ended up recompiling transmission against GTK3 and it was not only visually superior but I also got the, for this app, highly important ayatana support back.
I followed his instructions but I discovered that he forgot to mention a few things so I added them to the instruction list and here it is:
# REBUILD TRANSMISSION AGAINST GTK3
# don't run this as a script
# just execute the commands one by one and check the status after each command.
# configure apt to incorporate sourcecode sources
sudo -- sed -i 's/^Types: deb$/Types: deb deb-src/' /etc/apt/sources.list.d/ubuntu.sources
# prepare
sudo apt-get install libgtk-3-dev libgtkmm-3.0-dev dpkg-dev
sudo apt-get build-dep transmission-gtk
# get source
mkdir ~/transmission_gtk3_build
cd ~/transmission_gtk3_build
apt-get source transmission-gtk
# patch the compile instructions
cd transmission-4.0.5 # or whatever version you ended up with
sed -i "s|-DCMAKE_BUILD_TYPE=RelWithDebInfo$|-DCMAKE_BUILD_TYPE=RelWithDebInfo -DUSE_GTK_VERSION=3|" debian/rules
rm -v debian/source/format
dpkg-buildpackage -uc -us
# remove preinstalled, install new
sudo apt-get autopurge transmission-gtk transmission-common
sudo apt-get install ../transmission*.deb
# prevent the updater to overwrite the new compiled version
echo transmission hold | sudo dpkg --set-selections
echo transmission-cli hold | sudo dpkg --set-selections
echo transmission-common hold | sudo dpkg --set-selections
echo transmission-daemon hold | sudo dpkg --set-selections
echo transmission-gtk hold | sudo dpkg --set-selections
echo transmission-qt hold | sudo dpkg --set-selections