This commit is contained in:
2026-11-04 20:35:46 +01:00
parent 5f4de5e60c
commit 86abc097f4
348 changed files with 10300 additions and 0 deletions
@@ -0,0 +1,54 @@
# GIMP
GIMP has its own personal-override CSS hook, separate from the auto-generated `theme.css` that
ships with the app (which is regenerated on every theme change and explicitly says not to edit
it by hand). This template writes to that personal file directly: `gimp.css`, imported
automatically if present, no extra setup needed once the template is enabled.
## What gets themed, and the two things that needed extra care
GIMP's own theme only defines 17 named colors (`fg-color`, `bg-color`, `selected-color`, and so
on), reused across `common.css`/`common-dark.css`. Most of the UI follows from setting those.
Two things needed more than a plain 1:1 color swap:
- **Context menus and other `GtkPopoverMenu` content had no background rule at all** in GIMP's
own theme (only narrow button/list-row styling), so they fell through to GTK's stock light
default. Fixed with explicit `popover`/`popover contents` rules.
- **`selected-color`/`extreme-selected-color` are always paired with white text** in GIMP's own
CSS, with no dark-text variant the way Noctalia's other templates use `on_primary` on top of a
`primary`-colored background. Mapping them straight to Noctalia's yellow accent made text
unreadable everywhere that yellow shows up (menu hovers, selected list rows, the Preferences
sidebar). Fixed by keeping the yellow and adding an explicit dark-text override for every
selector GIMP's `common.css` actually uses those two variables as a background for (checked via
grep, not guessed).
- A few widgets, confirmed just the Preferences dialog's own page title bar, don't use GIMP's
custom variables at all. GIMP's own source comment on that exact element admits it "doesn't
have any more specific way to style it," meaning it falls back to standard GTK/Adwaita
variable names (`@theme_bg_color`, `@theme_selected_bg_color`, etc.) instead. Those are set
too, as a safety net, since the system `gtk.css` those would normally come from never loads
inside a Flatpak sandbox.
## Requires GIMP's own "Default" base theme
GIMP has two selectable base themes (Preferences > Interface > Theme): `Default` and `System`.
This template is built against `Default` (`themes/Default/gimp-dark.css`), the one this personal
override's own 17 variables and extra selectors are checked against. `System` imports a
different, much smaller CSS file with no guarantee it uses the same variable names, not tested
or supported here. If colors look wrong after enabling this template, check Preferences first.
## Native install
`gimp.css` lives at `~/.config/GIMP/3.2/gimp.css`.
## Flatpak install (`org.gimp.GIMP`)
Same file, inside the sandbox's own isolated config: `~/.var/app/org.gimp.GIMP/config/GIMP/3.2/
gimp.css`. No `flatpak override` needed, GIMP reads its own config from inside its sandbox
regardless of any host `~/.config` access.
## Testing
Tested against GIMP 3.2.4 (Flatpak). Verified visually across three passes: main window and
toolbox (`screenshot.png`), right-click context menus, and the Preferences dialog specifically
(`screenshot-preferences.png`), the hardest case since it touches nearly every one of GIMP's 17
variables plus the GTK fallback ones.