GTK2-only Xfce 4.12 desktop
Posted: 2021-06-30 Filed under: desktop, slackbuilds, system | Tags: GTK2, xfce 15 CommentsI want to keep using a GTK2-based desktop environment on the upcoming Slackware 15.0 release. Long story short, I decided to stay with Xfce 4.12 and created my own repository of SlackBuild scripts that aim to build a GTK2-only desktop on -current. I have been running it for over a month on Slackware -current from 17 May 2021. Here’s my announcement in LQ. Of course, this comes with no warranty, so use at your own risk.
I used as a starting point the SlackBuilds from Slackware 14.2, but followed the template and overall style of SBo. I added some more plugins, the scripts of which were adapted from the ones at SBo. There are a few version differences, as well as, several new patches. If you decide to try this, you should not install anything from the XFCE series of the stock Slackware install, and be careful if you install Xfce-related stuff from SBo, as it most likely is already there.
Structure of the repo
xfce/The core components of the Xfce desktop.apps-and-plugins/Applications and plugins that complement Xfce.art/Old icons, GTK2 and Xfwm themes.borrowed/Dependencies that are available at SBo. I advise you to just install them from there, to avoid “overlapping” packages.legacy/Programs at their last GTK2 versions or ones explicitly compiled to use GTK2, hence they have a -gtk2 suffix. Anything with a -gtk2 suffix in the name will conflict with its corresponding package from SBo. Here you will find Inkscape-gtk2 (0.92.5), file-roller-gtk2 (2.32.2), evince-gtk2 (2.32.0) and more.
Installation
To install it, I use sbopkg. Copy 65-tales.repo to /etc/sbopkg/repos.d, then sync. Place the build queue tales.sqf to /var/lib/sbopkg/queues and use it to build the packages in the correct order.
Panel volume mixer
I am not against PulseAudio and I keep PavuControl, however the PulseAudio panel plugin is gone, since it requires a new version of the panel. Instead, the repo includes xfce4-volumed-pulse, so the volume can be controlled with the keyboard. There’s also the old xfce4-mixer, but it does not ‘refresh’ the volume controls after I connect bluetooth headphones. A very nice substitute is PNMixer and this is what I have been using.
Patches
I made a patch for the xfce4-weather-plugin, to fix the broken API. Also, there is a patch for the xfce4-panel applications menu which reverts to the menu from 4.10. In Xfce 4.10, the icons in the menu could be made bigger. This functionality is gone in Xfce 4.12, so I wanted to bring it back. The patch is not applied by default, but if you want to give it a try, read the corresponding section in xfce4-panel.SlackBuild together with the links and uncomment this line:
patch -p1 -i $CWD/applicationsmenu.patch
What to do next?
I am planning to further upgrade some components to their latest GTK2 versions and I may end up with a mixed 4.12/4.14 Xfce desktop. We’ll see. For now I am using the 4.12 release.


