summaryrefslogtreecommitdiff
path: root/src/themes
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-08-05 15:05:34 -0300
committerGabriel Schneider <[email protected]>2026-08-10 09:17:07 -0300
commit6eaa81710fee8ee2191a0b967b069bb01952be2e (patch)
tree051f54ede02517a851538f8a853f52c7bdfa96a9 /src/themes
parent98199e573d678f6b29a5c122836ec393856d7bd8 (diff)
downloadpardes-6eaa81710fee8ee2191a0b967b069bb01952be2e.tar.gz
pardes-6eaa81710fee8ee2191a0b967b069bb01952be2e.zip
theme the selection colors
Diffstat (limited to 'src/themes')
-rw-r--r--src/themes/acme.zig7
-rw-r--r--src/themes/dark.zig8
-rw-r--r--src/themes/helix.zig9
3 files changed, 24 insertions, 0 deletions
diff --git a/src/themes/acme.zig b/src/themes/acme.zig
index 925cacfb..87183ebc 100644
--- a/src/themes/acme.zig
+++ b/src/themes/acme.zig
@@ -5,10 +5,17 @@
//! darkened for paper: index 7 (the "white" a shell writes most of its output
//! in) is a mid grey, and 15 (bright white) is BLACK, because a program asking
//! for the brightest color on a light page means "make this stand out".
+//!
+//! The selection is acme's own: plan9's DDarkyellow #eeee9e, the colour acme
+//! sweeps text with, and black ink over it — acme changes the paper under a
+//! selection and never the letters. Out of the same draw.h palette the
+//! scrollbar's #99994c (DYellowgreen) is already taken from.
pub const theme = .{
.name = "acme",
.bg = .{ 0xff, 0xff, 0xea },
.fg = .{ 0x00, 0x00, 0x00 },
+ .sel_bg = .{ 0xee, 0xee, 0x9e },
+ .sel_fg = .{ 0x00, 0x00, 0x00 },
.tag_bg = .{ 0xea, 0xff, 0xff },
.tag_fg = .{ 0x00, 0x00, 0x00 },
.box = .{ 0x6e, 0x4f, 0xd0 },
diff --git a/src/themes/dark.zig b/src/themes/dark.zig
index df418982..5b39b1c7 100644
--- a/src/themes/dark.zig
+++ b/src/themes/dark.zig
@@ -3,10 +3,18 @@
//! `bg`/`fg` NULL: the page keeps the host terminal's own default cell, so
//! pardes sits inside whatever the surrounding terminal already looks like and
//! only paints its chrome. Every other theme here dresses the whole page.
+//!
+//! The selection pair is the warm tan pardes used to paint EVERY theme's
+//! selection with, back when those six numbers were module constants. This is
+//! the theme it belongs to: a null page is the host terminal's, and a tan that
+//! reads as keyboard-driven on whatever dark cell that turns out to be is
+//! exactly what it was picked for.
pub const theme = .{
.name = "dark",
.bg = null,
.fg = null,
+ .sel_bg = .{ 0x4a, 0x3a, 0x1e },
+ .sel_fg = .{ 0xd8, 0xc8, 0xa8 },
.tag_bg = .{ 0x2c, 0x2a, 0x3e },
.tag_fg = .{ 0x96, 0x96, 0x96 },
.box = .{ 0x6e, 0x4f, 0xd0 },
diff --git a/src/themes/helix.zig b/src/themes/helix.zig
index 26c156ff..3c2934f7 100644
--- a/src/themes/helix.zig
+++ b/src/themes/helix.zig
@@ -18,6 +18,13 @@
//! #121212 for the bars, 238 #444444 for the thumb, 235 #262626 for an
//! unfocused box. No hue anywhere outside the syntax colors.
//!
+//! The selection pair is the one thing not in that capture, because the capture
+//! has nothing selected in it: it is pardes.toml's own
+//! `"ui.selection" = { bg = "#80a0ff" }`, verbatim. helix names no foreground
+//! there — it tints the cell and lets the syntax colour ride, which at #bdbdbd
+//! on #80a0ff is not something to copy — so the ink is the page's own
+//! near-black, the other end of the theme's own two extremes.
+//!
//! Shape: bg/fg are explicit rather than null, because "just really dark" must
//! not depend on whose terminal it lands in — but `palette` stays null so a
//! shell's ANSI indices still resolve to the host's own 16 colors. helix does
@@ -32,6 +39,8 @@ pub const theme = .{
.name = "helix",
.bg = .{ 0x08, 0x08, 0x08 },
.fg = .{ 0xbd, 0xbd, 0xbd },
+ .sel_bg = .{ 0x80, 0xa0, 0xff },
+ .sel_fg = .{ 0x08, 0x08, 0x08 },
.tag_bg = .{ 0x12, 0x12, 0x12 },
.tag_fg = .{ 0x94, 0x94, 0x94 },
.box = .{ 0x62, 0x62, 0x62 },