diff --git a/ui/dev/harness.html b/ui/dev/harness.html index cbab2cc..4497084 100644 --- a/ui/dev/harness.html +++ b/ui/dev/harness.html @@ -138,6 +138,36 @@ +

2b — Selection geometry (rows must NOT shift when selected)

+
+
+
no selection
+ + + + + + + + + +
NameSize
aaa.txt1 KB
bbb.txt2 KB
ccc.txt3 KB
ddd.txt4 KB
+
+
+
middle row selected — baselines must still line up
+ + + + + + + + + +
NameSize
aaa.txt1 KB
bbb.txt2 KB
ccc.txt3 KB
ddd.txt4 KB
+
+
+

3 — Context menu

diff --git a/ui/src/styles.css b/ui/src/styles.css index 0fab48e..58a49c6 100644 --- a/ui/src/styles.css +++ b/ui/src/styles.css @@ -639,6 +639,21 @@ body { border-color: var(--w7-li-bd-hl); } + /* Constant row geometry. 7.css gives ONLY tr.highlighted a 1px border, and + the table is border-collapse: collapse — so a selected row physically grew + 1px at top and bottom and shoved every row below it down by 2px as the + cursor moved. Every row reserves that border instead, transparent when not + selected, so selecting changes colour and nothing else. + NOTE: this sits in `skinfix`, which outranks `skin` by LAYER regardless of + specificity, so it would also blank 7.css's highlight border — both + selected states therefore restate their border-color below. */ + .win7 table > tbody > tr { + border: 1px solid transparent; + } + .win7 table > tbody > tr.highlighted { + border-color: var(--w7-li-bd-hl); + } + /* Pane-focus model (commander convention, matching Win7 Explorer): the CURSOR ROW always carries the selection band in BOTH panels — tr.highlighted covers "selected via Space" AND "cursor row" (the template