diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-29 07:17:07 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:16 -0300 |
| commit | 99c088e277e7d79d7b4341d3f546c02e7254e107 (patch) | |
| tree | fcfa295e3d236ec6bd676b5ffcf57401e2dcf732 /src/draw.zig | |
| parent | dd586f1d8937f67e95504da167216d5413f05262 (diff) | |
| download | pardes-99c088e277e7d79d7b4341d3f546c02e7254e107.tar.gz pardes-99c088e277e7d79d7b4341d3f546c02e7254e107.zip | |
G9: SelectionGlow, a soft halo round the body's selection
SelectionGlow on|off (off; a pixel shell's, Chrome.selection_glow): each
block of selected rows in a pane body casts Lift's soft kind in the
selection's own colour, the block its caster (never touched) and a cursor
beside it joined to the caster; clipped to the bodies (never a tag or a
grip); at most 22% (ยง8.2), less where the text round it would drop below
min(its contrast, 4.5); fading in over 100 ms with an ease-out, on the
core's continuous path (shell_continuous); none while panes move. Blocks
come from the cells in the theme's selection colour (documented).
Tests: the halo's colour, its clip to the body, nothing at its first frame
and up to its cap after 100 ms, fading done. Gates as G8. Feel review:
.scratch/render/selection/.
Diffstat (limited to 'src/draw.zig')
| -rw-r--r-- | src/draw.zig | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/draw.zig b/src/draw.zig index 5f14ae21..6c0cc077 100644 --- a/src/draw.zig +++ b/src/draw.zig @@ -472,6 +472,7 @@ pub fn render(p: *Pardes, arena: std.mem.Allocator) !*Surface { .rail_px = @intCast(@min(255, @as(u32, p.theme().rail_px orelse 12) * p.settings.grip_width / 100)), .name_ink = chrome.tag_name_fg, .active_name_ink = if (p.settings.focus_tint) chrome.tag_active_name_fg else chrome.tag_name_fg, + .selection_glow = @intFromBool(p.settings.selection_glow), }; if (p.theme().decor) |decor| { s.chrome.decor_dots = decor.page_dots; |
