nandi/jolt-nativepublic Fork 0
d6b9f3a
Commits
Clone
git clone https://git.rickub.com/nandi/jolt-native.git
git clone ssh://git@rickub.com/nandi/jolt-native.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

Leave a gap between a line and the scrollbar

Reserving the bar alone puts the wrap boundary at its left edge, so a line
ends flush against it: legible, but it reads as text running into the bar,
and a glyph whose drawn width runs a hair past its measured one touches it.
The strip is the bar and a gap now, which is what puts the last word beside
the bar rather than on it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
nandi committed 2026-09-10T10:34:04-07:00 Browse files
d6b9f3a parent: 5145c3b
modified jvui/src/jvui/widgets.clj +7 -1
@@ -481,7 +481,13 @@
481481 ;; painted over the viewport's right edge: without it the last
482482 ;; characters of every wrapped line sit under the bar, which is
483483 ;; where "the sidebar truncates" comes from.
484- gutter (double (c/th :scrollbar))
484+ ;; The bar's own width and a gap beside it. Reserving the bar alone
485+ ;; leaves the wrap boundary exactly at its left edge, so a line ends
486+ ;; flush against it — legible, but it reads as text running into the
487+ ;; bar, and a glyph whose drawn width runs a hair past its measured
488+ ;; one touches it. A gap is what puts the last word beside the bar
489+ ;; rather than on it.
490+ gutter (+ (double (c/th :scrollbar)) (double (c/th :spacing)))
485491 r (c/box* (merge {:dir :vertical
486492 :expand :both
487493 :pad-right gutter
@@ -481,7 +481,13 @@
481 ;; painted over the viewport's right edge: without it the last481 ;; painted over the viewport's right edge: without it the last
482 ;; characters of every wrapped line sit under the bar, which is482 ;; characters of every wrapped line sit under the bar, which is
483 ;; where "the sidebar truncates" comes from.483 ;; where "the sidebar truncates" comes from.
484- gutter (double (c/th :scrollbar))484+ ;; The bar's own width and a gap beside it. Reserving the bar alone
485+ ;; leaves the wrap boundary exactly at its left edge, so a line ends
486+ ;; flush against it — legible, but it reads as text running into the
487+ ;; bar, and a glyph whose drawn width runs a hair past its measured
488+ ;; one touches it. A gap is what puts the last word beside the bar
489+ ;; rather than on it.
490+ gutter (+ (double (c/th :scrollbar)) (double (c/th :spacing)))
485 r (c/box* (merge {:dir :vertical491 r (c/box* (merge {:dir :vertical
486 :expand :both492 :expand :both
487 :pad-right gutter493 :pad-right gutter