[…] cannot stand GTK3, so I prepared a set of SlackBuilds that build Xfce 14.2 and some goodies/programs on -current beta. My plan was to stick with Xfce 4.12 for as long as it […]
Does anyone happen to know what the name of the GTK theme?
That’s a GTK2 theme, using the Murrine engine and will not work for GTK3/4. I made it myself, by modifying another theme, but I don’t remember the name anymore. It’s probably “MurrineLightBlue”, found among my archived Murrine themes collection:
https://github.com/slackalaxy/murrine-themes
Hello, I am attempting to use this on Salix 15.0, which uses the default Xfce 4.16 that’s GTK3. I tried to install the 4.12 versions from 14.2, but ended up with a very unpleasant system experience. My theming was forced to the ugly white Adwaita crap, keyboard shortcuts were not recognized, and other such issues.
Also, I am having issues trying to get your repo to work. The GitHub thing keeps rejecting me all the time. Can you help out? Thanks.
hi,
did you try the (somewhat) updated repo:
https://github.com/slackalaxy/tales-xfce
I am sorry, I no longer use Slackware and I am not sure I can help right away.
Also, did you install the murrine engine from SBo: https://slackbuilds.org/repository/15.0/desktop/murrine/
GTK2 is dead man. I am currently using Xfce 4.20 on CRUX, with the Bluecurve GTK3 theme:
https://github.com/neeeeow/Bluecurve
Sorry, this thing is filtering out my comment for some reason. Will have to respond in parts…
Yes, I tried those links already. Unfortunately, I got stuck on GitHub refusing my connection. I decided to just give up and stick with the stock 4.16 Xfce for Salix 15.0. Luckily, my main being Devuan (Debian without Systemd), I was able to go from Xfce 4.18 back to 4.10/4.12 (depending on which was the latest GTK2). I did this by cherry picking DEB files that worked, and I spread this system-wide by returning whatever I could that was functional back to GTK2, like GSmartControl, Liferea, Claws Mail, Geany, FileZilla, Meld, and so on. I have very few GTK3 stuff on there, like Timeshift and Simple Scan (since the GTK2 builds I’ve tried all have bad scanning quality, whereas around 3.28 it works nicely and isn’t CSD yet).
that’s some endeavour you’ve taken.
I gave up on swimming against the current, after I found that Bluecurve port, which brings back a very classic look for GTK3. Give it a try on SalixOS’ Xfce.
I don’t know why git refuses the connection. Did you try downloading the tarball of the repo manually, unarchiving and placing the subfolders in
/var/lib/sbopkg/local? Then put xfce.sqf in/var/lib/sbopkg/queuesand select “local” repo in sbopkg.Despite my initial issue, I was also able to move some Salix/Slackware 15.0 GTK3 stuff back to GTK2 (many of the aforementioned in Devuan), which is nice, but it required a bit more effort than just “apt install this-package/really-old-release” and hoping that APT doesn’t complain. I had to hack in a few old libraries from 14.2 to make it work. It’s just Xfce that I’m stuck on (as trying to force-install 4.12 from 14.2 will lead to an unusable system). For both distros, I have their YAD packages uninstalled, with this compiled maintenance fork as the replacement for GTK2: https://github.com/step-/yad Also, I would encourage you to check out GTK2-NG, a fork of GTK2 started by a Devuan developer that’s already gotten quite a few nice fixes already (e.g. less compiler warnings, restoration of the icons in the filepicker, some other filepicker and general UI enhancements): https://git.devuan.org/daemonratte/gtk2-ng Only way we can win against GNOME is to not use GTK4 or newer. Some GTK3 if you REALLY have to, but GTK2 still just works… UPDATE: So, good news. I managed to make it work. I had to do it from another environment (like LXDE). Removed all the original Xfce, Thunar, Exo, etc. packages. Installpkg was used for the particular TXZ files I downloaded off Salix 14.2. Finally, it started working again when I switched to Xfce from LXDE, but my keyboard shortcuts weren’t working at all. My theme did register, though. I then added in missing libraries from either UPower or Pango, and then it just worked. I am happy to say that I am back to using Xfce 4.12 with full GTK2 support in Salix 15.0. I added the Xfce packages to my Slapt-Get’s EXCLUDES section, so I won’t have to do this all over again.
UPDATE: So, good news. I managed to make it work. I had to do it from another environment (like LXDE). Removed all the original Xfce, Thunar, Exo, etc. packages. Installpkg was used for the particular TXZ files I downloaded off Salix 14.2. Finally, it started working again when I switched to Xfce from LXDE, but my keyboard shortcuts weren’t working at all. My theme did register, though. I then added in missing libraries from either UPower or Pango, and then it just worked. I am happy to say that I am back to using Xfce 4.12 with full GTK2 support in Salix 15.0. I added the Xfce packages to my Slapt-Get’s EXCLUDES section, so I won’t have to do this all over again.
Really don’t know why this WordPress comment thing is so glitched. I had more I wanted to send you from the second comment, but I thought it didn’t go through.
What I wanted to also write (before I finally figured it out):
Despite my initial issue, I was also able to move some Salix/Slackware 15.0 GTK3 stuff back to GTK2 (many of the aforementioned in Devuan), which is nice, but it required a bit more effort than just “apt install this-package/really-old-release” and hoping that APT doesn’t complain. I had to hack in a few old libraries from 14.2 to make it work. It’s just Xfce that I’m stuck on (as trying to force-install 4.12 from 14.2 will lead to an unusable system). For both distros, I have their YAD packages uninstalled, with this compiled maintenance fork as the replacement for GTK2: https://github.com/step-/yad Also, I would encourage you to check out GTK2-NG, a fork of GTK2 started by a Devuan developer that’s already gotten quite a few nice fixes already (e.g. less compiler warnings, restoration of the icons in the filepicker, some other filepicker and general UI enhancements): https://git.devuan.org/daemonratte/gtk2-ng Only way we can win against GNOME is to not use GTK4 or newer. Some GTK3 if you REALLY have to, but GTK2 still just works…
wordpress had put some of your comments for moderation approval, i don’t know why. Anyway, I gave up on trying to keep a gtk2 desktop alive. Keep in mind that stuff like the weather panel plugin will no longer work properly, as it does not sync with the weather forecast site
For the weather forecast, you can just recompile with the correct API fix or just use this Genmon script (needs YAD): https://gitlab.com/christosangel/weather_forecast_xfce_cinnamon
For the weather forecast, you can just recompile with the correct API fix or just use this Genmon script (needs YAD): https://gitlab.com/christosangel/weather_forecast_xfce_cinnamon
For the weather forecast, you can just recompile with the correct API fix or just use this Genmon script (needs YAD): https://gitlab.com/christosangel/weather_forecast_xfce_cinnamon
For the weather forecast, you can just recompile with the correct API fix or just use this Genmon script (needs YAD): https://gitlab.com/christosangel/weather_forecast_xfce_cinnamon