From 85c1fcf7925f5d74bbbe8e36c56ee18f7f1314ec Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Tue, 9 Jun 2026 12:33:51 -0500 Subject: feat(theme-studio): add a real, exported :box face attribute MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The mode-line box in the preview was hardcoded — it showed a box the generated theme couldn't actually produce, since build-theme.el never emitted :box. Made :box a real face attribute instead: a per-face box object (style line/raised/pressed, width, color) stored on UI and package faces, set from a "box" dropdown in both tables, rendered from the attribute everywhere (the mode-line bars, the package previews via ofs, the UI table preview cells), and exported through build-theme.el's --attrs as a proper :box plist (released/pressed → :style *-button; line → :line-width + optional :color). The hardcoded box is gone; mode-line and mode-line-inactive now default to the released-button box that is the Emacs default, so the preview and the export agree. This also gives the package faces that genuinely use :box a way to represent it — the face audit found several (magit-branch-current/-remote-head, two flycheck list faces, the telega button family, ~15 slack button/dialog faces). Tests: build-theme gains box-conversion + ui-box-emit ERT tests (24/24); the app-core deep-equal tests account for the new box slot; all 9 browser gates, 20 python, and 55 node tests stay green. --- scripts/theme-studio/theme-studio.html | 48 ++++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 16 deletions(-) (limited to 'scripts/theme-studio/theme-studio.html') diff --git a/scripts/theme-studio/theme-studio.html b/scripts/theme-studio/theme-studio.html index db5cac7f..90ac00cc 100644 --- a/scripts/theme-studio/theme-studio.html +++ b/scripts/theme-studio/theme-studio.html @@ -149,7 +149,7 @@
-
face △foreground △background △stylecontrast △preview
+
face △foreground △background △stylecontrast △previewbox
@@ -165,7 +165,7 @@
-
face △fg △bg △stylecontrast △inherit △size △
+
face △fg △bg △stylecontrast △inherit △size △box
@@ -174,7 +174,7 @@