Files
zavageandClaude Opus 5 d56294b00f Port to GTK 3.24 and recolour to the film palette
The GTK3 sheets targeted GTK 3.18 and broke at 3.20, when the CSS class
model was replaced by element nodes. On 3.24 they parsed but matched almost
nothing: buttons, entries, tabs, scales and scrollbars rendered as bare
rectangles. Rewritten against the node model.

gtk-3.0/
  gtk.css       colour definitions only - recolour the theme here
  widgets.css   all widget rules, node-selector based
  mate.css      MATE panel, applets, window list, Caja, terminal
  gtk-dark.css  alias of gtk.css (the theme is already dark)
  legacy/       the original 3.18 sheets, moved aside for reference

Palette retargeted to the WAR10CK window in Live Free or Die Hard:
bg #23425E, accent #BA6A07. Supporting shades derived with the original
theme's own ratios (raised x1.42, recessed x0.72). Text had to be lifted -
the old #868A8E scores 3.0:1 on #23425E, so normal text is #B4C4D2
(5.85:1) and bright text #E8F0F7 (9.06:1).

metacity-1/ pixmaps remapped by projecting each pixel onto the segment
between its two nearest source anchors and re-blending against the new
ones, so antialiased edges stay clean. Titlebar is ~7px taller, its text
is centred and no longer a hardcoded #6d7379 for both focus states, and
the idle window-button glyphs are white instead of a dim orange that
turned to mud on the lighter bar.

Scrollbars are deliberately not accent-coloured; @scrollbar_slider
(#454F5A) keeps them quiet at rest and findable on hover.

Fixes a transparent-body bug: GtkDialog and GtkAssistant do not use the
`window` CSS node in 3.20+, so every dialog, About box and file chooser
rendered as a hole through to the desktop.

Attribution and the GPL-3.0 modification notice added to README.md,
index.theme and metacity-theme-1.xml. Licence unchanged.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-18 05:58:09 -06:00

70 lines
3.3 KiB
CSS

/* Diehard4 — GTK 3.20+ port
*
* Original theme by obscurant (2016, GTK 3.18 era).
* Ported to the post-3.20 CSS node model. Palette and design language
* unchanged: flat surfaces, 2-3px radii, burnt-orange accent.
*
* Everything below is a colour definition; widget rules live in widgets.css.
* Recolour the theme by editing this block alone.
*/
/* ---- core palette ----
* Matched to the WAR10CK window in Live Free or Die Hard: the slate the
* window and titlebar are painted in, and the orange of the edge bars.
* The two screen-accurate values are bg_color and selected_bg_color; the
* rest are derived from them using the original theme's own ratios
* (raised = bg x1.42, recessed = bg x0.72).
*/
@define-color bg_color #23425E; /* window + titlebar (screen) */
@define-color dark_color #193044; /* recessed: entries, troughs */
@define-color light_color #325E85; /* raised: buttons, headers */
@define-color fg_color #B4C4D2; /* normal text 5.85:1 */
@define-color bright_fg_color #E8F0F7; /* titles, text on accent */
@define-color selected_bg_color #BA6A07; /* the accent (screen) */
@define-color selected_fg_color #E8F0F7;
@define-color menu_color #8CA2B6; /* menubar text, dim text */
@define-color link_color #D9964A;
@define-color scrollbar_slider #454F5A; /* deliberately quiet, not accent */
@define-color trough_border_color @light_color; /* was #111B25 — invisible on 3.24 */
/* ---- derived / status ---- */
@define-color borders @light_color;
@define-color unfocused_borders @dark_color;
@define-color insensitive_fg_color alpha(@fg_color, 0.45);
@define-color insensitive_bg_color @bg_color;
@define-color insensitive_base_color @dark_color;
@define-color warning_color #B5761F;
@define-color error_color #A33A2E;
@define-color success_color #4E7A46;
/* ---- names third-party CSS and apps expect ---- */
@define-color theme_bg_color @bg_color;
@define-color theme_fg_color @fg_color;
@define-color theme_base_color @bg_color;
@define-color theme_text_color @fg_color;
@define-color theme_selected_bg_color @selected_bg_color;
@define-color theme_selected_fg_color @selected_fg_color;
@define-color theme_unfocused_bg_color @bg_color;
@define-color theme_unfocused_fg_color @fg_color;
@define-color theme_unfocused_base_color @bg_color;
@define-color theme_unfocused_text_color @fg_color;
@define-color theme_unfocused_selected_bg_color @selected_bg_color;
@define-color theme_unfocused_selected_fg_color @selected_fg_color;
@define-color base_color @bg_color;
@define-color text_color @fg_color;
@define-color tooltip_bg_color @dark_color;
@define-color tooltip_fg_color @bright_fg_color;
@define-color content_view_bg @bg_color;
@define-color placeholder_text_color alpha(@fg_color, 0.55);
/* ---- window manager hints (GTK client-side decorations) ---- */
@define-color wm_title @bright_fg_color;
@define-color wm_unfocused_title @menu_color;
@define-color wm_bg @bg_color;
@define-color wm_border @light_color;
@define-color wm_icon_close_bg @selected_bg_color;
@define-color wm_icon_close_fg @bright_fg_color;
@import url("widgets.css");
@import url("mate.css");