Ramblings of an aging IT geek
← Ramblings of an aging IT geek
linux

A Palette for the Whole Desktop

tinct now themes GTK and Qt (GTK3/4, libadwaita, Qt5/6, GNOME Shell, KDE Plasma) so the palette reaches the apps that don't read a config file you control.

Listen to this post
A full Linux desktop unified under one palette

tinct started by theming the parts of my setup that read a plain config file I own: kitty, Hyprland, waybar, dunst, neovim. That covers a terminal-and-Wayland life nicely, right up until you open a GTK file manager or a Qt settings dialog and it's still wearing last month's colours. The toolkit apps were the conspicuous gap: the browser chrome, the file picker, half of GNOME and KDE, all stubbornly default.

That gap is now closed. tinct has output plugins for the desktop toolkits themselves:

  • GTK: GTK3, GTK4 and libadwaita, so GNOME apps and anything GTK-based pick up the palette.
  • Qt: Qt5 and Qt6, plus KDE Plasma and konsole.
  • GNOME Shell: the shell, not just the apps under it.

Which means tinct generate -i image -p wallpaper.jpg -o all now recolours the whole desktop in one go: terminal, window manager, bar, and the GTK/Qt apps that used to sit outside the reach of a Pywal-style tool. Getting these right is fiddlier than a terminal config (toolkits have opinions, and contrast matters more when real UI chrome is involved), which is exactly why having tinct's semantic role-assignment and WCAG checks do it beats hand-templating.

Still early, still moving. AUR is tinct-bin; the full output-plugin list lives in the docs.