diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-29 07:41:35 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:16 -0300 |
| commit | 411d0b6059192b75853e220e1242b694ae461a3e (patch) | |
| tree | 50f8bb207f3cdda497bdd84658a2d3ea74b4bc2b /src/themes | |
| parent | da920ca49e3f5d1649e811bbdc3ddba482c6aae4 (diff) | |
| parent | 5526c68beec454cfe607a579723b97b4848e7d3a (diff) | |
| download | pardes-411d0b6059192b75853e220e1242b694ae461a3e.tar.gz pardes-411d0b6059192b75853e220e1242b694ae461a3e.zip | |
Merge: 9P rounds 9-17 + render DPI, dark tints, G4-G10
Diffstat (limited to 'src/themes')
| -rw-r--r-- | src/themes/dark.zig | 4 | ||||
| -rw-r--r-- | src/themes/helix.zig | 4 | ||||
| -rw-r--r-- | src/themes/lapis.zig | 92 |
3 files changed, 100 insertions, 0 deletions
diff --git a/src/themes/dark.zig b/src/themes/dark.zig index 82396397..e93fd489 100644 --- a/src/themes/dark.zig +++ b/src/themes/dark.zig @@ -17,6 +17,10 @@ pub const theme = .{ .sel_fg = .{ 0xd8, 0xc8, 0xa8 }, .tag_bg = .{ 0x2c, 0x2a, 0x3e }, .tag_fg = .{ 0x96, 0x96, 0x96 }, + // The focused tag: its band lighter in its own hue (1.54:1 off the + // plain one), its ink lighter to keep reading on it. + .tag_active_bg = .{ 0x48, 0x45, 0x66 }, + .tag_active_fg = .{ 0xc8, 0xc8, 0xc8 }, .box = .{ 0x66, 0x3f, 0xe0 }, .box_dim = .{ 0x35, 0x3a, 0x58 }, .kw = .{ 0xda, 0x5e, 0xea }, diff --git a/src/themes/helix.zig b/src/themes/helix.zig index db51de3a..61dc8e63 100644 --- a/src/themes/helix.zig +++ b/src/themes/helix.zig @@ -43,6 +43,10 @@ pub const theme = .{ .sel_fg = .{ 0x08, 0x08, 0x08 }, .tag_bg = .{ 0x12, 0x12, 0x12 }, .tag_fg = .{ 0x94, 0x94, 0x94 }, + // The focused tag, still on the ramp: 237 #3a3a3a under 250 #bdbdbd + // (the page's text), 1.65:1 off the plain bar. + .tag_active_bg = .{ 0x3a, 0x3a, 0x3a }, + .tag_active_fg = .{ 0xbd, 0xbd, 0xbd }, .box = .{ 0x62, 0x62, 0x62 }, .box_dim = .{ 0x26, 0x26, 0x26 }, .kw = .{ 0xd7, 0x76, 0xf9 }, diff --git a/src/themes/lapis.zig b/src/themes/lapis.zig new file mode 100644 index 00000000..46623fc2 --- /dev/null +++ b/src/themes/lapis.zig @@ -0,0 +1,92 @@ +//! Lapis: 0x4200.cafe's illuminated manuscript (web/theme/lapis.css) as a +//! pardes theme. Ultramarine vellum, gold leaf and vermilion rubrics: the +//! page is lapis-deep, the tags lapis with their names in gold, the text +//! vellum. The site's ornament comes with it as the theme's `decor`, drawn +//! inside the existing chrome (docs/render-pipeline.md ยง10, decision 1): +//! a gold dot grid on the page under the pane bodies, a gold and lapis +//! checker in the scroll column, every tag a gold-framed plaque with the +//! trail's hard vermilion shadow (inside its own band: in a tiled layout a +//! shadow past it would fall on the next pane or its grip, and no ornament +//! may cover a focus indicator), the focused one striped like the code +//! window's title bar, and the file name's vermilion offset shadow. +pub const theme = .{ + .name = "lapis", + // --lapis-deep, --vellum + .bg = .{ 0x0a, 0x10, 0x30 }, + .fg = .{ 0xee, 0xe6, 0xd2 }, + // A gold highlight in lapis ink, as the directory's current entry. + .sel_bg = .{ 0xe8, 0xc4, 0x6a }, + .sel_fg = .{ 0x0f, 0x1a, 0x4a }, + // --lapis, --vellum-dim + .tag_bg = .{ 0x0f, 0x1a, 0x4a }, + .tag_fg = .{ 0x9a, 0xa6, 0xd9 }, + .tag_name_fg = .{ 0xe8, 0xc4, 0x6a }, + .tag_active_name_fg = .{ 0xf2, 0xd2, 0x80 }, + // The plaques' hover lapis, taken a step further: 1.5:1 off the tag. + .tag_active_bg = .{ 0x25, 0x39, 0x7d }, + .tag_active_fg = .{ 0xee, 0xe6, 0xd2 }, + .box = .{ 0xe8, 0xc4, 0x6a }, + .box_dim = .{ 0x3a, 0x4a, 0x8a }, + .box_border = .{ 0x9a, 0xa6, 0xd9 }, + .box_dirty = .{ 0xff, 0x6a, 0x4a }, + .column_box = .{ 0xff, 0x6a, 0x4a }, + .column_box_dim = .{ 0x8a, 0x3a, 0x3a }, + // Rubrics: vermilion keywords, gilded strings, the code window's green + // for numbers, vellum-dim comments. + .kw = .{ 0xff, 0x6a, 0x4a }, + .str = .{ 0xe8, 0xc4, 0x6a }, + .num = .{ 0xe7, 0xff, 0xe0 }, + .comment = .{ 0x9a, 0xa6, 0xd9 }, + .lineno = .{ 0x5a, 0x6a, 0xa8 }, + .lineno_active = .{ 0x6a, 0x7a, 0xb8 }, + // --lapis-ink under a gold thumb (the page's scrollbar-color). + .scroll_track = .{ 0x05, 0x0a, 0x24 }, + .scroll_thumb = .{ 0xe8, 0xc4, 0x6a }, + // Gold rules, a vermilion hairline between a tag and its text. + .border = .{ 0xe8, 0xc4, 0x6a }, + // An empty column is the page, not a slab of gold leaf. + .empty_col = .{ 0x0a, 0x10, 0x30 }, + .tag_rule = .{ 0xd4, 0x41, 0x2f }, + .search_bg = .{ 0x6a, 0x2a, 0x1c }, + .search_fg = .{ 0xff, 0xd0, 0xb0 }, + .diagnostic_error = .{ 0xff, 0x6a, 0x4a }, + .diagnostic_warning = .{ 0xe8, 0xc4, 0x6a }, + .diagnostic_info = .{ 0x9a, 0xc6, 0xff }, + .diagnostic_hint = .{ 0xa8, 0xe0, 0xc0 }, + .decor = .{ + .page_dots = .{ 0xe8, 0xc4, 0x6a }, + // #e8c46a22 on the site: a dot a pixel and a half across every 22. + .page_dot_alpha = 0x22, + .page_dot_px = 22, + .rail_checker = .{ 0xe8, 0xc4, 0x6a }, + .rail_checker_px = 3, + // The trail: a 2px gold frame and a 5px vermilion shadow; the code + // window's title bar: gold and lapis stripes of 2px. + .tag_border = .{ 0xe8, 0xc4, 0x6a }, + .tag_border_px = 2, + .tag_shadow = .{ 0xd4, 0x41, 0x2f }, + .tag_shadow_px = 5, + .tag_stripe = .{ 0xe8, 0xc4, 0x6a }, + .tag_stripe_px = 2, + .title_shadow = .{ 0xd4, 0x41, 0x2f }, + .title_shadow_px = 2, + }, + .palette = .{ + .{ 0x0a, 0x10, 0x30 }, + .{ 0xff, 0x6a, 0x4a }, + .{ 0xa8, 0xe0, 0xc0 }, + .{ 0xe8, 0xc4, 0x6a }, + .{ 0x9a, 0xc6, 0xff }, + .{ 0xd8, 0xa0, 0xe8 }, + .{ 0x8a, 0xd8, 0xd8 }, + .{ 0xee, 0xe6, 0xd2 }, + .{ 0x9a, 0xa6, 0xd9 }, + .{ 0xff, 0x9a, 0x6a }, + .{ 0xc8, 0xf0, 0xd8 }, + .{ 0xff, 0xde, 0x90 }, + .{ 0xc0, 0xdc, 0xff }, + .{ 0xe8, 0xc0, 0xf4 }, + .{ 0xb0, 0xec, 0xec }, + .{ 0xff, 0xf8, 0xe8 }, + }, +}; |
