- Notifications
You must be signed in to change notification settings - Fork26
Patches to bring back a traditional experience for GTK+3
License
lah7/gtk3-classic
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This repository contains patches to restore GTK 3's look & feel reminiscent toearlier versions. With many enhancements such as disabled CSD headers (on X11),traditional dialog boxes and file browser improvements.
These are designed to work on non-GNOME desktops (such as XFCE and MATE)and any other environment where GTK applications are used. Runningon GNOME desktops is not recommended!
Patch List |Environment Variables |Screenshots |Wiki
Once known asgtk3-mushrooms
, this repository is a collection of patchesthat apply on top of the GTK 3 source code. It's not a fork of GTK 3.
This repository acts as a central hub for these patches and will keep rollingif there's a new GTK 3 release. The patches aim to bring a bit of reminiscenceto GTK 2 and GTK 3's early days (hence, "classic").See below on contributing patches.
This repository is provided as-is, with no warranty or guaranteed support.While the patched installation should just work, you are entering unsupported territory.
See these files:
- README.Patches.md — a complete list of what patches do.
- README.Variables.md — a summaryof the available environment variables.
Some patches are optional behind environment variables or an additional step(like enabling alternating colour rows)
For best results,try downgradingand pinning older versions of GTK 3 applications.
- Arch Linux
- Gentoo
- Ubuntu (LTS) (discontinued)
See#111 for details aboutDebian builds based on these patches.
Available from the AUR undergtk3-classic
(previouslygtk3-mushrooms
).
Based on the officialgtk3
packagewith some changes to make the package more lightweight:
- Demos, examples and tests excluded.
- Some dependencies made optional:
adwaita-icon-theme
- default icon themecantarell-fonts
- default fontdconf
- default GSettings backendcolord
- color management supportlibcups
- enable printers in print dialog
There's a few ways to install:
Therelease notes contains a packagebuilt autonomously byGitHub Actions for your convenience.
sudo pacman -U ./*.tar.zst
Use anAUR helper, such as
yay
:yay -S gtk3-classic
TheAUR's PKGBUILD follows this repository'slatest release as its source.
Build from source:
git clone https://github.com/lah7/gtk3-classiccd gtk3-classicmakepkg -s
To exclude patches, comment (
#
) them out in theseries
file.
Warning
Ubuntu packages for gtk3-classic has been discontinued.The existing PPA will continue to work, but no new packages will be created.Use at your own risk.
You may build them yourself or contribute improvements to reliably build locally via ourcreate-ubuntu-package.sh script.
Note
Only available for LTS releases: 20.04, 22.04, 24.04
These packages are based on the originalgtk+3.0
package, with the version suffixed with~classic
. These packages are rarelyupdated, as they are patched against the GTK 3 version originally used for that release.
To install,add the repository and upgrade your packages:
sudo add-apt-repository ppa:lah7/gtk3-classicsudo apt dist-upgrade
To restore the original GTK 3, useppa-purge
to restore the packages from Ubuntu's repository:
sudo apt-get install ppa-purgesudo ppa-purge ppa:lah7/gtk3-classic
This works for stock Ubuntu. If you're using an Ubuntu derivative (like Linux Mint), you may need tomanually downgrade packages instead.
A Gentoo ebuild is available asx11-libs/gtk3-classic-patches
inthekhoverlay
overlay. Rather than providing a patchedx11-libs/gtk+:3
ebuild directly, this ebuild installs user patches which will be applied onsubsequent builds of GTK 3. This way, the latest official Gentoo GTK 3 ebuild canalways be used.
To install, first add the overlay and accept the package's testing status:
sudo eselect repository enable khoverlaysudo emerge --sync khoverlayecho 'x11-libs/gtk3-classic-patches::khoverlay' | sudo tee -a /etc/portage/package.accept_keywords
Then install the patches and rebuild GTK 3:
sudo emerge -av gtk3-classic-patchessudo emerge -av1 gtk+:3
To revert to standard GTK 3, remove the patches and rebuild GTK 3:
sudo emerge -cav gtk3-classic-patchessudo emerge -av1 gtk+:3
These patches are for your own pleasure. They arenot supported by GTK developers,your distribution or application developers. Please don't send bug reports tothem because of this patched GTK 3 installation.
If you are having trouble with an application or theme, try:
- Run the application from the terminal with
GTK_CSD=0
before the command. - Revert to the original
gtk3
to confirm these patches caused the problem.
If a patch is at fault, Arch and Gentoo users for instance can comment out (#
)patches inseries
until they find the one causing it.
Arch users can use the includedscripts/test-exclude-each-patch.sh
script.It'll exclude one patch at a time and create builds using thePKGBUILD
in this repository.
We're not writing new patches — only maintaining what we've got.
You are welcome to open a pull request with a new patchor fix if:
- It does not break GTK 3 or any GTK applications.
- Offers "classic" functionality remensiant of GTK 2 or early versions of GTK 3.
- Optional behind an environment variable if it introduces a significant change.
Patches are addedusing thequilt
system.
Our primary packaging and testing happens on Arch. Checksums inPKGBUILD
need to be updated to pass the automated checks. On an Arch system, these can beregenerated automatically:
updpkgsums
(Provided inpacman-contrib
)
If you're not using Arch Linux, don't worry! When you create the pull requestand automated checks run, it'll fail ❌ and present a patch of required changes.
TheDiscussions tabis where you can find curated tips, chat, support and introductions from other users.
Here are some complementary projects and themes for your classic experience:
- Human theme
- Raleigh theme & icons
- Bluecurve theme & icons
- Ambiant-MATE theme & icons
- @thesquash's gtk3-classic-module(featuring many of these patches without needing to recompile GTK 3)
- XFCE users might be interested inthis additional patch for the file chooser.
- Avaliable from the AUR as
gtk3-classic-xfce
- Avaliable from the AUR as
About
Patches to bring back a traditional experience for GTK+3