ArtyIF / gtk3-classic

Patches to provide a more traditional experience to GTK3

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gtk3-classic

(Previously known as gtk3-mushrooms)

Screenshot of some of the tweaks

Patched Release Upstream GTK3 CI Status

This repository contains patches to restore GTK3's look & feel reminiscent to earlier versions. With many enhancements such as disabled CSD headers, traditional dialog boxes and file browser improvements.

These are designed to work on non-GNOME desktops (such as XFCE and MATE) as well as any other environment where GTK applications are used. Running on GNOME desktops is not recommended!

View Screenshots

Packages

Arch

Currently, these are packaged in the AUR as gtk3-classic, which is based on the official gtk3 package. Use an AUR helper (such as yay) to install the package(s):

yay -S gtk3-classic lib32-gtk3-classic

This package does not include examples or tests.

If you've previously installed gtk3-mushrooms, switch to this new package.

Patches

Client Side Decorations (only on Xorg)

  • CSDs are disabled by default.
    • All windows are decorated only by window manager.
    • You can enable CSDs by setting GTK_CSD=0 environment variable (or GTK_CSD=1 to force CSDs on each GTK3 window).
  • Client side shadows of windows, menus and tooltips are disabled by default.
    • You can enable shadows by setting GTK_CSD=1 environment variable.
  • Minimize, maximize and close buttons, window title and subtitle are removed from headerbar.

File chooser

  • Typeahead feature is restored.
  • "Other locations" button is removed from Places sidebar.
    • All mounted devices and drives are accessible directly.
    • "Networks" button is added for browsing network shares.
  • Trash and XDG user directories (like Pictures, Downloads, Documents) are removed from Places sidebar.
    • These can be added as bookmarks.
  • File System button in Places sidebar is labeled as "File System" instead of "Computer".

Appearance

  • Message dialogs have traditional appearance with left-aligned texts and right-aligned buttons.
  • Some GTK stock icons on buttons and context menus are restored.
  • Regular colorized icons instead of symbolic icons are used in file chooser dialog.
  • Appearance of print dialog is less "gnomish", natural margins are restored.
  • Backdrop CSS state is disabled.
    • Inactive windows don't look differently.
    • You can restore backdrop state by setting GTK_CSD=1 environment variable.
  • Status bars are smaller regardless of used theme.
  • File chooser dialog, places sidebar and color chooser dialog use a traditional context menu instead of popover.

Default Settings

  • Scrollbars are always visible.
    • You can enable invisible scrollbars by GTK_OVERLAY_SCROLLING=1 environment variable.
  • Current working directory is opened by default in file chooser dialog instead recently used files.
  • Atril instead of Evince is set as default previewer in printing dialog.

Other

  • Delay before showing mnemonics is removed. You don't have to wait when you press Alt.
  • "Insert emoji" context menu item of entry fields is hidden.
    • You can restore it by setting GTKM_INSERT_EMOJI environment variable.
  • Default Adwaita theme has smaller controls (buttons, fields, tabs, etc.).

Fixes

  • Reinstate the ability to switch between standard tabs by scrolling over them, similar to GTK2.
  • Menu bars are no longer covered by too high popup menus. (patch broken)
  • Labels are wrapped similarly to GTK2. This patch fixes too wide windows in applications improperly ported from GTK2.
  • Errors in console output caused by integration with Accessibility Toolkit are hidden.

Problems?

These patches are unofficial and are not supported by GTK developers nor your distribution. If you are having trouble with an application or theme, try installing gtk3 and confirm it's definitely a problem with these builds.

Ideally, it would be most helpful to isolate the problematic patch by excluding it in your PKGBUILD and reinstalling.

View Issues

Contributing

We aim to keep the patches rolling across new upstream GTK3 versions where possible. Due to our limited knowledge with C, we'd appreciate any help in fixing bugs caused by patches or any new contributions.

Patches should not break GTK3 or any applications, and should offer "classic" functionality as seen in GTK2 or early versions of GTK3.

Patches are managed using quilt. See the man page for usage or Debian's Using Quilt wiki for hints.

View Tasks

Building from Source

Under Arch, clone this repository and run makepkg. You may need to install the build dependencies by passing -s. If the package is successfully built, install with sudo pacman -U *.tar.zst.

License

Patches follow the same license as GTK3, which is LGPL.

About

Patches to provide a more traditional experience to GTK3


Languages

Language:Shell 78.5%Language:CSS 21.5%