summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-07-26 17:47:39 -0300
committerGabriel Schneider <[email protected]>2026-08-01 15:02:07 -0300
commita4a2a96d023a5977ae7a7d07c7ee9e4fe38e9c60 (patch)
tree72d69bce82c9e0145ae63bdf263a5ea16c705748
parent2c670371a21cde5ab506eda02dc2233e20fc1fe1 (diff)
downloadpardes-a4a2a96d023a5977ae7a7d07c7ee9e4fe38e9c60.tar.gz
pardes-a4a2a96d023a5977ae7a7d07c7ee9e4fe38e9c60.zip
Small ux improvements, : tagline focus
-rw-r--r--src/pardes.zig220
-rw-r--r--src/tutor.txt21
-rw-r--r--test/snapshots/chordcut.golden360
-rw-r--r--test/snapshots/chordcut.snap2
-rw-r--r--test/snapshots/cursorline.golden196
-rw-r--r--test/snapshots/cursorline.snap2
-rw-r--r--test/snapshots/fileedit.golden112
-rw-r--r--test/snapshots/fileedit.snap2
-rw-r--r--test/snapshots/fsearch.golden296
-rw-r--r--test/snapshots/fsearch.snap2
-rw-r--r--test/snapshots/hscroll.golden82
-rw-r--r--test/snapshots/hscroll.snap2
-rw-r--r--test/snapshots/images.golden234
-rw-r--r--test/snapshots/images.snap2
-rw-r--r--test/snapshots/layout-close.golden2
-rw-r--r--test/snapshots/layout-close.snap3
-rw-r--r--test/snapshots/layout-open.golden34
-rw-r--r--test/snapshots/layout-open.snap11
-rw-r--r--test/snapshots/look-center.golden174
-rw-r--r--test/snapshots/look-center.snap2
-rw-r--r--test/snapshots/look-file-1col.golden14
-rw-r--r--test/snapshots/look-file-1col.snap5
-rw-r--r--test/snapshots/look-file.golden114
-rw-r--r--test/snapshots/look-file.snap2
-rw-r--r--test/snapshots/lookloaded.golden158
-rw-r--r--test/snapshots/lookloaded.snap8
-rw-r--r--test/snapshots/rsearch.golden86
-rw-r--r--test/snapshots/rsearch.snap2
-rw-r--r--test/snapshots/scrolloff.golden241
-rw-r--r--test/snapshots/scrolloff.snap2
-rw-r--r--test/snapshots/syntax.golden198
-rw-r--r--test/snapshots/syntax.snap2
-rw-r--r--test/snapshots/tag.golden40
-rw-r--r--test/snapshots/tag.snap10
-rw-r--r--test/snapshots/tagcmd.golden164
-rw-r--r--test/snapshots/tagcmd.snap40
-rw-r--r--test/snapshots/ttylook.golden56
-rw-r--r--test/snapshots/tutor.golden48
-rw-r--r--test/snapshots/tutor.snap2
39 files changed, 1586 insertions, 1365 deletions
diff --git a/src/pardes.zig b/src/pardes.zig
index 16193967..e32e2869 100644
--- a/src/pardes.zig
+++ b/src/pardes.zig
@@ -35,6 +35,11 @@ pub const PREFIX_W: u16 = 5;
/// vim 'scrolloff': keyboard cursor moves keep this many context rows visible
/// above/below the cursor (clamped at file boundaries and short panes)
const scroll_off = 3;
+/// which key runs which acme chord — everywhere it exists: normal mode, the
+/// tag, and the `:` command line. false (the default) is the original binding,
+/// Enter looks / Tab executes (so a command runs with `:w<Tab>`); true swaps
+/// them for the vim reading.
+pub const swap_enter_tab = false;
pub const topbar_str = "Kill Newcol Tutor Debug Colors NextColor Crt Dump";
const pane_builtins_str = "Del";
@@ -704,6 +709,11 @@ pub const Pardes = struct {
col_w: [MAX_COLS]u16 = undefined,
active: usize = 0,
+ /// keyboard focus history, least-recent first, `active` last: rebuilt each
+ /// sync (dead slots pruned, ids are reused). A closing pane hands focus
+ /// back to the last live one instead of whatever slot comes first.
+ focus_hist: [MAX_PANES]usize = undefined,
+ nfocus: usize = 0,
theme_idx: usize = 0,
colors_on: bool = true,
show_debug: bool = false,
@@ -1079,11 +1089,12 @@ pub const Pardes = struct {
exitTagEdit(pane); // the tag is ALWAYS insert; Esc leaves it
return;
}
- // Enter looks / Tab executes the selection or the word at the cursor
+ // the acme chords on the selection or the word at the cursor
if (is(key, Key.enter) or is(key, Key.tab)) {
if (p.tagChordText(pane)) |txt| {
pane.tag_sel = false;
- p.actOnSelection(if (is(key, Key.tab)) .middle else .right, p.active, txt, null);
+ const btn: Mouse.Button = if (is(key, Key.enter) == swap_enter_tab) .middle else .right;
+ p.actOnSelection(btn, p.active, txt, null);
}
return;
}
@@ -1112,6 +1123,83 @@ pub const Pardes = struct {
}
}
+ /// write a helix range back onto the tag cursor + selection: the tail's
+ /// one-line mirror of setPaneRange.
+ fn setTagRange(pane: *Pane, r: modal.HxRange) void {
+ const text = pane.tag_tail.items;
+ const lo = @min(r.anchor, r.head);
+ const hi = @max(r.anchor, r.head);
+ pane.tag_col = @intCast(modal.hxCursor(text, r));
+ pane.tag_sel = hi > lo + 1; // a 1-wide range IS the block cursor
+ if (pane.tag_sel) pane.tag_anchor = @intCast(if (r.head > r.anchor) lo else hi - 1);
+ }
+
+ /// normal mode ON the tag — where `:` lands. The body's own helix motions
+ /// with the tail as a one-line document, plus insert entry and the acme
+ /// chords; editing keys stay in insert (`i` then type, like the mouse path).
+ fn tagNormalKey(p: *Pardes, pane: *Pane, key: Key) void {
+ const text = pane.tag_tail.items;
+ const cur: usize = @min(@as(usize, pane.tag_col), text.len);
+ // Esc abandons the command line: back to the body, tail kept as text
+ if (is(key, Key.escape)) return exitTagEdit(pane);
+ // the chord: run the selection (or the word under the cursor) and drop
+ // back into the body — the whole point of `:`. Same keys as everywhere
+ // else (swap_enter_tab), so the command line is `:w<Tab>` by default.
+ // Nothing under the cursor means nothing ran: the tag keeps focus.
+ if (is(key, Key.enter) or is(key, Key.tab)) {
+ const btn: Mouse.Button = if (is(key, Key.enter) == swap_enter_tab) .middle else .right;
+ const txt = p.tagChordText(pane) orelse return;
+ const id = p.active;
+ exitTagEdit(pane); // leave the tag FIRST: Del frees the pane
+ p.actOnSelection(btn, id, txt, null);
+ return;
+ }
+ // insert entry (one line, so I/A are the tail's ends)
+ if (is(key, 'i') or is(key, 'a') or is(key, 'I') or is(key, 'A')) {
+ pane.tag_col = @intCast(switch (key.cp) {
+ 'a' => modal.nextGrapheme(text, cur),
+ 'I' => 0,
+ 'A' => text.len,
+ else => cur,
+ });
+ pane.tag_sel = false;
+ pane.mode = .insert;
+ return;
+ }
+ const target: ?usize = if (is(key, 'h') or is(key, Key.left))
+ modal.prevGrapheme(text, cur)
+ else if (is(key, 'l') or is(key, Key.right))
+ modal.nextGrapheme(text, cur)
+ else if (is(key, '0') or is(key, Key.home))
+ 0
+ else if (is(key, '$') or is(key, Key.end))
+ modal.prevGrapheme(text, text.len)
+ else if (is(key, '^'))
+ modal.firstNonWs(text)
+ else
+ null;
+ if (target) |t| return setTagRange(pane, .{ .anchor = t, .head = t });
+ // word motions select their traversed span, exactly like the body's
+ const wt: ?modal.WordTarget = if (is(key, 'w'))
+ .next_word_start
+ else if (is(key, 'b'))
+ .prev_word_start
+ else if (is(key, 'e'))
+ .next_word_end
+ else if (is(key, 'W'))
+ .next_long_word_start
+ else if (is(key, 'B'))
+ .prev_long_word_start
+ else if (is(key, 'E'))
+ .next_long_word_end
+ else
+ null;
+ if (wt) |t| {
+ const range: modal.HxRange = .{ .anchor = cur, .head = modal.nextGrapheme(text, cur) };
+ return setTagRange(pane, modal.hxWordMove(text, range, 1, t));
+ }
+ }
+
/// d/c: delete the selection (or the char under the cursor), yanking it;
/// c then enters insert
/// tag + '\n' + body: the full selectable pane text (row 0 = the tag)
@@ -1253,12 +1341,19 @@ pub const Pardes = struct {
pane.pending = 0;
return;
}
- // normal-mode Enter/Tab: the acme chords — look at (Enter) or execute
- // (Tab) the EXPLICIT modal selection (v/x/X, terminal n/N, search
- // n/N); implicit motion residue falls back to the file-ish word
- // under the cursor (on the tag tail when it's focused, else the body).
+ // tag editing intercepts every other key: a modal one-line editor over
+ // the tail, sharing the pane's mode. Above the body chords — a focused
+ // tag owns Enter/Tab too (that IS the `:` command line).
+ if (pane.tag_edit) {
+ if (pane.mode == .normal) p.tagNormalKey(pane, key) else p.tagInsertKey(pane, key);
+ return;
+ }
+ // normal-mode Enter/Tab: the acme chords — look at / execute (which
+ // key is which is swap_enter_tab) the EXPLICIT modal selection (v/x/X,
+ // terminal n/N, search n/N); implicit motion residue falls back to the
+ // file-ish word under the cursor.
if (pane.mode == .normal and (is(key, Key.enter) or is(key, Key.tab))) {
- const btn: Mouse.Button = if (is(key, Key.tab)) .middle else .right;
+ const btn: Mouse.Button = if (is(key, Key.enter) == swap_enter_tab) .middle else .right;
pane.pinCursor();
const explicit = (pane.vsel.active and pane.vsel.explicit) or pane.msel.active;
if (explicit) {
@@ -1276,12 +1371,6 @@ pub const Pardes = struct {
p.actOnSelection(btn, p.active, word, null);
return;
}
- // tag editing intercepts every other key: a modal one-line editor
- // over the tail, sharing the pane's mode.
- if (pane.tag_edit) {
- p.tagInsertKey(pane, key);
- return;
- }
// normal-mode `p`/`P` paste the core's yank register directly (helix:
// the default register, NOT the system clipboard — most terminals
// refuse the OSC 52 read, so a round trip would never come back).
@@ -2044,6 +2133,16 @@ pub const Pardes = struct {
if (isC(key, 'x')) return p.normalAdjustNumber(pane, -@as(i64, @intCast(cnt)));
if (is(key, 'u')) return p.doUndo(pane);
if (is(key, 'U')) return p.doRedo(pane);
+ // `:` — vim's command line with acme's vocabulary: focus the pane's own
+ // tag in normal mode, parked at the tail's start. Motions walk the
+ // words and the execute chord runs the one under the cursor, then
+ // hands the body back (`:w<Tab>` = Save). Always the start, not the
+ // remembered tag column, so `:w` is the same keystrokes every time.
+ if (is(key, ':')) {
+ p.enterTagEdit(pane, 0);
+ if (pane.tag_edit) pane.mode = .normal;
+ return;
+ }
// file search: `/` types a pattern into the tag, n/N walk the results
if (pane.file != null and is(key, '/')) return p.startSearch(pane);
if (pane.file != null and is(key, 'n')) return p.searchStep(pane, 1);
@@ -4012,8 +4111,20 @@ pub const Pardes = struct {
}
fn layoutAppendColumn(p: *Pardes, id: usize) void {
+ p.layoutInsertColumn(p.ncol, id);
+ }
+
+ /// a fresh single-pane column at index `at` (the columns from there on
+ /// shift right); an equal weight, so the others narrow proportionally
+ fn layoutInsertColumn(p: *Pardes, at: usize, id: usize) void {
if (p.ncol >= MAX_COLS) return;
- const c = p.ncol;
+ const c = @min(at, p.ncol);
+ var j = p.ncol;
+ while (j > c) : (j -= 1) {
+ p.col_terms[j] = p.col_terms[j - 1];
+ p.col_n[j] = p.col_n[j - 1];
+ p.col_weight[j] = p.col_weight[j - 1];
+ }
p.col_weight[c] = 1;
p.col_terms[c][0] = id;
p.col_n[c] = 1;
@@ -4212,7 +4323,9 @@ pub const Pardes = struct {
/// stack a fresh doc pane at the top of the LEFT column (acme convention:
/// files left, terminals right), halving ONLY the old top pane's slot so
/// the rest of the column keeps its sizes; then evict a leftover pristine
- /// shell
+ /// shell. The placement of last resort — a first doc normally takes a
+ /// column of its own (placeDoc), and this only runs when the column bar
+ /// is full.
fn stackDocLeft(p: *Pardes, free: usize, nt: *Pane) void {
const lc = 0;
if (p.col_n[lc] > 0) if (p.panes[p.col_terms[lc][0]]) |top| {
@@ -4410,9 +4523,7 @@ pub const Pardes = struct {
p.layoutRemove(id);
p.deinitPane(pane);
p.panes[id] = null;
- if (p.active == id) p.active = for (p.panes, 0..) |sl, i| {
- if (sl != null) break i;
- } else {
+ if (p.active == id) p.active = p.prevFocus(id) orelse {
p.quit = true;
p.emit(.quit);
return;
@@ -4430,9 +4541,7 @@ pub const Pardes = struct {
p.panes[tid] = null;
}
}
- if (p.panes[p.active] == null) p.active = for (p.panes, 0..) |sl, i| {
- if (sl != null) break i;
- } else {
+ if (p.panes[p.active] == null) p.active = p.prevFocus(p.active) orelse {
p.quit = true;
p.emit(.quit);
return;
@@ -4441,26 +4550,18 @@ pub const Pardes = struct {
.tutor => {
const free = p.freeSlot() orelse return;
const nt = p.openTutorView(free) catch return;
- p.stackDocLeft(free, nt);
+ p.placeDoc(id, free, nt); // a doc like any other
},
}
}
- /// place a fresh doc pane. With a single column there is no separate file
- /// column, so split BELOW the pane the look came from — the same acme split
- /// as a dir open (splitParent picks a taller pane if the source is too
- /// short). With two+ columns, open in the file column: split an existing
- /// doc (the source if it's one, else the first found), or take the left
- /// column when no doc exists yet.
+ /// place a fresh doc pane. Any doc already open is the split parent (the
+ /// source if it IS one, else the first found) and the newcomer lands right
+ /// below it, so all docs share one column. The FIRST doc of the session
+ /// instead gets a column of its own on the left (acme: files left, shells
+ /// right) — nothing is displaced, the other columns just narrow. Only a
+ /// full column bar falls back to stacking into the leftmost one.
fn placeDoc(p: *Pardes, from_id: usize, free: usize, nt: *Pane) void {
- if (p.ncol == 1) {
- const src = p.splitParent(from_id);
- const f = p.layoutFindTerm(src).?;
- p.layoutInsert(f.col, f.idx + 1, free);
- p.splitBelow(src, nt);
- p.active = free;
- return;
- }
var src_id: ?usize = null;
if (p.panes[from_id]) |src| if (src.file != null or src.image != null) {
src_id = from_id;
@@ -4477,9 +4578,14 @@ pub const Pardes = struct {
p.layoutInsert(sf.col, sf.idx + 1, free);
p.splitBelow(src, nt);
p.active = free;
- } else {
- p.stackDocLeft(free, nt);
+ return;
}
+ if (p.ncol < MAX_COLS) {
+ p.layoutInsertColumn(0, free);
+ p.active = free;
+ return;
+ }
+ p.stackDocLeft(free, nt);
}
// ---- dump / load (acme-style: `pardes -l state.zon` restores a session) ----
@@ -4698,19 +4804,48 @@ pub const Pardes = struct {
p.layoutRemove(id);
p.deinitPane(pane);
p.panes[id] = null;
- if (p.active == id) p.active = for (p.panes, 0..) |slot, i| {
- if (slot != null) break i;
- } else {
+ if (p.active == id) p.active = p.prevFocus(id) orelse {
p.quit = true;
p.emit(.quit);
return;
};
}
+ /// where focus falls when the active pane closes: the most recently
+ /// focused pane still alive (else any live one). Null = nothing left.
+ fn prevFocus(p: *Pardes, closing: usize) ?usize {
+ var i = p.nfocus;
+ while (i > 0) {
+ i -= 1;
+ const id = p.focus_hist[i];
+ if (id != closing and p.panes[id] != null) return id;
+ }
+ for (p.panes, 0..) |slot, k| {
+ if (slot != null and k != closing) return k;
+ }
+ return null;
+ }
+
/// Recompute geometry, push grid-size changes to each emulator + pty, fire
/// deferred greetings. The mirror of the prototype's loop epilogue.
fn sync(p: *Pardes) void {
p.computeGeom();
+ // focus history, rebuilt in one pass: drop dead slots and the current
+ // active, then push active back on top. Every focus change (mouse,
+ // look, Ctrl-w, Alt-n) lands here without touching its call site.
+ {
+ var w: usize = 0;
+ for (p.focus_hist[0..p.nfocus]) |id| {
+ if (p.panes[id] == null or id == p.active) continue;
+ p.focus_hist[w] = id;
+ w += 1;
+ }
+ p.nfocus = w;
+ if (p.panes[p.active] != null) {
+ p.focus_hist[p.nfocus] = p.active;
+ p.nfocus += 1;
+ }
+ }
for (&p.panes, 0..) |*slot, id| {
const pane = slot.* orelse continue;
if (pane.reply_len > 0) {
@@ -4981,7 +5116,8 @@ pub const Pardes = struct {
// cursor while editing the tail: prefix length + column within it
if (active and pane.tag_edit) {
const cx: usize = pfx.len + pane.tag_col;
- if (cx < tw) s.cursor = .{ .x = tx + @as(u16, @intCast(cx)), .y = r.y, .bar = true }; // tags are always insert
+ // bar while typing, block for `:` normal mode (same rule as a body)
+ if (cx < tw) s.cursor = .{ .x = tx + @as(u16, @intCast(cx)), .y = r.y, .bar = pane.mode == .insert };
}
// image pane: the picture fills the body — petscii glyph art into the
diff --git a/src/tutor.txt b/src/tutor.txt
index e2dfb123..cf9ecab0 100644
--- a/src/tutor.txt
+++ b/src/tutor.txt
@@ -108,10 +108,14 @@
THE TAG: each pane has a one-line tag: its MODE (NOR/INS/TTY) + directory
or file path + builtins. File panes show "Save Del" by default; Save
writes the current file to disk, Del closes the window. Clicking a tag
- edits it, ALWAYS in insert mode (a one-line tag has no use for normal
- mode): type straight in, Enter looks / Tab executes the word at the
- cursor, Esc hands focus back to the body. Terminal and
- image panes show "Del". "Delcol" still exists as a command: type it in
+ edits it in insert mode: type straight in, Enter looks / Tab executes
+ the word at the cursor, Esc hands focus back to the body. `:` from the
+ body focuses that same tag in NORMAL mode, parked at its start — vim's
+ command line with acme's words in it: `:w<Tab>` is w onto "Save", Tab
+ to execute it, and you land back in the body where you left off (the
+ chord keys are the same here as anywhere else; `i` if you would rather
+ type a command than walk to one). Terminal and image panes show "Del".
+ "Delcol" still exists as a command: type it in
a tag or body and execute it to close the whole column. A SEPARATE bar
across the top of the screen holds the window-agnostic builtins:
Kill Newcol Tutor Debug Colors NextColor
@@ -132,6 +136,11 @@
when the pane is focused) to MOVE a window between columns / reorder
- the scrollbar is the gutter below the box: left-click scrolls UP
to that point, right-click scrolls DOWN
+ - the FIRST file/image/tutor you open takes a new leftmost column of
+ its own (nothing is displaced, the other columns just narrow); every
+ later one splits below a doc already open, so docs share that column
+ - closing a window (Del, or its shell exiting) hands focus back to the
+ window you were in before it, not to whichever one comes first
(Mouse actions are hard to unit-test from text; native gestures are
covered by the e2e suite. Browser touch and embedded-source LOOK are
@@ -196,7 +205,8 @@
terminal into the live shell is the tty toggle (Ctrl-b by default;
see Part 2).
- Enter / Tab in normal mirror the mouse: Enter = look (open the path
- under the cursor), Tab = execute. `u` undo, `U` redo.
+ under the cursor), Tab = execute. `:` runs a command from the tag
+ (see Part 1). `u` undo, `U` redo.
- Editing a file pane MUTATES real content; a terminal pane yanks
rendered text and pastes it as an insertion run (shell output
can't be deleted, only pasted text can).
@@ -441,6 +451,7 @@
the input is empty, mid-text otherwise)
KEYS (helix): h j k l w b e 0 $ ^ gg G v x d c y p i a I A o O
u undo U redo Enter=look Tab=execute
+ : = the tag as a command line (motions, Enter, back)
zt zz zb Ctrl-d/u Ctrl-f Ctrl-w hjkl Alt-n/c
vs Helix: no multi-cursor; selection is LINE-first (x), plus v chars.
diff --git a/test/snapshots/chordcut.golden b/test/snapshots/chordcut.golden
index 480e7383..eefc6fa3 100644
--- a/test/snapshots/chordcut.golden
+++ b/test/snapshots/chordcut.golden
@@ -1,23 +1,23 @@
-== snap opened grid=60x30 cursor=7,2
+== snap opened grid=90x30 cursor=7,2
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
| 1 line 1
-| 2 line 2 f.txt g.txt
+| 2 line 2 f.txt g.txt f.txt g.txt
| 3 line 3
| 4 line 4
| 5 line 5
-|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
-| NOR /tmp/pardes-snap/chordcu
+| 6 f.txt
+|
+|
+|
|
-| f.txt g.txt
|
|
|
-| f.txt
|
-| NOR /tmp/pardes-snap/chordcu
+| NOR /tmp/pardes-snap/chordcu
|
-| f.txt g.txt
+| f.txt g.txt
|
|
|
@@ -29,26 +29,26 @@
|
|
|
-== snap cut grid=60x30 cursor=7,3
+== snap cut grid=90x30 cursor=7,3
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
| 1 line 1
-| 2 2 f.txt g.txt
+| 2 2 f.txt g.txt f.txt g.txt
| 3 line 3
| 4 line 4
| 5 line 5
-| 6
-| NOR /tmp/pardes-snap/chordcu
+| 6 f.txt
+|
+|
+|
|
-| f.txt g.txt
|
|
|
-| f.txt
|
-| NOR /tmp/pardes-snap/chordcu
+| NOR /tmp/pardes-snap/chordcu
|
-| f.txt g.txt
+| f.txt g.txt
|
|
|
@@ -60,27 +60,26 @@
|
|
|
-== snap copied grid=60x30 cursor=10,4
+== snap copied grid=90x30 cursor=10,4
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
| 1 line 1
-| 2 2 f.txt g.txt
+| 2 2 f.txt g.txt f.txt g.txt
| 3 line 3
| 4 line 4
| 5 line 5
-| 6
-| NOR /tmp/pardes-snap/chordcu
+| 6 f.txt
+|
+|
|
-| f.txt g.txt
|
|
|
-| f.txt
|
-| NOR /tmp/pardes-snap/chordcu
|
-| f.txt g.txt
+| NOR /tmp/pardes-snap/chordcu
|
+| f.txt g.txt
|
|
|
@@ -91,29 +90,27 @@
|
|
|
-== snap pointpaste grid=60x30 cursor=16,5
+|
+== snap pointpaste grid=90x30 cursor=16,5
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
| 1 line 1
-| 2 2 f.txt g.txt
+| 2 2 f.txt g.txt f.txt g.txt
| 3 line 3
| 4 line 4line
| 5 line 5
-| 6
-| NOR /tmp/pardes-snap/chordcu
+| 6 f.txt
|
-| f.txt g.txt
|
|
|
-| f.txt
|
-| NOR /tmp/pardes-snap/chordcu
|
-| f.txt g.txt
|
|
+| NOR /tmp/pardes-snap/chordcu
|
+| f.txt g.txt
|
|
|
@@ -122,29 +119,29 @@
|
|
|
-== snap replaced grid=60x30 cursor=11,6
+|
+|
+|
+== snap replaced grid=90x30 cursor=11,6
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
| 1 line 1
-| 2 2 f.txt g.txt
+| 2 2 f.txt g.txt f.txt g.txt
| 3 line 3
| 4 line 4line
| 5 lline 5
-| 6
-| NOR /tmp/pardes-snap/chordcu
+| 6 f.txt
|
-| f.txt g.txt
|
|
|
-| f.txt
|
-| NOR /tmp/pardes-snap/chordcu
|
-| f.txt g.txt
|
|
+| NOR /tmp/pardes-snap/chordcu
|
+| f.txt g.txt
|
|
|
@@ -153,28 +150,29 @@
|
|
|
-== snap cancelexec grid=60x30 cursor=25,3
+|
+|
+|
+== snap cancelexec grid=90x30 cursor=25,3
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
| 1 line 1
-| 2 2echo B''OO g.txt f.txt g.txt
+| 2 2echo B''OO g.txt f.txt g.txt f.txt g.txt
| 3 line 3
| 4 line 4line
| 5 lline 5
-| 6
-| NOR /tmp/pardes-snap/chordcu
+| 6 f.txt
+|
|
-| f.txt g.txt
|
|
|
-| f.txt
|
-| NOR /tmp/pardes-snap/chordcu
|
-| f.txt g.txt
|
+| NOR /tmp/pardes-snap/chordcu
|
+| f.txt g.txt
|
|
|
@@ -184,28 +182,28 @@
|
|
|
-== snap execafter grid=60x30 cursor=25,3
+|
+|
+== snap execafter grid=90x30 cursor=25,3
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
| 1 line 1
-| 2 2echo B''OO g.txt f.txt g.txt
+| 2 2echo B''OO g.txt f.txt g.txt f.txt g.txt
| 3 line 3
| 4 line 4line
| 5 lline 5
-| 6
-| NOR /tmp/pardes-snap/chordcu
-| f.txt g.txt
+| 6 f.txt
+| BOO
+|
|
|
|
-| f.txt
-| BOO
|
-| NOR /tmp/pardes-snap/chordcu
|
-| f.txt g.txt
|
+| NOR /tmp/pardes-snap/chordcu
|
+| f.txt g.txt
|
|
|
@@ -215,27 +213,28 @@
|
|
|
-== snap cancellook grid=60x30 cursor=25,3
+|
+|
+== snap cancellook grid=90x30 cursor=25,3
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
| 1 line 1
-| 2 2echo B''OO g.txt f.txt g.txt
+| 2 2echo B''OO g.txt f.txt g.txt f.txt g.txt
| 3 line 3
| 4 line 4line
| 5 lline 5
-| 6
-| NOR /tmp/pardes-snap/chordcu
-| f.txt g.txt
+| 6 f.txt
+| BOO
+|
+|
|
|
|
-| f.txt
-| BOO
|
-| NOR /tmp/pardes-snap/chordcu
|
-| f.txt g.txt
+| NOR /tmp/pardes-snap/chordcu
|
+| f.txt g.txt
|
|
|
@@ -246,28 +245,29 @@
|
|
|
-== snap lookafter grid=60x30 cursor=7,5
+|
+== snap lookafter grid=90x30 cursor=7,17
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
| 1 line 1
-|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ f.txt g.txt
-| NOR /tmp/pardes-snap/chordcu
-| 1 line 1
-| 2 line 2
-| 3
-| NOR /tmp/pardes-snap/chordcu
-| f.txt g.txt
+| 2 2echo B''OO g.txt f.txt g.txt f.txt g.txt
+| 3 line 3
+| 4 line 4line
+| 5 lline 5
+| 6 f.txt
+| BOO
|
|
|
-| f.txt
-| BOO
|
-| NOR /tmp/pardes-snap/chordcu
|
-| f.txt g.txt
|
|
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+| 1 line 1
+| 2 line 2 f.txt g.txt
+| 3
+|
|
|
|
@@ -278,87 +278,89 @@
|
|
== style chordsel
-|0: 0-48 #969696,#2c2a3e, 49-59 d,#2c2a3e,
-|1: 0-1 d,#383c54, 2-29 #969696,#2c2a3e, 30-31 d,#383c54, 32-59 #969696,#2c2a3e,
-|2: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|3: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|4: 0-1 d,#6e4fd0, 2-29 #969696,#2c2a3e, 30-31 d,#525252, 32-59 d,d,
-|5: 0-1 d,#525252, 2-6 #969696,#2c2a3e, 7-10 #d8c8a8,#4a3a1e, 11-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|6: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|7: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|8: 0-1 d,#383c54, 2-29 #969696,#2c2a3e, 30-31 d,#525252, 32-59 d,d,
-|9: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|10: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|11: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|12: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|13: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|14: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|15: 0-1 d,#2a2a2a, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|16: 0-1 d,#383c54, 2-29 #969696,#2c2a3e, 30-31 d,#525252, 32-59 d,d,
-|17: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|18: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|19: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|20: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|21: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|22: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|23: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|24: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|25: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|26: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|27: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|28: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|29: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|0: 0-48 #969696,#2c2a3e, 49-89 d,#2c2a3e,
+|1: 0-1 d,#6e4fd0, 2-29 #969696,#2c2a3e, 30-31 d,#383c54, 32-59 #969696,#2c2a3e, 60-61 d,#383c54, 62-89 #969696,#2c2a3e,
+|2: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|3: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|4: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|5: 0-1 d,#525252, 2-6 #969696,#2c2a3e, 7-10 #d8c8a8,#4a3a1e, 11-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|6: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|7: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|8: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|9: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|10: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|11: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|12: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|13: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|14: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|15: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|16: 0-1 d,#383c54, 2-29 #969696,#2c2a3e, 30-31 d,#383c54, 32-59 #969696,#2c2a3e, 60-61 d,#525252, 62-89 d,d,
+|17: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|18: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|19: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|20: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|21: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|22: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|23: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|24: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|25: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|26: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|27: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|28: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|29: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
== style clickdismiss
-|0: 0-48 #969696,#2c2a3e, 49-59 d,#2c2a3e,
-|1: 0-1 d,#383c54, 2-29 #969696,#2c2a3e, 30-31 d,#383c54, 32-59 #969696,#2c2a3e,
-|2: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|3: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|4: 0-1 d,#6e4fd0, 2-29 #969696,#2c2a3e, 30-31 d,#525252, 32-59 d,d,
-|5: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|6: 0-1 d,#525252, 2-6 #969696,#2c2a3e, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|7: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|8: 0-1 d,#383c54, 2-29 #969696,#2c2a3e, 30-31 d,#525252, 32-59 d,d,
-|9: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|10: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|11: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|12: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|13: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|14: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|15: 0-1 d,#2a2a2a, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|16: 0-1 d,#383c54, 2-29 #969696,#2c2a3e, 30-31 d,#525252, 32-59 d,d,
-|17: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|18: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|19: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|20: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|21: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|22: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|23: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|24: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|25: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|26: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|27: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|28: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-|29: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
-== snap ttyprobe grid=60x30 cursor=12,15
+|0: 0-48 #969696,#2c2a3e, 49-89 d,#2c2a3e,
+|1: 0-1 d,#6e4fd0, 2-29 #969696,#2c2a3e, 30-31 d,#383c54, 32-59 #969696,#2c2a3e, 60-61 d,#383c54, 62-89 #969696,#2c2a3e,
+|2: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|3: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|4: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|5: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|6: 0-1 d,#525252, 2-6 #969696,#2c2a3e, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|7: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|8: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|9: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|10: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|11: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|12: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|13: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|14: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|15: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|16: 0-1 d,#383c54, 2-29 #969696,#2c2a3e, 30-31 d,#383c54, 32-59 #969696,#2c2a3e, 60-61 d,#525252, 62-89 d,d,
+|17: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|18: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|19: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|20: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|21: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|22: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|23: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|24: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|25: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|26: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|27: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|28: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+|29: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d, 60-61 d,#525252, 62-89 d,d,
+== snap ttyprobe grid=90x30 cursor=9,11
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
| 1 line 1
-| 2 2echo B''OO g.txt f.txt g.txt
-| NOR /tmp/pardes-snap/chordcu
+| 2 2echo B''OO g.txt f.txt g.txt f.txt g.txt
+| 3 line 3
+| 4 line 4line
+| 5 lline 5
+| 6 canon -echo; printf '\x f.txt
+| 7 BOO
+|
+|
+|
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
| 1 line 1
-| 2 line 2
+| 2 line 2 f.txt g.txt
| 3
-| TTY /tmp/pardes-snap/chordcu
-| $ echo B''OO
-| BOO
-| $ stty -icanon -echo; printf
-| '\x1b[?2004h\x1b[?1000h\x1b
-| [?1006h'; cat -v
-| ^[[<0;8;3M^[[<0;8;3m^[[200~l
-| ine^[[201~
-| NOR /tmp/pardes-snap/chordcu
|
-| f.txt g.txt
|
|
|
@@ -368,29 +370,27 @@
|
|
|
+== snap ttyprompt grid=90x30 cursor=9,11
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+| 1 line 1
+| 2 2echo B''OO g.txt f.txt g.txt f.txt g.txt
+| 3 line 3
+| 4 line 4line
+| 5 lline 5
+| 6 canon -echo; printf '\x f.txt
+| 7 ne; printf '\x1b[?1000l BOO
+| 8
+|
+|
+|
+|
|
|
-== snap ttyprompt grid=60x30 cursor=8,15
-|Kill Newcol Tutor Debug Colors NextColor Crt Dump
| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
| 1 line 1
-| 2 2echo B''OO g.txt f.txt g.txt
-| NOR /tmp/pardes-snap/chordcu
-| 1 line 1
-| 2 line 2
+| 2 line 2 f.txt g.txt
| 3
-| TTY /tmp/pardes-snap/chordcu
-| $ stty -icanon -echo; printf
-| '\x1b[?2004h\x1b[?1000h\x1b
-| [?1006h'; cat -v
-| ^[[<0;8;3M^[[<0;8;3m^[[200~l
-| ine^[[201~
-| $
-| $ line
-| NOR /tmp/pardes-snap/chordcu
-|
-| f.txt g.txt
-|
|
|
|
diff --git a/test/snapshots/chordcut.snap b/test/snapshots/chordcut.snap
index 8243098a..fc9ccb40 100644
--- a/test/snapshots/chordcut.snap
+++ b/test/snapshots/chordcut.snap
@@ -7,7 +7,7 @@
# left during a right (look) drag cancels the gesture entirely.
lines f.txt 5
lines g.txt 2
-start 30 60 -n 3
+start 30 90 -n 3
wait 8000 f.txt
stable 700 20000
# open f.txt: click a body spot, type the name, look it
diff --git a/test/snapshots/cursorline.golden b/test/snapshots/cursorline.golden
index aa07ca12..44db4723 100644
--- a/test/snapshots/cursorline.golden
+++ b/test/snapshots/cursorline.golden
@@ -1,27 +1,27 @@
-== snap top grid=100x30 cursor=7,2
+== snap top grid=150x30 cursor=7,2
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/cursorline/cwd/cur.txt Save NOR /tmp/pardes-snap/cursorline/cwd Del
+| NOR /tmp/pardes-snap/cursorline/cwd/cur.txt Save NOR /tmp/pardes-snap/cursorline/cwd Del NOR /tmp/pardes-snap/cursorline/cwd Del
| 1 line 1
-| 2 line 2 cur.txt
+| 2 line 2 cur.txt cur.txt
| 3 line 3
| 4 line 4
| 5 line 5
-|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
-| NOR /tmp/pardes-snap/cursorline/cwd Del
-|
-| cur.txt
-|
-|
-|
-| cur.txt
-|
-| NOR /tmp/pardes-snap/cursorline/cwd Del
-|
-| cur.txt
-|
-|
-|
-|
+| 6 line 6 cur.txt
+| 7 line 7
+| 8 line 8
+| 9 line 9
+| 10 line 10
+| 11 line 11
+| 12 line 12
+| 13 line 13
+| 14 line 14
+| 15 line 15 NOR /tmp/pardes-snap/cursorline/cwd Del
+| 16 line 16
+| 17 line 17 cur.txt
+| 18 line 18
+| 19 line 19
+| 20 line 20
+| 21
|
|
|
@@ -30,60 +30,60 @@
|
|
== style top
-|0: 0-48 #969696,#2c2a3e, 49-99 d,#2c2a3e,
-|1: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#383c54, 52-90 #969696,#2c2a3e, 91-99 d,#2c2a3e,
-|2: 0-1 d,#525252, 2-6 #969696,#2c2a3e, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|3: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|4: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|5: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|6: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|7: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|8: 0-1 d,#383c54, 2-40 #969696,#2c2a3e, 41-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
-|9: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|10: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|11: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|12: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|13: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|14: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|15: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|16: 0-1 d,#383c54, 2-40 #969696,#2c2a3e, 41-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
-|17: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|18: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|19: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|20: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|21: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|22: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|23: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|24: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|25: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|26: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|27: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|28: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|29: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-== snap down3 grid=100x30 cursor=7,5
+|0: 0-48 #969696,#2c2a3e, 49-149 d,#2c2a3e,
+|1: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#383c54, 52-90 #969696,#2c2a3e, 91-99 d,#2c2a3e, 100-101 d,#383c54, 102-140 #969696,#2c2a3e, 141-149 d,#2c2a3e,
+|2: 0-1 d,#525252, 2-6 #969696,#2c2a3e, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|3: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|4: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|5: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|6: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|7: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|8: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|9: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|10: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|11: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|12: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|13: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|14: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|15: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|16: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#383c54, 52-90 #969696,#2c2a3e, 91-99 d,#2c2a3e, 100-101 d,#525252, 102-149 d,d,
+|17: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|18: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|19: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|20: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|21: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|22: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|23: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|24: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|25: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|26: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|27: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|28: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|29: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+== snap down3 grid=150x30 cursor=7,5
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/cursorline/cwd/cur.txt Save NOR /tmp/pardes-snap/cursorline/cwd Del
+| NOR /tmp/pardes-snap/cursorline/cwd/cur.txt Save NOR /tmp/pardes-snap/cursorline/cwd Del NOR /tmp/pardes-snap/cursorline/cwd Del
| 1 line 1
-| 2 line 2 cur.txt
+| 2 line 2 cur.txt cur.txt
| 3 line 3
| 4 line 4
| 5 line 5
-|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
-| NOR /tmp/pardes-snap/cursorline/cwd Del
-|
-| cur.txt
-|
-|
-|
-| cur.txt
-|
-| NOR /tmp/pardes-snap/cursorline/cwd Del
-|
-| cur.txt
-|
-|
-|
-|
+| 6 line 6 cur.txt
+| 7 line 7
+| 8 line 8
+| 9 line 9
+| 10 line 10
+| 11 line 11
+| 12 line 12
+| 13 line 13
+| 14 line 14
+| 15 line 15 NOR /tmp/pardes-snap/cursorline/cwd Del
+| 16 line 16
+| 17 line 17 cur.txt
+| 18 line 18
+| 19 line 19
+| 20 line 20
+| 21
|
|
|
@@ -92,33 +92,33 @@
|
|
== style down3
-|0: 0-48 #969696,#2c2a3e, 49-99 d,#2c2a3e,
-|1: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#383c54, 52-90 #969696,#2c2a3e, 91-99 d,#2c2a3e,
-|2: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|3: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|4: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|5: 0-1 d,#2a2a2a, 2-6 #969696,#2c2a3e, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|6: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|7: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|8: 0-1 d,#383c54, 2-40 #969696,#2c2a3e, 41-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
-|9: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|10: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|11: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|12: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|13: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|14: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|15: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|16: 0-1 d,#383c54, 2-40 #969696,#2c2a3e, 41-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
-|17: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|18: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|19: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|20: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|21: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|22: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|23: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|24: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|25: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|26: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|27: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|28: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|29: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|0: 0-48 #969696,#2c2a3e, 49-149 d,#2c2a3e,
+|1: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#383c54, 52-90 #969696,#2c2a3e, 91-99 d,#2c2a3e, 100-101 d,#383c54, 102-140 #969696,#2c2a3e, 141-149 d,#2c2a3e,
+|2: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|3: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|4: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|5: 0-1 d,#525252, 2-6 #969696,#2c2a3e, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|6: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|7: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|8: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|9: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|10: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|11: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|12: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|13: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|14: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|15: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|16: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#383c54, 52-90 #969696,#2c2a3e, 91-99 d,#2c2a3e, 100-101 d,#525252, 102-149 d,d,
+|17: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|18: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|19: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|20: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|21: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|22: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|23: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|24: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|25: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|26: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|27: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|28: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|29: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
diff --git a/test/snapshots/cursorline.snap b/test/snapshots/cursorline.snap
index 49872485..a7e38423 100644
--- a/test/snapshots/cursorline.snap
+++ b/test/snapshots/cursorline.snap
@@ -1,7 +1,7 @@
# cursor-line gutter: the line number on the cursor's row takes the tag style
# and follows modal movement (gg to the top, then jjj down three lines)
lines cur.txt 20
-start 30 100 -n 3
+start 30 150 -n 3
wait 8000 cur.txt
stable 700 20000
press left 5 8
diff --git a/test/snapshots/fileedit.golden b/test/snapshots/fileedit.golden
index 8028f8f0..e0ecf2ce 100644
--- a/test/snapshots/fileedit.golden
+++ b/test/snapshots/fileedit.golden
@@ -1,54 +1,58 @@
-== snap edited grid=100x30 cursor=17,2
+== snap edited grid=150x30 cursor=17,2
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/fileedit/cwd/f.txt Save Del NOR /tmp/pardes-snap/fileedit/cwd Del
+| NOR /tmp/pardes-snap/fileedit/cwd/f.txt Save Del NOR /tmp/pardes-snap/fileedit/cwd Del NOR /tmp/pardes-snap/fileedit/cwd Del
| 1 liEDIT''MEne 1
-| 2 line 2 f.txt
+| 2 line 2 f.txt f.txt
| 3 line 3
| 4 line 4
| 5 line 5
-| 6 line 6
-| NOR /tmp/pardes-snap/fileedit/cwd Del
+| 6 line 6 f.txt
+| 7 line 7
+| 8 line 8
+| 9 line 9
+| 10 line 10
+| 11 line 11
+| 12 line 12
+| 13 line 13
+| 14 line 14
+| 15 line 15 NOR /tmp/pardes-snap/fileedit/cwd Del
+| 16 line 16
+| 17 line 17 f.txt
+| 18 line 18
+| 19 line 19
+| 20 line 20
+| 21
|
-| f.txt
|
|
|
-| f.txt
|
-| NOR /tmp/pardes-snap/fileedit/cwd Del
|
-| f.txt
|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-== snap deleted grid=100x30 cursor=7,3
+== snap deleted grid=150x30 cursor=7,3
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/fileedit/cwd/f.txt Save Del NOR /tmp/pardes-snap/fileedit/cwd Del
+| NOR /tmp/pardes-snap/fileedit/cwd/f.txt Save Del NOR /tmp/pardes-snap/fileedit/cwd Del NOR /tmp/pardes-snap/fileedit/cwd Del
| 1 liEDIT''MEne 1
-| 2 line 3 f.txt
+| 2 line 3 f.txt f.txt
| 3 line 4
| 4 line 5
| 5 line 6
-| 6 line 7
-| NOR /tmp/pardes-snap/fileedit/cwd Del
-|
-| f.txt
-|
-|
-|
-| f.txt
-|
-| NOR /tmp/pardes-snap/fileedit/cwd Del
+| 6 line 7 f.txt
+| 7 line 8
+| 8 line 9
+| 9 line 10
+| 10 line 11
+| 11 line 12
+| 12 line 13
+| 13 line 14
+| 14 line 15
+| 15 line 16 NOR /tmp/pardes-snap/fileedit/cwd Del
+| 16 line 17
+| 17 line 18 f.txt
+| 18 line 19
+| 19 line 20
+| 20
|
-| f.txt
|
|
|
@@ -56,34 +60,30 @@
|
|
|
-|
-|
-|
-|
-== snap undone grid=100x30 cursor=13,3
+== snap undone grid=150x30 cursor=13,3
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/fileedit/cwd/f.txt Save Del NOR /tmp/pardes-snap/fileedit/cwd Del
+| NOR /tmp/pardes-snap/fileedit/cwd/f.txt Save Del NOR /tmp/pardes-snap/fileedit/cwd Del NOR /tmp/pardes-snap/fileedit/cwd Del
| 1 liEDIT''MEne 1
-| 2 line 2 f.txt
+| 2 line 2 f.txt f.txt
| 3 line 3
| 4 line 4
| 5 line 5
-| 6 line 6
-| NOR /tmp/pardes-snap/fileedit/cwd Del
-|
-| f.txt
-|
-|
-|
-| f.txt
-|
-| NOR /tmp/pardes-snap/fileedit/cwd Del
-|
-| f.txt
-|
-|
-|
-|
+| 6 line 6 f.txt
+| 7 line 7
+| 8 line 8
+| 9 line 9
+| 10 line 10
+| 11 line 11
+| 12 line 12
+| 13 line 13
+| 14 line 14
+| 15 line 15 NOR /tmp/pardes-snap/fileedit/cwd Del
+| 16 line 16
+| 17 line 17 f.txt
+| 18 line 18
+| 19 line 19
+| 20 line 20
+| 21
|
|
|
diff --git a/test/snapshots/fileedit.snap b/test/snapshots/fileedit.snap
index 982966ab..8bbe4eac 100644
--- a/test/snapshots/fileedit.snap
+++ b/test/snapshots/fileedit.snap
@@ -1,6 +1,6 @@
# file panes: modal editing on real content, undo, Save writes to disk
lines f.txt 20
-start 30 100 -n 3
+start 30 150 -n 3
wait 8000 f.txt
stable 700 20000
press left 5 8
diff --git a/test/snapshots/fsearch.golden b/test/snapshots/fsearch.golden
index a634755a..8a7aabd8 100644
--- a/test/snapshots/fsearch.golden
+++ b/test/snapshots/fsearch.golden
@@ -1,23 +1,23 @@
-== snap opened grid=120x30 cursor=7,2
+== snap opened grid=180x30 cursor=7,2
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/fsearch/cwd/g.txt Save Del NOR /tmp/pardes-snap/fsearch/cwd Del
+| NOR /tmp/pardes-snap/fsearch/cwd/g.txt Save Del NOR /tmp/pardes-snap/fsearch/cwd Del NOR /tmp/pardes-snap/fsearch/cwd Del
| 1 l1
-| 2 MARK a g.txt
+| 2 MARK a g.txt g.txt
| 3 l3
| 4 l4
| 5 l5
-|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
-| NOR /tmp/pardes-snap/fsearch/cwd Del
-|
-| g.txt
-|
-|
+| 6 MARK b g.txt
+| 7 l7
+| 8 l8
+| 9 l9
+| 10 MARK c
+| 11 l11
+| 12 l12
|
-| g.txt
|
-| NOR /tmp/pardes-snap/fsearch/cwd Del
+| NOR /tmp/pardes-snap/fsearch/cwd Del
|
-| g.txt
+| g.txt
|
|
|
@@ -29,26 +29,26 @@
|
|
|
-== snap typing grid=120x30 cursor=55,1
+== snap typing grid=180x30 cursor=55,1
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| INS /tmp/pardes-snap/fsearch/cwd/g.txt Save Del /MARK NOR /tmp/pardes-snap/fsearch/cwd Del
+| INS /tmp/pardes-snap/fsearch/cwd/g.txt Save Del /MARK NOR /tmp/pardes-snap/fsearch/cwd Del NOR /tmp/pardes-snap/fsearch/cwd Del
| 1 l1
-| 2 MARK a g.txt
+| 2 MARK a g.txt g.txt
| 3 l3
| 4 l4
| 5 l5
-|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
-| NOR /tmp/pardes-snap/fsearch/cwd Del
-|
-| g.txt
-|
-|
+| 6 MARK b g.txt
+| 7 l7
+| 8 l8
+| 9 l9
+| 10 MARK c
+| 11 l11
+| 12 l12
|
-| g.txt
|
-| NOR /tmp/pardes-snap/fsearch/cwd Del
+| NOR /tmp/pardes-snap/fsearch/cwd Del
|
-| g.txt
+| g.txt
|
|
|
@@ -60,26 +60,26 @@
|
|
|
-== snap results grid=120x30 cursor=7,2
+== snap results grid=180x30 cursor=7,2
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/fsearch/cwd/g.txt Save Del NOR /tmp/pardes-snap/fsearch/cwd Del
+| NOR /tmp/pardes-snap/fsearch/cwd/g.txt Save Del NOR /tmp/pardes-snap/fsearch/cwd Del NOR /tmp/pardes-snap/fsearch/cwd Del
| 1 l1
-| 2 MARK a g.txt
+| 2 MARK a g.txt g.txt
| 3 l3
| 4 l4
| 5 l5
-|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
-| NOR /tmp/pardes-snap/fsearch/cwd Del
-|
+| 6 MARK b g.txt
+| 7 l7 /tmp/pardes-snap/fsearch/cwd/g.txt:2:MARK a
+| 8 l8 /tmp/pardes-snap/fsearch/cwd/g.txt:6:MARK b
+| 9 l9 /tmp/pardes-snap/fsearch/cwd/g.txt:10:MARK c
+| 10 MARK c
+| 11 l11
+| 12 l12
|
-| g.txt
-| /tmp/pardes-snap/fsearch/cwd/g.txt:2:MARK a
-| /tmp/pardes-snap/fsearch/cwd/g.txt:6:MARK b
-| /tmp/pardes-snap/fsearch/cwd/g.txt:10:MARK c
|
-| NOR /tmp/pardes-snap/fsearch/cwd Del
+| NOR /tmp/pardes-snap/fsearch/cwd Del
|
-| g.txt
+| g.txt
|
|
|
@@ -91,26 +91,26 @@
|
|
|
-== snap first grid=120x30 cursor=7,3
+== snap first grid=180x30 cursor=7,3
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/fsearch/cwd/g.txt Save Del NOR /tmp/pardes-snap/fsearch/cwd Del
+| NOR /tmp/pardes-snap/fsearch/cwd/g.txt Save Del NOR /tmp/pardes-snap/fsearch/cwd Del NOR /tmp/pardes-snap/fsearch/cwd Del
| 1 l1
-| 2 MARK a g.txt
+| 2 MARK a g.txt g.txt
| 3 l3
| 4 l4
| 5 l5
-|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
-| NOR /tmp/pardes-snap/fsearch/cwd Del
-|
+| 6 MARK b g.txt
+| 7 l7 /tmp/pardes-snap/fsearch/cwd/g.txt:2:MARK a
+| 8 l8 /tmp/pardes-snap/fsearch/cwd/g.txt:6:MARK b
+| 9 l9 /tmp/pardes-snap/fsearch/cwd/g.txt:10:MARK c
+| 10 MARK c
+| 11 l11
+| 12 l12
|
-| g.txt
-| /tmp/pardes-snap/fsearch/cwd/g.txt:2:MARK a
-| /tmp/pardes-snap/fsearch/cwd/g.txt:6:MARK b
-| /tmp/pardes-snap/fsearch/cwd/g.txt:10:MARK c
|
-| NOR /tmp/pardes-snap/fsearch/cwd Del
+| NOR /tmp/pardes-snap/fsearch/cwd Del
|
-| g.txt
+| g.txt
|
|
|
@@ -123,56 +123,56 @@
|
|
== style first
-|0: 0-48 #969696,#2c2a3e, 49-119 d,#2c2a3e,
-|1: 0-1 d,#6e4fd0, 2-48 #969696,#2c2a3e, 49-59 d,#2c2a3e, 60-61 d,#383c54, 62-97 #969696,#2c2a3e, 98-119 d,#2c2a3e,
-|2: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d,
-|3: 0-1 d,#525252, 2-6 #969696,#2c2a3e, 7-59 d,d, 60-61 d,#525252, 62-119 d,d,
-|4: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d,
-|5: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d,
-|6: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d,
-|7: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d,
-|8: 0-1 d,#383c54, 2-37 #969696,#2c2a3e, 38-59 d,#2c2a3e, 60-61 d,#525252, 62-119 d,d,
-|9: 0-1 d,#2a2a2a, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
-|10: 0-1 d,#2a2a2a, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
-|11: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
-|12: 0-1 d,#525252, 2-59 #d8c8a8,#4a3a1e, 60-61 d,#525252, 62-119 d,d,
-|13: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
-|14: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
-|15: 0-1 d,#2a2a2a, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
-|16: 0-1 d,#383c54, 2-37 #969696,#2c2a3e, 38-59 d,#2c2a3e, 60-61 d,#525252, 62-119 d,d,
-|17: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
-|18: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
-|19: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
-|20: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
-|21: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
-|22: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
-|23: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
-|24: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
-|25: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
-|26: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
-|27: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
-|28: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
-|29: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
-== snap second grid=120x30 cursor=7,5
+|0: 0-48 #969696,#2c2a3e, 49-179 d,#2c2a3e,
+|1: 0-1 d,#6e4fd0, 2-48 #969696,#2c2a3e, 49-59 d,#2c2a3e, 60-61 d,#383c54, 62-97 #969696,#2c2a3e, 98-119 d,#2c2a3e, 120-121 d,#383c54, 122-157 #969696,#2c2a3e, 158-179 d,#2c2a3e,
+|2: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d,
+|3: 0-1 d,#525252, 2-6 #969696,#2c2a3e, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d,
+|4: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d,
+|5: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d,
+|6: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d,
+|7: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d,
+|8: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 #d8c8a8,#4a3a1e, 120-121 d,#525252, 122-179 d,d,
+|9: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d,
+|10: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d,
+|11: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d,
+|12: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d,
+|13: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d,
+|14: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d,
+|15: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d,
+|16: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#383c54, 62-97 #969696,#2c2a3e, 98-119 d,#2c2a3e, 120-121 d,#525252, 122-179 d,d,
+|17: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d,
+|18: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d,
+|19: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d,
+|20: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d,
+|21: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d,
+|22: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d,
+|23: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d,
+|24: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d,
+|25: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d,
+|26: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d,
+|27: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d,
+|28: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d,
+|29: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d,
+== snap second grid=180x30 cursor=7,7
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/fsearch/cwd/g.txt Save Del NOR /tmp/pardes-snap/fsearch/cwd Del
+| NOR /tmp/pardes-snap/fsearch/cwd/g.txt Save Del NOR /tmp/pardes-snap/fsearch/cwd Del NOR /tmp/pardes-snap/fsearch/cwd Del
+| 1 l1
+| 2 MARK a g.txt g.txt
| 3 l3
-| 4 l4 g.txt
+| 4 l4
| 5 l5
-| 6 MARK b
-| 7 l7
-|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
-| NOR /tmp/pardes-snap/fsearch/cwd Del
-|
+| 6 MARK b g.txt
+| 7 l7 /tmp/pardes-snap/fsearch/cwd/g.txt:2:MARK a
+| 8 l8 /tmp/pardes-snap/fsearch/cwd/g.txt:6:MARK b
+| 9 l9 /tmp/pardes-snap/fsearch/cwd/g.txt:10:MARK c
+| 10 MARK c
+| 11 l11
+| 12 l12
|
-| g.txt
-| /tmp/pardes-snap/fsearch/cwd/g.txt:2:MARK a
-| /tmp/pardes-snap/fsearch/cwd/g.txt:6:MARK b
-| /tmp/pardes-snap/fsearch/cwd/g.txt:10:MARK c
|
-| NOR /tmp/pardes-snap/fsearch/cwd Del
+| NOR /tmp/pardes-snap/fsearch/cwd Del
|
-| g.txt
+| g.txt
|
|
|
@@ -184,26 +184,26 @@
|
|
|
-== snap third grid=120x30 cursor=7,5
+== snap third grid=180x30 cursor=7,11
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/fsearch/cwd/g.txt Save Del NOR /tmp/pardes-snap/fsearch/cwd Del
-| 7 l7
-| 8 l8 g.txt
-| 9 l9
+| NOR /tmp/pardes-snap/fsearch/cwd/g.txt Save Del NOR /tmp/pardes-snap/fsearch/cwd Del NOR /tmp/pardes-snap/fsearch/cwd Del
+| 1 l1
+| 2 MARK a g.txt g.txt
+| 3 l3
+| 4 l4
+| 5 l5
+| 6 MARK b g.txt
+| 7 l7 /tmp/pardes-snap/fsearch/cwd/g.txt:2:MARK a
+| 8 l8 /tmp/pardes-snap/fsearch/cwd/g.txt:6:MARK b
+| 9 l9 /tmp/pardes-snap/fsearch/cwd/g.txt:10:MARK c
| 10 MARK c
| 11 l11
-|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
-| NOR /tmp/pardes-snap/fsearch/cwd Del
-|
+| 12 l12
|
-| g.txt
-| /tmp/pardes-snap/fsearch/cwd/g.txt:2:MARK a
-| /tmp/pardes-snap/fsearch/cwd/g.txt:6:MARK b
-| /tmp/pardes-snap/fsearch/cwd/g.txt:10:MARK c
|
-| NOR /tmp/pardes-snap/fsearch/cwd Del
+| NOR /tmp/pardes-snap/fsearch/cwd Del
|
-| g.txt
+| g.txt
|
|
|
@@ -215,26 +215,26 @@
|
|
|
-== snap back grid=120x30 cursor=7,5
+== snap back grid=180x30 cursor=7,7
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/fsearch/cwd/g.txt Save Del NOR /tmp/pardes-snap/fsearch/cwd Del
+| NOR /tmp/pardes-snap/fsearch/cwd/g.txt Save Del NOR /tmp/pardes-snap/fsearch/cwd Del NOR /tmp/pardes-snap/fsearch/cwd Del
+| 1 l1
+| 2 MARK a g.txt g.txt
| 3 l3
-| 4 l4 g.txt
+| 4 l4
| 5 l5
-| 6 MARK b
-| 7 l7
-|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
-| NOR /tmp/pardes-snap/fsearch/cwd Del
-|
+| 6 MARK b g.txt
+| 7 l7 /tmp/pardes-snap/fsearch/cwd/g.txt:2:MARK a
+| 8 l8 /tmp/pardes-snap/fsearch/cwd/g.txt:6:MARK b
+| 9 l9 /tmp/pardes-snap/fsearch/cwd/g.txt:10:MARK c
+| 10 MARK c
+| 11 l11
+| 12 l12
|
-| g.txt
-| /tmp/pardes-snap/fsearch/cwd/g.txt:2:MARK a
-| /tmp/pardes-snap/fsearch/cwd/g.txt:6:MARK b
-| /tmp/pardes-snap/fsearch/cwd/g.txt:10:MARK c
|
-| NOR /tmp/pardes-snap/fsearch/cwd Del
+| NOR /tmp/pardes-snap/fsearch/cwd Del
|
-| g.txt
+| g.txt
|
|
|
@@ -246,26 +246,26 @@
|
|
|
-== snap cancel grid=120x30 cursor=7,5
+== snap cancel grid=180x30 cursor=7,7
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/fsearch/cwd/g.txt Save Del NOR /tmp/pardes-snap/fsearch/cwd Del
+| NOR /tmp/pardes-snap/fsearch/cwd/g.txt Save Del NOR /tmp/pardes-snap/fsearch/cwd Del NOR /tmp/pardes-snap/fsearch/cwd Del
+| 1 l1
+| 2 MARK a g.txt g.txt
| 3 l3
-| 4 l4 g.txt
+| 4 l4
| 5 l5
-| 6 MARK b
-| 7 l7
-|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
-| NOR /tmp/pardes-snap/fsearch/cwd Del
-|
+| 6 MARK b g.txt
+| 7 l7 /tmp/pardes-snap/fsearch/cwd/g.txt:2:MARK a
+| 8 l8 /tmp/pardes-snap/fsearch/cwd/g.txt:6:MARK b
+| 9 l9 /tmp/pardes-snap/fsearch/cwd/g.txt:10:MARK c
+| 10 MARK c
+| 11 l11
+| 12 l12
|
-| g.txt
-| /tmp/pardes-snap/fsearch/cwd/g.txt:2:MARK a
-| /tmp/pardes-snap/fsearch/cwd/g.txt:6:MARK b
-| /tmp/pardes-snap/fsearch/cwd/g.txt:10:MARK c
|
-| NOR /tmp/pardes-snap/fsearch/cwd Del
+| NOR /tmp/pardes-snap/fsearch/cwd Del
|
-| g.txt
+| g.txt
|
|
|
@@ -277,26 +277,26 @@
|
|
|
-== snap nomatch grid=120x30 cursor=7,5
+== snap nomatch grid=180x30 cursor=7,7
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/fsearch/cwd/g.txt Save Del NOR /tmp/pardes-snap/fsearch/cwd Del
+| NOR /tmp/pardes-snap/fsearch/cwd/g.txt Save Del NOR /tmp/pardes-snap/fsearch/cwd Del NOR /tmp/pardes-snap/fsearch/cwd Del
+| 1 l1
+| 2 MARK a g.txt g.txt
| 3 l3
-| 4 l4 g.txt
+| 4 l4
| 5 l5
-| 6 MARK b
-| 7 l7
-|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
-| NOR /tmp/pardes-snap/fsearch/cwd Del
-|
-| g.txt
-| /tmp/pardes-snap/fsearch/cwd/g.txt:2:MARK a
-| /tmp/pardes-snap/fsearch/cwd/g.txt:6:MARK b
-| /tmp/pardes-snap/fsearch/cwd/g.txt:10:MARK c
+| 6 MARK b g.txt
+| 7 l7 /tmp/pardes-snap/fsearch/cwd/g.txt:2:MARK a
+| 8 l8 /tmp/pardes-snap/fsearch/cwd/g.txt:6:MARK b
+| 9 l9 /tmp/pardes-snap/fsearch/cwd/g.txt:10:MARK c
+| 10 MARK c
+| 11 l11
+| 12 l12
|
|
-| NOR /tmp/pardes-snap/fsearch/cwd Del
+| NOR /tmp/pardes-snap/fsearch/cwd Del
|
-| g.txt
+| g.txt
|
|
|
diff --git a/test/snapshots/fsearch.snap b/test/snapshots/fsearch.snap
index ef56c6ba..38c39c02 100644
--- a/test/snapshots/fsearch.snap
+++ b/test/snapshots/fsearch.snap
@@ -4,7 +4,7 @@
# OSC 133 semantic marks) and look it — the file pane scrolls to path:NNN.
# Esc abandons the input; a no-match search leaves n with nowhere to go.
file g.txt l1\nMARK a\nl3\nl4\nl5\nMARK b\nl7\nl8\nl9\nMARK c\nl11\nl12
-start 30 120 -n 3
+start 30 180 -n 3
wait 8000 g.txt
stable 700 20000
# open g.txt: type the name in the shell, look it (as in look-file.snap)
diff --git a/test/snapshots/hscroll.golden b/test/snapshots/hscroll.golden
index 788d468f..055bd43c 100644
--- a/test/snapshots/hscroll.golden
+++ b/test/snapshots/hscroll.golden
@@ -1,23 +1,23 @@
-== snap opened grid=60x30 cursor=7,2
+== snap opened grid=90x30 cursor=7,2
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/hscroll NOR /tmp/pardes-snap/hscroll
+| NOR /tmp/pardes-snap/hscroll NOR /tmp/pardes-snap/hscroll NOR /tmp/pardes-snap/hscroll
| 1 short1 END_A_MARKER_WAY
-| wide.txt
+| wide.txt wide.txt
+|
+|
|
+| wide.txt
|
|
-|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
-| NOR /tmp/pardes-snap/hscroll
|
-| wide.txt
|
|
|
-| wide.txt
|
-| NOR /tmp/pardes-snap/hscroll
|
-| wide.txt
+| NOR /tmp/pardes-snap/hscroll
+|
+| wide.txt
|
|
|
@@ -29,26 +29,26 @@
|
|
|
-== snap wheeled grid=60x30 cursor=7,2
+== snap wheeled grid=90x30 cursor=7,2
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/hscroll NOR /tmp/pardes-snap/hscroll
+| NOR /tmp/pardes-snap/hscroll NOR /tmp/pardes-snap/hscroll NOR /tmp/pardes-snap/hscroll
| 1 ND_A_MARKER_WAY_OUT_RIG
-| wide.txt
+| wide.txt wide.txt
|
|
|
+| wide.txt
|
-| NOR /tmp/pardes-snap/hscroll
|
-| wide.txt
|
|
|
-| wide.txt
|
-| NOR /tmp/pardes-snap/hscroll
|
-| wide.txt
+|
+| NOR /tmp/pardes-snap/hscroll
+|
+| wide.txt
|
|
|
@@ -60,28 +60,26 @@
|
|
|
-== snap clamped grid=60x30 cursor=7,2
+== snap clamped grid=90x30 cursor=7,2
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/hscroll NOR /tmp/pardes-snap/hscroll
+| NOR /tmp/pardes-snap/hscroll NOR /tmp/pardes-snap/hscroll NOR /tmp/pardes-snap/hscroll
| 1 short1 END_A_MARKER_WAY
-| wide.txt
+| wide.txt wide.txt
|
|
|
+| wide.txt
|
-| NOR /tmp/pardes-snap/hscroll
|
-| wide.txt
|
|
|
-| wide.txt
|
-| NOR /tmp/pardes-snap/hscroll
|
-| wide.txt
|
+| NOR /tmp/pardes-snap/hscroll
|
+| wide.txt
|
|
|
@@ -91,26 +89,28 @@
|
|
|
-== snap dollar grid=60x30 cursor=26,2
+|
+|
+== snap dollar grid=90x30 cursor=26,2
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/hscroll NOR /tmp/pardes-snap/hscroll
+| NOR /tmp/pardes-snap/hscroll NOR /tmp/pardes-snap/hscroll NOR /tmp/pardes-snap/hscroll
| 1 padpadpadpadpad_TAIL
-| wide.txt
+| wide.txt wide.txt
+|
+|
|
+| wide.txt
|
|
|
-| NOR /tmp/pardes-snap/hscroll
|
-| wide.txt
|
|
|
-| wide.txt
|
-| NOR /tmp/pardes-snap/hscroll
+| NOR /tmp/pardes-snap/hscroll
|
-| wide.txt
+| wide.txt
|
|
|
@@ -122,26 +122,26 @@
|
|
|
-== snap zero grid=60x30 cursor=7,2
+== snap zero grid=90x30 cursor=7,2
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/hscroll NOR /tmp/pardes-snap/hscroll
+| NOR /tmp/pardes-snap/hscroll NOR /tmp/pardes-snap/hscroll NOR /tmp/pardes-snap/hscroll
| 1 short1 END_A_MARKER_WAY
-| wide.txt
+| wide.txt wide.txt
+|
|
|
+| wide.txt
|
|
-| NOR /tmp/pardes-snap/hscroll
|
-| wide.txt
|
|
|
-| wide.txt
|
-| NOR /tmp/pardes-snap/hscroll
|
-| wide.txt
+| NOR /tmp/pardes-snap/hscroll
+|
+| wide.txt
|
|
|
diff --git a/test/snapshots/hscroll.snap b/test/snapshots/hscroll.snap
index 37a1b647..97e8c99d 100644
--- a/test/snapshots/hscroll.snap
+++ b/test/snapshots/hscroll.snap
@@ -4,7 +4,7 @@
# line pulls the view right, 0 snaps it back. Overscroll right is allowed;
# a cursor move reels it in.
file wide.txt short1 END_A_MARKER_WAY_OUT_RIGHT_padpadpadpadpadpadpadpadpadpadpadpadpadpad_TAIL
-start 30 60 -n 3
+start 30 90 -n 3
wait 8000 wide.txt
stable 700 20000
# open wide.txt: click a body spot, type the name, look it
diff --git a/test/snapshots/images.golden b/test/snapshots/images.golden
index 89e40241..c5a2322e 100644
--- a/test/snapshots/images.golden
+++ b/test/snapshots/images.golden
@@ -1,124 +1,124 @@
-== snap img-open grid=100x30 cursor=4,7
+== snap img-open grid=150x30 cursor=4,7
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| img /tmp/pardes-snap/images/cwd/pic.ppm Petscii NOR /tmp/pardes-snap/images/cwd Del
-| 🬝🬂
-| 🬝🬂█ pic.ppm
-| 🬝🬂█
-| 🬝🬂
-| 🬝🬂█
-|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
-| NOR /tmp/pardes-snap/images/cwd Del
-|
-| pic.ppm
-|
-|
-|
-| pic.ppm
-|
-| NOR /tmp/pardes-snap/images/cwd Del
-|
-| pic.ppm
-|
-|
-|
-|
-|
-|
-|
-|
+| img /tmp/pardes-snap/images/cwd/pic.ppm Petscii NOR /tmp/pardes-snap/images/cwd Del NOR /tmp/pardes-snap/images/cwd Del
|
+| pic.ppm pic.ppm
+| ▛
+| 🬎🬹
+| 🬎🬻
+| ▛ pic.ppm
+| 🬎🬹
+| 🬎🬻
+| ▛
+| 🬎🬹
+| 🬎🬻
+| ▛
+| 🬎🬹
+| 🬎🬻
+| ▛ NOR /tmp/pardes-snap/images/cwd Del
+| 🬎🬹
+| 🬎🬻 pic.ppm
+| ▛
+| 🬎🬹
+| 🬎🬻
+| ▛
+| 🬎🬹
+| 🬎🬻
+| ▛
+| 🬎🬹
+| 🬎🬻
|
|
== style img-open
-|0: 0-48 #969696,#2c2a3e, 49-99 d,#2c2a3e,
-|1: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#383c54, 52-86 #969696,#2c2a3e, 87-99 d,#2c2a3e,
-|2: 0-1 d,#2a2a2a, 2-19 d,d, 20-29 #ffffff,#ffffff, 30-31 #ffffff,#6c5eb5, 32-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|3: 0-1 d,#2a2a2a, 2-19 d,d, 20-27 #ffffff,#ffffff, 28-29 #ffffff,#6c5eb5, 30-30 #352879,#ffffff, 31-31 #352879,#352879, 32-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|4: 0-1 d,#2a2a2a, 2-19 d,d, 20-25 #ffffff,#ffffff, 26-27 #ffffff,#6c5eb5, 28-28 #352879,#ffffff, 29-31 #352879,#352879, 32-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|5: 0-1 d,#2a2a2a, 2-19 d,d, 20-23 #ffffff,#ffffff, 24-25 #ffffff,#6c5eb5, 26-31 #352879,#352879, 32-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|6: 0-1 d,#2a2a2a, 2-19 d,d, 20-21 #ffffff,#ffffff, 22-23 #ffffff,#6c5eb5, 24-24 #352879,#ffffff, 25-31 #352879,#352879, 32-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|7: 0-1 d,#2a2a2a, 2-19 d,d, 20-21 #ffffff,#6c5eb5, 22-22 #352879,#ffffff, 23-31 #352879,#352879, 32-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|8: 0-1 d,#383c54, 2-36 #969696,#2c2a3e, 37-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
-|9: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|10: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|11: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|12: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|13: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|14: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|15: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|16: 0-1 d,#383c54, 2-36 #969696,#2c2a3e, 37-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
-|17: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|18: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|19: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|20: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|21: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|22: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|23: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|24: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|25: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|26: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|27: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|28: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|29: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|0: 0-48 #969696,#2c2a3e, 49-149 d,#2c2a3e,
+|1: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#383c54, 52-86 #969696,#2c2a3e, 87-99 d,#2c2a3e, 100-101 d,#383c54, 102-136 #969696,#2c2a3e, 137-149 d,#2c2a3e,
+|2: 0-1 d,#2a2a2a, 2-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|3: 0-1 d,#2a2a2a, 2-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|4: 0-1 d,#2a2a2a, 2-48 #ffffff,#ffffff, 49-49 #ffffff,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|5: 0-1 d,#2a2a2a, 2-46 #ffffff,#ffffff, 47-47 #ffffff,#352879, 48-48 #352879,#ffffff, 49-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|6: 0-1 d,#2a2a2a, 2-44 #ffffff,#ffffff, 45-45 #ffffff,#352879, 46-46 #352879,#ffffff, 47-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|7: 0-1 d,#2a2a2a, 2-42 #ffffff,#ffffff, 43-43 #ffffff,#352879, 44-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|8: 0-1 d,#2a2a2a, 2-40 #ffffff,#ffffff, 41-41 #ffffff,#352879, 42-42 #352879,#ffffff, 43-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|9: 0-1 d,#2a2a2a, 2-38 #ffffff,#ffffff, 39-39 #ffffff,#352879, 40-40 #352879,#ffffff, 41-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|10: 0-1 d,#2a2a2a, 2-36 #ffffff,#ffffff, 37-37 #ffffff,#352879, 38-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|11: 0-1 d,#2a2a2a, 2-34 #ffffff,#ffffff, 35-35 #ffffff,#352879, 36-36 #352879,#ffffff, 37-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|12: 0-1 d,#2a2a2a, 2-32 #ffffff,#ffffff, 33-33 #ffffff,#352879, 34-34 #352879,#ffffff, 35-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|13: 0-1 d,#2a2a2a, 2-30 #ffffff,#ffffff, 31-31 #ffffff,#352879, 32-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|14: 0-1 d,#2a2a2a, 2-28 #ffffff,#ffffff, 29-29 #ffffff,#352879, 30-30 #352879,#ffffff, 31-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|15: 0-1 d,#2a2a2a, 2-26 #ffffff,#ffffff, 27-27 #ffffff,#352879, 28-28 #352879,#ffffff, 29-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|16: 0-1 d,#2a2a2a, 2-24 #ffffff,#ffffff, 25-25 #ffffff,#352879, 26-49 #352879,#352879, 50-51 d,#383c54, 52-86 #969696,#2c2a3e, 87-99 d,#2c2a3e, 100-101 d,#525252, 102-149 d,d,
+|17: 0-1 d,#2a2a2a, 2-22 #ffffff,#ffffff, 23-23 #ffffff,#352879, 24-24 #352879,#ffffff, 25-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|18: 0-1 d,#2a2a2a, 2-20 #ffffff,#ffffff, 21-21 #ffffff,#352879, 22-22 #352879,#ffffff, 23-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|19: 0-1 d,#2a2a2a, 2-18 #ffffff,#ffffff, 19-19 #ffffff,#352879, 20-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|20: 0-1 d,#2a2a2a, 2-16 #ffffff,#ffffff, 17-17 #ffffff,#352879, 18-18 #352879,#ffffff, 19-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|21: 0-1 d,#2a2a2a, 2-14 #ffffff,#ffffff, 15-15 #ffffff,#352879, 16-16 #352879,#ffffff, 17-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|22: 0-1 d,#2a2a2a, 2-12 #ffffff,#ffffff, 13-13 #ffffff,#352879, 14-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|23: 0-1 d,#2a2a2a, 2-10 #ffffff,#ffffff, 11-11 #ffffff,#352879, 12-12 #352879,#ffffff, 13-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|24: 0-1 d,#2a2a2a, 2-8 #ffffff,#ffffff, 9-9 #ffffff,#352879, 10-10 #352879,#ffffff, 11-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|25: 0-1 d,#2a2a2a, 2-6 #ffffff,#ffffff, 7-7 #ffffff,#352879, 8-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|26: 0-1 d,#2a2a2a, 2-4 #ffffff,#ffffff, 5-5 #ffffff,#352879, 6-6 #352879,#ffffff, 7-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|27: 0-1 d,#2a2a2a, 2-2 #ffffff,#ffffff, 3-3 #ffffff,#352879, 4-4 #352879,#ffffff, 5-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|28: 0-1 d,#2a2a2a, 2-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|29: 0-1 d,#2a2a2a, 2-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
== style term-palette
-|0: 0-48 #969696,#2c2a3e, 49-99 d,#2c2a3e,
-|1: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#383c54, 52-86 #969696,#2c2a3e, 87-99 d,#2c2a3e,
-|2: 0-1 d,#2a2a2a, 2-19 d,d, 20-29 #ffffff,#ffffff, 30-31 #ffffff,#6c5eb5, 32-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|3: 0-1 d,#2a2a2a, 2-19 d,d, 20-27 #ffffff,#ffffff, 28-29 #ffffff,#6c5eb5, 30-30 #352879,#ffffff, 31-31 #352879,#352879, 32-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|4: 0-1 d,#2a2a2a, 2-19 d,d, 20-25 #ffffff,#ffffff, 26-27 #ffffff,#6c5eb5, 28-28 #352879,#ffffff, 29-31 #352879,#352879, 32-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|5: 0-1 d,#2a2a2a, 2-19 d,d, 20-23 #ffffff,#ffffff, 24-25 #ffffff,#6c5eb5, 26-31 #352879,#352879, 32-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|6: 0-1 d,#2a2a2a, 2-19 d,d, 20-21 #ffffff,#ffffff, 22-23 #ffffff,#6c5eb5, 24-24 #352879,#ffffff, 25-31 #352879,#352879, 32-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|7: 0-1 d,#2a2a2a, 2-19 d,d, 20-21 #ffffff,#6c5eb5, 22-22 #352879,#ffffff, 23-31 #352879,#352879, 32-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|8: 0-1 d,#383c54, 2-36 #969696,#2c2a3e, 37-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
-|9: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|10: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|11: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|12: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|13: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|14: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|15: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|16: 0-1 d,#383c54, 2-36 #969696,#2c2a3e, 37-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
-|17: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|18: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|19: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|20: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|21: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|22: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|23: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|24: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|25: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|26: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|27: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|28: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|29: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|0: 0-48 #969696,#2c2a3e, 49-149 d,#2c2a3e,
+|1: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#383c54, 52-86 #969696,#2c2a3e, 87-99 d,#2c2a3e, 100-101 d,#383c54, 102-136 #969696,#2c2a3e, 137-149 d,#2c2a3e,
+|2: 0-1 d,#2a2a2a, 2-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|3: 0-1 d,#2a2a2a, 2-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|4: 0-1 d,#2a2a2a, 2-48 #ffffff,#ffffff, 49-49 #ffffff,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|5: 0-1 d,#2a2a2a, 2-46 #ffffff,#ffffff, 47-47 #ffffff,#352879, 48-48 #352879,#ffffff, 49-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|6: 0-1 d,#2a2a2a, 2-44 #ffffff,#ffffff, 45-45 #ffffff,#352879, 46-46 #352879,#ffffff, 47-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|7: 0-1 d,#2a2a2a, 2-42 #ffffff,#ffffff, 43-43 #ffffff,#352879, 44-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|8: 0-1 d,#2a2a2a, 2-40 #ffffff,#ffffff, 41-41 #ffffff,#352879, 42-42 #352879,#ffffff, 43-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|9: 0-1 d,#2a2a2a, 2-38 #ffffff,#ffffff, 39-39 #ffffff,#352879, 40-40 #352879,#ffffff, 41-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|10: 0-1 d,#2a2a2a, 2-36 #ffffff,#ffffff, 37-37 #ffffff,#352879, 38-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|11: 0-1 d,#2a2a2a, 2-34 #ffffff,#ffffff, 35-35 #ffffff,#352879, 36-36 #352879,#ffffff, 37-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|12: 0-1 d,#2a2a2a, 2-32 #ffffff,#ffffff, 33-33 #ffffff,#352879, 34-34 #352879,#ffffff, 35-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|13: 0-1 d,#2a2a2a, 2-30 #ffffff,#ffffff, 31-31 #ffffff,#352879, 32-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|14: 0-1 d,#2a2a2a, 2-28 #ffffff,#ffffff, 29-29 #ffffff,#352879, 30-30 #352879,#ffffff, 31-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|15: 0-1 d,#2a2a2a, 2-26 #ffffff,#ffffff, 27-27 #ffffff,#352879, 28-28 #352879,#ffffff, 29-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|16: 0-1 d,#2a2a2a, 2-24 #ffffff,#ffffff, 25-25 #ffffff,#352879, 26-49 #352879,#352879, 50-51 d,#383c54, 52-86 #969696,#2c2a3e, 87-99 d,#2c2a3e, 100-101 d,#525252, 102-149 d,d,
+|17: 0-1 d,#2a2a2a, 2-22 #ffffff,#ffffff, 23-23 #ffffff,#352879, 24-24 #352879,#ffffff, 25-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|18: 0-1 d,#2a2a2a, 2-20 #ffffff,#ffffff, 21-21 #ffffff,#352879, 22-22 #352879,#ffffff, 23-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|19: 0-1 d,#2a2a2a, 2-18 #ffffff,#ffffff, 19-19 #ffffff,#352879, 20-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|20: 0-1 d,#2a2a2a, 2-16 #ffffff,#ffffff, 17-17 #ffffff,#352879, 18-18 #352879,#ffffff, 19-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|21: 0-1 d,#2a2a2a, 2-14 #ffffff,#ffffff, 15-15 #ffffff,#352879, 16-16 #352879,#ffffff, 17-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|22: 0-1 d,#2a2a2a, 2-12 #ffffff,#ffffff, 13-13 #ffffff,#352879, 14-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|23: 0-1 d,#2a2a2a, 2-10 #ffffff,#ffffff, 11-11 #ffffff,#352879, 12-12 #352879,#ffffff, 13-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|24: 0-1 d,#2a2a2a, 2-8 #ffffff,#ffffff, 9-9 #ffffff,#352879, 10-10 #352879,#ffffff, 11-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|25: 0-1 d,#2a2a2a, 2-6 #ffffff,#ffffff, 7-7 #ffffff,#352879, 8-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|26: 0-1 d,#2a2a2a, 2-4 #ffffff,#ffffff, 5-5 #ffffff,#352879, 6-6 #352879,#ffffff, 7-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|27: 0-1 d,#2a2a2a, 2-2 #ffffff,#ffffff, 3-3 #ffffff,#352879, 4-4 #352879,#ffffff, 5-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|28: 0-1 d,#2a2a2a, 2-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|29: 0-1 d,#2a2a2a, 2-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
== style no-ascii
-|0: 0-48 #969696,#2c2a3e, 49-99 d,#2c2a3e,
-|1: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#383c54, 52-86 #969696,#2c2a3e, 87-99 d,#2c2a3e,
-|2: 0-1 d,#2a2a2a, 2-19 d,d, 20-29 #ffffff,#ffffff, 30-31 #ffffff,#6c5eb5, 32-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|3: 0-1 d,#2a2a2a, 2-19 d,d, 20-27 #ffffff,#ffffff, 28-29 #ffffff,#6c5eb5, 30-30 #352879,#ffffff, 31-31 #352879,#352879, 32-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|4: 0-1 d,#2a2a2a, 2-19 d,d, 20-25 #ffffff,#ffffff, 26-27 #ffffff,#6c5eb5, 28-28 #352879,#ffffff, 29-31 #352879,#352879, 32-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|5: 0-1 d,#2a2a2a, 2-19 d,d, 20-23 #ffffff,#ffffff, 24-25 #ffffff,#6c5eb5, 26-31 #352879,#352879, 32-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|6: 0-1 d,#2a2a2a, 2-19 d,d, 20-21 #ffffff,#ffffff, 22-23 #ffffff,#6c5eb5, 24-24 #352879,#ffffff, 25-31 #352879,#352879, 32-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|7: 0-1 d,#2a2a2a, 2-19 d,d, 20-21 #ffffff,#6c5eb5, 22-22 #352879,#ffffff, 23-31 #352879,#352879, 32-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|8: 0-1 d,#383c54, 2-36 #969696,#2c2a3e, 37-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
-|9: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|10: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|11: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|12: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|13: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|14: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|15: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|16: 0-1 d,#383c54, 2-36 #969696,#2c2a3e, 37-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
-|17: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|18: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|19: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|20: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|21: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|22: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|23: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|24: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|25: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|26: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|27: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|28: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|29: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|0: 0-48 #969696,#2c2a3e, 49-149 d,#2c2a3e,
+|1: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#383c54, 52-86 #969696,#2c2a3e, 87-99 d,#2c2a3e, 100-101 d,#383c54, 102-136 #969696,#2c2a3e, 137-149 d,#2c2a3e,
+|2: 0-1 d,#2a2a2a, 2-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|3: 0-1 d,#2a2a2a, 2-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|4: 0-1 d,#2a2a2a, 2-48 #ffffff,#ffffff, 49-49 #ffffff,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|5: 0-1 d,#2a2a2a, 2-46 #ffffff,#ffffff, 47-47 #ffffff,#352879, 48-48 #352879,#ffffff, 49-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|6: 0-1 d,#2a2a2a, 2-44 #ffffff,#ffffff, 45-45 #ffffff,#352879, 46-46 #352879,#ffffff, 47-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|7: 0-1 d,#2a2a2a, 2-42 #ffffff,#ffffff, 43-43 #ffffff,#352879, 44-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|8: 0-1 d,#2a2a2a, 2-40 #ffffff,#ffffff, 41-41 #ffffff,#352879, 42-42 #352879,#ffffff, 43-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|9: 0-1 d,#2a2a2a, 2-38 #ffffff,#ffffff, 39-39 #ffffff,#352879, 40-40 #352879,#ffffff, 41-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|10: 0-1 d,#2a2a2a, 2-36 #ffffff,#ffffff, 37-37 #ffffff,#352879, 38-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|11: 0-1 d,#2a2a2a, 2-34 #ffffff,#ffffff, 35-35 #ffffff,#352879, 36-36 #352879,#ffffff, 37-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|12: 0-1 d,#2a2a2a, 2-32 #ffffff,#ffffff, 33-33 #ffffff,#352879, 34-34 #352879,#ffffff, 35-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|13: 0-1 d,#2a2a2a, 2-30 #ffffff,#ffffff, 31-31 #ffffff,#352879, 32-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|14: 0-1 d,#2a2a2a, 2-28 #ffffff,#ffffff, 29-29 #ffffff,#352879, 30-30 #352879,#ffffff, 31-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|15: 0-1 d,#2a2a2a, 2-26 #ffffff,#ffffff, 27-27 #ffffff,#352879, 28-28 #352879,#ffffff, 29-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|16: 0-1 d,#2a2a2a, 2-24 #ffffff,#ffffff, 25-25 #ffffff,#352879, 26-49 #352879,#352879, 50-51 d,#383c54, 52-86 #969696,#2c2a3e, 87-99 d,#2c2a3e, 100-101 d,#525252, 102-149 d,d,
+|17: 0-1 d,#2a2a2a, 2-22 #ffffff,#ffffff, 23-23 #ffffff,#352879, 24-24 #352879,#ffffff, 25-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|18: 0-1 d,#2a2a2a, 2-20 #ffffff,#ffffff, 21-21 #ffffff,#352879, 22-22 #352879,#ffffff, 23-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|19: 0-1 d,#2a2a2a, 2-18 #ffffff,#ffffff, 19-19 #ffffff,#352879, 20-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|20: 0-1 d,#2a2a2a, 2-16 #ffffff,#ffffff, 17-17 #ffffff,#352879, 18-18 #352879,#ffffff, 19-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|21: 0-1 d,#2a2a2a, 2-14 #ffffff,#ffffff, 15-15 #ffffff,#352879, 16-16 #352879,#ffffff, 17-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|22: 0-1 d,#2a2a2a, 2-12 #ffffff,#ffffff, 13-13 #ffffff,#352879, 14-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|23: 0-1 d,#2a2a2a, 2-10 #ffffff,#ffffff, 11-11 #ffffff,#352879, 12-12 #352879,#ffffff, 13-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|24: 0-1 d,#2a2a2a, 2-8 #ffffff,#ffffff, 9-9 #ffffff,#352879, 10-10 #352879,#ffffff, 11-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|25: 0-1 d,#2a2a2a, 2-6 #ffffff,#ffffff, 7-7 #ffffff,#352879, 8-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|26: 0-1 d,#2a2a2a, 2-4 #ffffff,#ffffff, 5-5 #ffffff,#352879, 6-6 #352879,#ffffff, 7-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|27: 0-1 d,#2a2a2a, 2-2 #ffffff,#ffffff, 3-3 #ffffff,#352879, 4-4 #352879,#ffffff, 5-49 #352879,#352879, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|28: 0-1 d,#2a2a2a, 2-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|29: 0-1 d,#2a2a2a, 2-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
diff --git a/test/snapshots/images.snap b/test/snapshots/images.snap
index 2e3e2992..e285d4bf 100644
--- a/test/snapshots/images.snap
+++ b/test/snapshots/images.snap
@@ -1,7 +1,7 @@
# image panes: right-click a .ppm opens petscii glyph art (no kitty in the
# harness); the live tag toggles palette (C64<->Term) and Ascii glyphs
ppmdiag pic.ppm
-start 30 100 -n 3
+start 30 150 -n 3
wait 8000 pic.ppm
stable 700 20000
press left 5 8
diff --git a/test/snapshots/layout-close.golden b/test/snapshots/layout-close.golden
index cddcd0c4..50ac9ca8 100644
--- a/test/snapshots/layout-close.golden
+++ b/test/snapshots/layout-close.golden
@@ -121,7 +121,7 @@
|
|
|
-== snap exit grid=140x40 cursor=4,7
+== snap exit grid=140x40 cursor=98,4
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
| NOR /tmp/pardes-snap/layout-close/cwd Del NOR /tmp/pardes-snap/layout-close/cwd Del NOR /tmp/pardes-snap/layout-close/cwd Del
|
diff --git a/test/snapshots/layout-close.snap b/test/snapshots/layout-close.snap
index b2f1125b..d4160221 100644
--- a/test/snapshots/layout-close.snap
+++ b/test/snapshots/layout-close.snap
@@ -28,7 +28,8 @@ release middle 41 6
stable 700 10000
snap del
# exit the (now) 2nd shell (type the command, esc, Tab executes the word):
-# pty EOF, again only the pane above absorbs
+# pty EOF, again only the pane above absorbs — and focus falls back to the
+# pane that had it before this one (the moved-out column), not to slot 0
press left 5 14
release left 5 14
stable 400 5000
diff --git a/test/snapshots/layout-open.golden b/test/snapshots/layout-open.golden
index 2a1d462a..c4ab4219 100644
--- a/test/snapshots/layout-open.golden
+++ b/test/snapshots/layout-open.golden
@@ -93,13 +93,13 @@
|
== snap file-open grid=100x30 cursor=7,2
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/layout-open/cwd/sub/f.txt S NOR /tmp/pardes-snap/layout-open/cwd Del
+| NOR /tmp/pardes-snap/layout-ope NOR /tmp/pardes-snap/layout-ope NOR /tmp/pardes-snap/layout-open
| 1 echo 'TTY'OK
-| NOR /tmp/pardes-snap/layout-open/cwd Del sub
+| sub sub
|
-| NOR /tmp/pardes-snap/layout-open/cwd Del NOR /tmp/pardes-snap/layout-open/cwd Del
+| NOR /tmp/pardes-snap/layout-ope NOR /tmp/pardes-snap/layout-open
|
-| sub sub
+| sub sub
|
|
|
@@ -108,9 +108,9 @@
|
|
|
-| NOR /tmp/pardes-snap/layout-open/cwd Del
+| NOR /tmp/pardes-snap/layout-ope
|
-| sub
+| sub
|
|
|
@@ -118,30 +118,30 @@
|
|
|
-| sub/f.txt
+| sub/f.txt
|
|
|
== snap ttydir grid=100x30 cursor=7,2
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/layout-open/cwd/sub/f.txt S NOR /tmp/pardes-snap/layout-open/cwd Del
+| NOR /tmp/pardes-snap/layout-ope NOR /tmp/pardes-snap/layout-ope NOR /tmp/pardes-snap/layout-open
| 1 echo 'TTY'OK
-| NOR /tmp/pardes-snap/layout-open/cwd Del sub
+| sub sub
|
-| NOR /tmp/pardes-snap/layout-open/cwd Del NOR /tmp/pardes-snap/layout-open/cwd Del
+| NOR /tmp/pardes-snap/layout-ope NOR /tmp/pardes-snap/layout-open
|
-| sub sub
+| sub sub
|
-| NOR /tmp/pardes-snap/layout-open/cwd/sub Del
-| echo 'TTY'OK
+| NOR /tmp/pardes-snap/layout-open
+| echo 'TTY'OK
|
-| TTYOK
+| TTYOK
|
|
|
-| NOR /tmp/pardes-snap/layout-open/cwd Del
+| NOR /tmp/pardes-snap/layout-ope
|
-| sub
+| sub
|
|
|
@@ -149,7 +149,7 @@
|
|
|
-| sub/f.txt
+| sub/f.txt
|
|
|
diff --git a/test/snapshots/layout-open.snap b/test/snapshots/layout-open.snap
index 30f25995..ee909f2e 100644
--- a/test/snapshots/layout-open.snap
+++ b/test/snapshots/layout-open.snap
@@ -1,7 +1,8 @@
# every pane open splits ONE existing pane, the rest of the column keeps its
-# sizes: Alt-n splits the active pane, a looked-up file stacking top-left
-# splits only the old top pane, an execute-spawned shell for a file's dir
-# splits only the bottom pane of the rightmost column
+# sizes: Alt-n splits the active pane, an execute-spawned shell for a file's
+# dir splits only the bottom pane of the rightmost column. The first looked-up
+# file is the exception: it takes a NEW leftmost column, splitting nothing —
+# the other columns only narrow
dirmk sub
file sub/f.txt echo 'TTY'OK
start 30 100 -n 3
@@ -29,8 +30,8 @@ stable 400 5000
key a-n
stable 700 15000
snap altn-right
-# look sub/f.txt from the bottom-left shell: the doc stacks at the top of the
-# left column, splitting only the old top pane — lower boundaries must not move
+# look sub/f.txt from the bottom-left shell: the first doc takes a new leftmost
+# column of its own — every existing pane keeps its rows, only the widths change
press left 5 27
release left 5 27
stable 400 5000
diff --git a/test/snapshots/look-center.golden b/test/snapshots/look-center.golden
index c3073dec..4a90bf8e 100644
--- a/test/snapshots/look-center.golden
+++ b/test/snapshots/look-center.golden
@@ -1,93 +1,93 @@
-== snap center-open grid=100x30 cursor=7,5
+== snap center-open grid=150x30 cursor=7,16
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/look-center/cwd/big.txt Sav NOR /tmp/pardes-snap/look-center/cwd Del
+| NOR /tmp/pardes-snap/look-center/cwd/big.txt Sav NOR /tmp/pardes-snap/look-center/cwd Del NOR /tmp/pardes-snap/look-center/cwd Del
+| 86 line 86
+| 87 line 87 big.txt big.txt
+| 88 line 88
+| 89 line 89
+| 90 line 90
+| 91 line 91 big.txt:100 big.txt:150 big.txt:2
+| 92 line 92
+| 93 line 93
+| 94 line 94
+| 95 line 95
+| 96 line 96
| 97 line 97
-| 98 line 98 big.txt
+| 98 line 98
| 99 line 99
-| 100 line 100
+| 100 line 100 NOR /tmp/pardes-snap/look-center/cwd Del
| 101 line 101
-|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
-| NOR /tmp/pardes-snap/look-center/cwd Del
-|
-| big.txt
-|
-|
-|
-| big.txt:100 big.txt:150 big.txt:2
-|
-| NOR /tmp/pardes-snap/look-center/cwd Del
-|
-| big.txt
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-== snap center-dedup grid=100x30 cursor=7,5
+| 102 line 102 big.txt
+| 103 line 103
+| 104 line 104
+| 105 line 105
+| 106 line 106
+| 107 line 107
+| 108 line 108
+| 109 line 109
+| 110 line 110
+| 111 line 111
+| 112 line 112
+| 113 line 113
+== snap center-dedup grid=150x30 cursor=7,16
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/look-center/cwd/big.txt Sav NOR /tmp/pardes-snap/look-center/cwd Del
-| 147 line 147
-| 148 line 148 big.txt
-| 149 line 149
-| 150 line 150
-| 151 line 151
-| 152 line 152
-| NOR /tmp/pardes-snap/look-center/cwd Del
-|
-| big.txt
-|
-|
-|
-| big.txt:100 big.txt:150 big.txt:2
-|
-| NOR /tmp/pardes-snap/look-center/cwd Del
-|
-| big.txt
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-== snap center-clamp grid=100x30 cursor=7,3
+| NOR /tmp/pardes-snap/look-center/cwd/big.txt Sav NOR /tmp/pardes-snap/look-center/cwd Del NOR /tmp/pardes-snap/look-center/cwd Del
+| 86 line 86
+| 87 line 87 big.txt big.txt
+| 88 line 88
+| 89 line 89
+| 90 line 90
+| 91 line 91 big.txt:100 big.txt:150 big.txt:2
+| 92 line 92
+| 93 line 93
+| 94 line 94
+| 95 line 95
+| 96 line 96
+| 97 line 97
+| 98 line 98
+| 99 line 99
+| 100 line 100 NOR /tmp/pardes-snap/look-center/cwd Del
+| 101 line 101
+| 102 line 102 big.txt
+| 103 line 103
+| 104 line 104
+| 105 line 105
+| 106 line 106
+| 107 line 107
+| 108 line 108
+| 109 line 109
+| 110 line 110
+| 111 line 111
+| 112 line 112
+| 113 line 113
+== snap center-clamp grid=150x30 cursor=7,16
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/look-center/cwd/big.txt Sav NOR /tmp/pardes-snap/look-center/cwd Del
-| 1 line 1
-| 2 line 2 big.txt
-| 3 line 3
-| 4 line 4
-| 5 line 5
-| 6 line 6
-| NOR /tmp/pardes-snap/look-center/cwd Del
-|
-| big.txt
-|
-|
-|
-| big.txt:100 big.txt:150 big.txt:2
-|
-| NOR /tmp/pardes-snap/look-center/cwd Del
-|
-| big.txt
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
+| NOR /tmp/pardes-snap/look-center/cwd/big.txt Sav NOR /tmp/pardes-snap/look-center/cwd Del NOR /tmp/pardes-snap/look-center/cwd Del
+| 86 line 86
+| 87 line 87 big.txt big.txt
+| 88 line 88
+| 89 line 89
+| 90 line 90
+| 91 line 91 big.txt:100 big.txt:150 big.txt:2
+| 92 line 92
+| 93 line 93
+| 94 line 94
+| 95 line 95
+| 96 line 96
+| 97 line 97
+| 98 line 98
+| 99 line 99
+| 100 line 100 NOR /tmp/pardes-snap/look-center/cwd Del
+| 101 line 101
+| 102 line 102 big.txt
+| 103 line 103
+| 104 line 104
+| 105 line 105
+| 106 line 106
+| 107 line 107
+| 108 line 108
+| 109 line 109
+| 110 line 110
+| 111 line 111
+| 112 line 112
+| 113 line 113
diff --git a/test/snapshots/look-center.snap b/test/snapshots/look-center.snap
index 723e9e36..8bd3ea72 100644
--- a/test/snapshots/look-center.snap
+++ b/test/snapshots/look-center.snap
@@ -3,7 +3,7 @@
# the same path re-center the existing pane, and a look near line 1 clamps
# the scroll at 0 (no negative scroll)
lines big.txt 200
-start 30 100 -n 3
+start 30 150 -n 3
wait 8000 big.txt
stable 700 20000
press left 5 8
diff --git a/test/snapshots/look-file-1col.golden b/test/snapshots/look-file-1col.golden
index a7fe21bb..d15eb99d 100644
--- a/test/snapshots/look-file-1col.golden
+++ b/test/snapshots/look-file-1col.golden
@@ -1,14 +1,12 @@
-== snap file-open-1col grid=100x30 cursor=7,18
+== snap file-open-1col grid=100x30 cursor=7,16
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/look-file-1col/cwd Del
-|
-| big.txt
-|
-| NOR /tmp/pardes-snap/look-file-1col/cwd/big.txt Save Del
+| NOR /tmp/pardes-snap/look-file-1col/cwd/big.txt NOR /tmp/pardes-snap/look-file-1col/cwd Del
+| 26 line 26
+| 27 line 27 big.txt
| 28 line 28
| 29 line 29
| 30 line 30
-| 31 line 31
+| 31 line 31 big.txt:40
| 32 line 32
| 33 line 33
| 34 line 34
@@ -29,3 +27,5 @@
| 49 line 49
| 50 line 50
| 51 line 51
+| 52 line 52
+| 53 line 53
diff --git a/test/snapshots/look-file-1col.snap b/test/snapshots/look-file-1col.snap
index 585bc0d0..3ef7e579 100644
--- a/test/snapshots/look-file-1col.snap
+++ b/test/snapshots/look-file-1col.snap
@@ -1,5 +1,6 @@
-# single column (-n 1): a right-click look on a file splits BELOW the pane the
-# look came from (follows the layout) instead of jumping to the top-left column
+# single column (-n 1): the session's FIRST doc always gets a column of its
+# own, so a look from the lone shell puts the file beside it (not below it) —
+# the shell keeps its own column, both halve the width
lines big.txt 60
start 30 100 -n 1
wait 8000 big.txt
diff --git a/test/snapshots/look-file.golden b/test/snapshots/look-file.golden
index 32b1e8b4..712c2ae2 100644
--- a/test/snapshots/look-file.golden
+++ b/test/snapshots/look-file.golden
@@ -1,62 +1,62 @@
-== snap file-open grid=100x30 cursor=7,5
+== snap file-open grid=150x30 cursor=7,16
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/look-file/cwd/big.txt Save NOR /tmp/pardes-snap/look-file/cwd Del
+| NOR /tmp/pardes-snap/look-file/cwd/big.txt Save NOR /tmp/pardes-snap/look-file/cwd Del NOR /tmp/pardes-snap/look-file/cwd Del
+| 26 line 26
+| 27 line 27 big.txt big.txt
+| 28 line 28
+| 29 line 29
+| 30 line 30
+| 31 line 31 big.txt:40
+| 32 line 32
+| 33 line 33
+| 34 line 34
+| 35 line 35
+| 36 line 36
| 37 line 37
-| 38 line 38 big.txt
+| 38 line 38
| 39 line 39
-| 40 line 40
+| 40 line 40 NOR /tmp/pardes-snap/look-file/cwd Del
| 41 line 41
-|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
-| NOR /tmp/pardes-snap/look-file/cwd Del
-|
-| big.txt
-|
-|
-|
-| big.txt:40
-|
-| NOR /tmp/pardes-snap/look-file/cwd Del
-|
-| big.txt
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
+| 42 line 42 big.txt
+| 43 line 43
+| 44 line 44
+| 45 line 45
+| 46 line 46
+| 47 line 47
+| 48 line 48
+| 49 line 49
+| 50 line 50
+| 51 line 51
+| 52 line 52
+| 53 line 53
== style file-open
-|0: 0-48 #969696,#2c2a3e, 49-99 d,#2c2a3e,
-|1: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#383c54, 52-89 #969696,#2c2a3e, 90-99 d,#2c2a3e,
-|2: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|3: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|4: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|5: 0-1 d,#525252, 2-6 #969696,#2c2a3e, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|6: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|7: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|8: 0-1 d,#383c54, 2-39 #969696,#2c2a3e, 40-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
-|9: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|10: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|11: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|12: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|13: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|14: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|15: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|16: 0-1 d,#383c54, 2-39 #969696,#2c2a3e, 40-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
-|17: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|18: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|19: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|20: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|21: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|22: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|23: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|24: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|25: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|26: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|27: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|28: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|29: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|0: 0-48 #969696,#2c2a3e, 49-149 d,#2c2a3e,
+|1: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#383c54, 52-89 #969696,#2c2a3e, 90-99 d,#2c2a3e, 100-101 d,#383c54, 102-139 #969696,#2c2a3e, 140-149 d,#2c2a3e,
+|2: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|3: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|4: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|5: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|6: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|7: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|8: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|9: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|10: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|11: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|12: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|13: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|14: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|15: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|16: 0-1 d,#525252, 2-6 #969696,#2c2a3e, 7-49 d,d, 50-51 d,#383c54, 52-89 #969696,#2c2a3e, 90-99 d,#2c2a3e, 100-101 d,#525252, 102-149 d,d,
+|17: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|18: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|19: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|20: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|21: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|22: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|23: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|24: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|25: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|26: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|27: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|28: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|29: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
diff --git a/test/snapshots/look-file.snap b/test/snapshots/look-file.snap
index 8bf8168f..81cf14cb 100644
--- a/test/snapshots/look-file.snap
+++ b/test/snapshots/look-file.snap
@@ -1,7 +1,7 @@
# right-click look on a typed path:NN opens a file pane scrolled to the line;
# Enter chord on the same path focuses the existing pane (dedup)
lines big.txt 60
-start 30 100 -n 3
+start 30 150 -n 3
wait 8000 big.txt
stable 700 20000
press left 5 8
diff --git a/test/snapshots/lookloaded.golden b/test/snapshots/lookloaded.golden
index 7885edf4..e20d0183 100644
--- a/test/snapshots/lookloaded.golden
+++ b/test/snapshots/lookloaded.golden
@@ -1,93 +1,93 @@
-== snap file-open grid=100x30 cursor=7,5
+== snap file-open grid=100x30 cursor=7,16
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/lookloaded/cwd/big.txt Save NOR /tmp/pardes-snap/lookloaded/cwd Del
+| NOR /tmp/pardes-snap/lookloaded NOR /tmp/pardes-snap/lookloaded NOR /tmp/pardes-snap/lookloaded/
+| 26 line 26
+| 27 line 27 big.txt big.txt
+| 28 line 28
+| 29 line 29
+| 30 line 30
+| 31 line 31 big.txt:40 big.txt:10
+| 32 line 32
+| 33 line 33
+| 34 line 34
+| 35 line 35
+| 36 line 36
| 37 line 37
-| 38 line 38 big.txt
+| 38 line 38
| 39 line 39
-| 40 line 40
+| 40 line 40 NOR /tmp/pardes-snap/lookloaded
| 41 line 41
-|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
-| NOR /tmp/pardes-snap/lookloaded/cwd Del
-|
-| big.txt
-|
-|
-|
-| big.txt:40 big.txt:10
-|
-| NOR /tmp/pardes-snap/lookloaded/cwd Del
-|
-| big.txt
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-== snap removed grid=100x30 cursor=4,10
+| 42 line 42 big.txt
+| 43 line 43
+| 44 line 44
+| 45 line 45
+| 46 line 46
+| 47 line 47
+| 48 line 48
+| 49 line 49
+| 50 line 50
+| 51 line 51
+| 52 line 52
+| 53 line 53
+== snap removed grid=100x30 cursor=37,10
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/lookloaded/cwd/big.txt Save NOR /tmp/pardes-snap/lookloaded/cwd Del
+| NOR /tmp/pardes-snap/lookloaded NOR /tmp/pardes-snap/lookloaded NOR /tmp/pardes-snap/lookloaded/
+| 26 line 26
+| 27 line 27 big.txt big.txt
+| 28 line 28
+| 29 line 29 GONE
+| 30 line 30
+| 31 line 31 big.txt:40 big.txt:10
+| 32 line 32
+| 33 line 33
+| 34 line 34
+| 35 line 35
+| 36 line 36
| 37 line 37
-| 38 line 38 big.txt
+| 38 line 38
| 39 line 39
-| 40 line 40
+| 40 line 40 NOR /tmp/pardes-snap/lookloaded
| 41 line 41
-| 42 line 42
-| NOR /tmp/pardes-snap/lookloaded/cwd Del
-|
-| big.txt
-|
-| GONE
-|
-| big.txt:40 big.txt:10
-|
-| NOR /tmp/pardes-snap/lookloaded/cwd Del
-|
-| big.txt
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-== snap look-noFS grid=100x30 cursor=7,5
+| 42 line 42 big.txt
+| 43 line 43
+| 44 line 44
+| 45 line 45
+| 46 line 46
+| 47 line 47
+| 48 line 48
+| 49 line 49
+| 50 line 50
+| 51 line 51
+| 52 line 52
+| 53 line 53
+== snap look-noFS grid=100x30 cursor=7,11
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/lookloaded/cwd/big.txt Save NOR /tmp/pardes-snap/lookloaded/cwd Del
+| NOR /tmp/pardes-snap/lookloaded NOR /tmp/pardes-snap/lookloaded NOR /tmp/pardes-snap/lookloaded/
+| 1 line 1
+| 2 line 2 big.txt big.txt
+| 3 line 3
+| 4 line 4 GONE
+| 5 line 5
+| 6 line 6 big.txt:40 big.txt:10
| 7 line 7
-| 8 line 8 big.txt
+| 8 line 8
| 9 line 9
| 10 line 10
| 11 line 11
| 12 line 12
-| NOR /tmp/pardes-snap/lookloaded/cwd Del
-|
-| big.txt
-|
-| GONE
-|
-| big.txt:40 big.txt:10
-|
-| NOR /tmp/pardes-snap/lookloaded/cwd Del
-|
-| big.txt
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
+| 13 line 13
+| 14 line 14
+| 15 line 15 NOR /tmp/pardes-snap/lookloaded
+| 16 line 16
+| 17 line 17 big.txt
+| 18 line 18
+| 19 line 19
+| 20 line 20
+| 21 line 21
+| 22 line 22
+| 23 line 23
+| 24 line 24
+| 25 line 25
+| 26 line 26
+| 27 line 27
+| 28 line 28
diff --git a/test/snapshots/lookloaded.snap b/test/snapshots/lookloaded.snap
index 03874925..89106d25 100644
--- a/test/snapshots/lookloaded.snap
+++ b/test/snapshots/lookloaded.snap
@@ -19,8 +19,8 @@ release right 7 8
stable 700 15000
snap file-open
# back to the shell: rm the file from disk in tty mode
-press left 5 11
-release left 5 11
+press left 38 11
+release left 38 11
stable 400 5000
key c-b
stable 600 8000
@@ -33,7 +33,7 @@ stable 600 8000
snap removed
# look big.txt:10: nothing on disk, but the pane is loaded — it focuses and
# recenters on line 10 (before this change: realpath fails, look no-ops)
-press right 18 15
-release right 18 15
+press right 51 8
+release right 51 8
stable 700 15000
snap look-noFS
diff --git a/test/snapshots/rsearch.golden b/test/snapshots/rsearch.golden
index a54ae13e..c067d1ee 100644
--- a/test/snapshots/rsearch.golden
+++ b/test/snapshots/rsearch.golden
@@ -1,26 +1,23 @@
-== snap opened grid=120x30 cursor=7,2
+== snap opened grid=180x30 cursor=7,2
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/rsearch/cwd/code.txt Save Del NOR /tmp/pardes-snap/rsearch/cwd Del
+| NOR /tmp/pardes-snap/rsearch/cwd/code.txt Save Del NOR /tmp/pardes-snap/rsearch/cwd Del NOR /tmp/pardes-snap/rsearch/cwd Del
| 1 run count_x now
-| 2 open sub/dep.txt:3 here code.txt sub
+| 2 open sub/dep.txt:3 here code.txt sub code.txt sub
| 3 count_x again
| 4 pick two words
|
-|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
-| NOR /tmp/pardes-snap/rsearch/cwd Del
+| code.txt
|
-| code.txt sub
|
|
|
-| code.txt
|
-| NOR /tmp/pardes-snap/rsearch/cwd Del
|
-| code.txt sub
|
|
+| NOR /tmp/pardes-snap/rsearch/cwd Del
|
+| code.txt sub
|
|
|
@@ -29,26 +26,29 @@
|
|
|
-== snap search grid=120x30 cursor=7,2
+|
+|
+|
+== snap search grid=180x30 cursor=7,2
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/rsearch/cwd/code.txt Save Del NOR /tmp/pardes-snap/rsearch/cwd Del
+| NOR /tmp/pardes-snap/rsearch/cwd/code.txt Save Del NOR /tmp/pardes-snap/rsearch/cwd Del NOR /tmp/pardes-snap/rsearch/cwd Del
| 1 run count_x now
-| 2 open sub/dep.txt:3 here code.txt sub
+| 2 open sub/dep.txt:3 here code.txt sub code.txt sub
| 3 count_x again
| 4 pick two words
|
+| code.txt
+|
+| /tmp/pardes-snap/rsearch/cwd/code.txt:1:run count_x now
+| /tmp/pardes-snap/rsearch/cwd/code.txt:3:count_x again
|
-| NOR /tmp/pardes-snap/rsearch/cwd Del
|
|
-| code.txt
|
-| /tmp/pardes-snap/rsearch/cwd/code.txt:1:run count_x now
-| /tmp/pardes-snap/rsearch/cwd/code.txt:3:count_x again
|
-| NOR /tmp/pardes-snap/rsearch/cwd Del
+| NOR /tmp/pardes-snap/rsearch/cwd Del
|
-| code.txt sub
+| code.txt sub
|
|
|
@@ -60,26 +60,26 @@
|
|
|
-== snap select grid=120x30 cursor=7,2
+== snap select grid=180x30 cursor=7,2
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/rsearch/cwd/code.txt Save Del NOR /tmp/pardes-snap/rsearch/cwd Del
+| NOR /tmp/pardes-snap/rsearch/cwd/code.txt Save Del NOR /tmp/pardes-snap/rsearch/cwd Del NOR /tmp/pardes-snap/rsearch/cwd Del
| 1 run count_x now
-| 2 open sub/dep.txt:3 here code.txt sub
+| 2 open sub/dep.txt:3 here code.txt sub code.txt sub
| 3 count_x again
| 4 pick two words
|
+| code.txt
|
-| NOR /tmp/pardes-snap/rsearch/cwd Del
+| /tmp/pardes-snap/rsearch/cwd/code.txt:1:run count_x now
+| /tmp/pardes-snap/rsearch/cwd/code.txt:3:count_x again
|
-| /tmp/pardes-snap/rsearch/cwd/code.txt:1:run count_x now
-| /tmp/pardes-snap/rsearch/cwd/code.txt:3:count_x again
|
+| /tmp/pardes-snap/rsearch/cwd/code.txt:4:pick two words
|
-| /tmp/pardes-snap/rsearch/cwd/code.txt:4:pick two words
|
-| NOR /tmp/pardes-snap/rsearch/cwd Del
+| NOR /tmp/pardes-snap/rsearch/cwd Del
|
-| code.txt sub
+| code.txt sub
|
|
|
@@ -91,30 +91,30 @@
|
|
|
-== snap path-open grid=120x30 cursor=7,6
+== snap path-open grid=180x30 cursor=7,19
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/rsearch/cwd/code.txt Save Del NOR /tmp/pardes-snap/rsearch/cwd Del
+| NOR /tmp/pardes-snap/rsearch/cwd/code.txt Save Del NOR /tmp/pardes-snap/rsearch/cwd Del NOR /tmp/pardes-snap/rsearch/cwd Del
| 1 run count_x now
-|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ code.txt sub
-| NOR /tmp/pardes-snap/rsearch/cwd/sub/dep.txt Save Del
-| 2 d2
-| 3 DEPTARGET
-| 4 d4
-| NOR /tmp/pardes-snap/rsearch/cwd Del
-|
-| /tmp/pardes-snap/rsearch/cwd/code.txt:1:run count_x now
-| /tmp/pardes-snap/rsearch/cwd/code.txt:3:count_x again
-|
-|
-| /tmp/pardes-snap/rsearch/cwd/code.txt:4:pick two words
+| 2 open sub/dep.txt:3 here code.txt sub code.txt sub
+| 3 count_x again
+| 4 pick two words
|
-| NOR /tmp/pardes-snap/rsearch/cwd Del
+| code.txt
|
-| code.txt sub
+| /tmp/pardes-snap/rsearch/cwd/code.txt:1:run count_x now
+| /tmp/pardes-snap/rsearch/cwd/code.txt:3:count_x again
|
|
+| /tmp/pardes-snap/rsearch/cwd/code.txt:4:pick two words
|
|
+| NOR /tmp/pardes-snap/rsearch/cwd/sub/dep.txt Save Del NOR /tmp/pardes-snap/rsearch/cwd Del
+| 1 d1
+| 2 d2 code.txt sub
+| 3 DEPTARGET
+| 4 d4
+| 5 d5
+| 6 d6
|
|
|
diff --git a/test/snapshots/rsearch.snap b/test/snapshots/rsearch.snap
index 1b5671c1..e42d195a 100644
--- a/test/snapshots/rsearch.snap
+++ b/test/snapshots/rsearch.snap
@@ -7,7 +7,7 @@
dirmk sub
file sub/dep.txt d1\nd2\nDEPTARGET\nd4\nd5\nd6
file code.txt run count_x now\nopen sub/dep.txt:3 here\ncount_x again\npick two words
-start 30 120 -n 3
+start 30 180 -n 3
wait 8000 code.txt
stable 700 20000
# open code.txt: type the name in a shell, right-click it (ordinary look)
diff --git a/test/snapshots/scrolloff.golden b/test/snapshots/scrolloff.golden
index 9252b755..3db010c7 100644
--- a/test/snapshots/scrolloff.golden
+++ b/test/snapshots/scrolloff.golden
@@ -1,217 +1,84 @@
-== snap top grid=100x30 cursor=7,2
+== snap top grid=150x11 cursor=7,2
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/scrolloff/cwd/g.txt Save De NOR /tmp/pardes-snap/scrolloff/cwd Del
+| NOR /tmp/pardes-snap/scrolloff/cwd/g.txt Save De NOR /tmp/pardes-snap/scrolloff/cwd Del NOR /tmp/pardes-snap/scrolloff/cwd Del
| 1 line 1
-| 2 line 2 g.txt
+| 2 line 2 g.txt g.txt
| 3 line 3
| 4 line 4
-| 5 line 5
+| 5 line 5 NOR /tmp/pardes-snap/scrolloff/cwd Del
| 6 line 6
-| NOR /tmp/pardes-snap/scrolloff/cwd Del
-|
-| g.txt
-|
-|
-|
-|
-|
-| NOR /tmp/pardes-snap/scrolloff/cwd Del
-|
-| g.txt
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-== snap edge grid=100x30 cursor=7,5
+| 7 line 7 g.txt
+| 8 line 8
+| 9 line 9
+== snap edge grid=150x11 cursor=7,7
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/scrolloff/cwd/g.txt Save De NOR /tmp/pardes-snap/scrolloff/cwd Del
+| NOR /tmp/pardes-snap/scrolloff/cwd/g.txt Save De NOR /tmp/pardes-snap/scrolloff/cwd Del NOR /tmp/pardes-snap/scrolloff/cwd Del
+| 1 line 1
+| 2 line 2 g.txt g.txt
| 3 line 3
-| 4 line 4 g.txt
-| 5 line 5
+| 4 line 4
+| 5 line 5 NOR /tmp/pardes-snap/scrolloff/cwd Del
| 6 line 6
-| 7 line 7
+| 7 line 7 g.txt
| 8 line 8
-| NOR /tmp/pardes-snap/scrolloff/cwd Del
-|
-| g.txt
-|
-|
-|
-|
-|
-| NOR /tmp/pardes-snap/scrolloff/cwd Del
-|
-| g.txt
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-== snap scrolled1 grid=100x30 cursor=7,5
+| 9 line 9
+== snap scrolled1 grid=150x11 cursor=7,7
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/scrolloff/cwd/g.txt Save De NOR /tmp/pardes-snap/scrolloff/cwd Del
+| NOR /tmp/pardes-snap/scrolloff/cwd/g.txt Save De NOR /tmp/pardes-snap/scrolloff/cwd Del NOR /tmp/pardes-snap/scrolloff/cwd Del
+| 2 line 2
+| 3 line 3 g.txt g.txt
| 4 line 4
-| 5 line 5 g.txt
-| 6 line 6
+| 5 line 5
+| 6 line 6 NOR /tmp/pardes-snap/scrolloff/cwd Del
| 7 line 7
-| 8 line 8
+| 8 line 8 g.txt
| 9 line 9
-| NOR /tmp/pardes-snap/scrolloff/cwd Del
-|
-| g.txt
-|
-|
-|
-|
-|
-| NOR /tmp/pardes-snap/scrolloff/cwd Del
-|
-| g.txt
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-== snap jdown grid=100x30 cursor=7,5
+| 10 line 10
+== snap jdown grid=150x11 cursor=7,7
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/scrolloff/cwd/g.txt Save De NOR /tmp/pardes-snap/scrolloff/cwd Del
+| NOR /tmp/pardes-snap/scrolloff/cwd/g.txt Save De NOR /tmp/pardes-snap/scrolloff/cwd Del NOR /tmp/pardes-snap/scrolloff/cwd Del
+| 6 line 6
+| 7 line 7 g.txt g.txt
| 8 line 8
-| 9 line 9 g.txt
-| 10 line 10
+| 9 line 9
+| 10 line 10 NOR /tmp/pardes-snap/scrolloff/cwd Del
| 11 line 11
-| 12 line 12
+| 12 line 12 g.txt
| 13 line 13
-| NOR /tmp/pardes-snap/scrolloff/cwd Del
-|
-| g.txt
-|
-|
-|
-|
-|
-| NOR /tmp/pardes-snap/scrolloff/cwd Del
-|
-| g.txt
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-== snap end grid=100x30 cursor=7,6
+| 14 line 14
+== snap end grid=150x11 cursor=7,9
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/scrolloff/cwd/g.txt Save De NOR /tmp/pardes-snap/scrolloff/cwd Del
+| NOR /tmp/pardes-snap/scrolloff/cwd/g.txt Save De NOR /tmp/pardes-snap/scrolloff/cwd Del NOR /tmp/pardes-snap/scrolloff/cwd Del
+| 33 line 33
+| 34 line 34 g.txt g.txt
+| 35 line 35
| 36 line 36
-| 37 line 37 g.txt
+| 37 line 37 NOR /tmp/pardes-snap/scrolloff/cwd Del
| 38 line 38
-| 39 line 39
+| 39 line 39 g.txt
| 40 line 40
| 41
-| NOR /tmp/pardes-snap/scrolloff/cwd Del
-|
-| g.txt
-|
-|
-|
-|
-|
-| NOR /tmp/pardes-snap/scrolloff/cwd Del
-|
-| g.txt
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-== snap kup grid=100x30 cursor=7,4
+== snap kup grid=150x11 cursor=7,5
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/scrolloff/cwd/g.txt Save De NOR /tmp/pardes-snap/scrolloff/cwd Del
-| 30 line 30
-| 31 line 31 g.txt
+| NOR /tmp/pardes-snap/scrolloff/cwd/g.txt Save De NOR /tmp/pardes-snap/scrolloff/cwd Del NOR /tmp/pardes-snap/scrolloff/cwd Del
+| 29 line 29
+| 30 line 30 g.txt g.txt
+| 31 line 31
| 32 line 32
-| 33 line 33
+| 33 line 33 NOR /tmp/pardes-snap/scrolloff/cwd Del
| 34 line 34
-| 35 line 35
-| NOR /tmp/pardes-snap/scrolloff/cwd Del
-|
-| g.txt
-|
-|
-|
-|
-|
-| NOR /tmp/pardes-snap/scrolloff/cwd Del
-|
-| g.txt
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-== snap top2 grid=100x30 cursor=7,2
+| 35 line 35 g.txt
+| 36 line 36
+| 37 line 37
+== snap top2 grid=150x11 cursor=7,2
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/scrolloff/cwd/g.txt Save De NOR /tmp/pardes-snap/scrolloff/cwd Del
+| NOR /tmp/pardes-snap/scrolloff/cwd/g.txt Save De NOR /tmp/pardes-snap/scrolloff/cwd Del NOR /tmp/pardes-snap/scrolloff/cwd Del
| 1 line 1
-| 2 line 2 g.txt
+| 2 line 2 g.txt g.txt
| 3 line 3
| 4 line 4
-| 5 line 5
+| 5 line 5 NOR /tmp/pardes-snap/scrolloff/cwd Del
| 6 line 6
-| NOR /tmp/pardes-snap/scrolloff/cwd Del
-|
-| g.txt
-|
-|
-|
-|
-|
-| NOR /tmp/pardes-snap/scrolloff/cwd Del
-|
-| g.txt
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
+| 7 line 7 g.txt
+| 8 line 8
+| 9 line 9
diff --git a/test/snapshots/scrolloff.snap b/test/snapshots/scrolloff.snap
index af64a3c7..08b89a80 100644
--- a/test/snapshots/scrolloff.snap
+++ b/test/snapshots/scrolloff.snap
@@ -1,7 +1,7 @@
# scrolloff: keyboard motion keeps 3 context rows above/below the cursor,
# clamped at file boundaries (cursor may reach the top/bottom body row there)
lines g.txt 40
-start 30 100 -n 3
+start 11 150 -n 3
wait 8000 g.txt
stable 700 20000
# right-click the g.txt name in the greeting ls -> file pane, 9 body rows
diff --git a/test/snapshots/syntax.golden b/test/snapshots/syntax.golden
index 29118688..1168a72f 100644
--- a/test/snapshots/syntax.golden
+++ b/test/snapshots/syntax.golden
@@ -1,23 +1,23 @@
-== snap zig-open grid=100x30 cursor=7,2
+== snap zig-open grid=150x30 cursor=7,2
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/syntax/cwd/demo.zig Save De NOR /tmp/pardes-snap/syntax/cwd Del
+| NOR /tmp/pardes-snap/syntax/cwd/demo.zig Save De NOR /tmp/pardes-snap/syntax/cwd Del NOR /tmp/pardes-snap/syntax/cwd Del
| 1 const std = @import("std"); // greet
-| 2 pub fn main() void { demo.zig
+| 2 pub fn main() void { demo.zig demo.zig
| 3 var x: u32 = 42;
| 4 _ = x;
| 5 }
-|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
-| NOR /tmp/pardes-snap/syntax/cwd Del
+| demo.zig
|
-| demo.zig
|
|
|
-| demo.zig
|
-| NOR /tmp/pardes-snap/syntax/cwd Del
|
-| demo.zig
+|
+|
+| NOR /tmp/pardes-snap/syntax/cwd Del
+|
+| demo.zig
|
|
|
@@ -30,95 +30,95 @@
|
|
== style zig-open
-|0: 0-48 #969696,#2c2a3e, 49-99 d,#2c2a3e,
-|1: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#383c54, 52-86 #969696,#2c2a3e, 87-99 d,#2c2a3e,
-|2: 0-1 d,#525252, 2-6 #969696,#2c2a3e, 7-18 d,d, 19-25 #cc70d8,d,b 26-26 d,d, 27-31 #8ab87a,d, 32-34 d,d, 35-42 #f0f0f0,d,b 43-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|3: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-10 d,d, 11-12 #cc70d8,d,b 13-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|4: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-23 d,d, 24-25 #d0c070,d, 26-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|5: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|6: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|7: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|8: 0-1 d,#383c54, 2-36 #969696,#2c2a3e, 37-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
-|9: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|10: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|11: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|12: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|13: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|14: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|15: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|16: 0-1 d,#383c54, 2-36 #969696,#2c2a3e, 37-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
-|17: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|18: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|19: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|20: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|21: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|22: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|23: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|24: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|25: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|26: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|27: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|28: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|29: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|0: 0-48 #969696,#2c2a3e, 49-149 d,#2c2a3e,
+|1: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#383c54, 52-86 #969696,#2c2a3e, 87-99 d,#2c2a3e, 100-101 d,#383c54, 102-136 #969696,#2c2a3e, 137-149 d,#2c2a3e,
+|2: 0-1 d,#525252, 2-6 #969696,#2c2a3e, 7-18 d,d, 19-25 #cc70d8,d,b 26-26 d,d, 27-31 #8ab87a,d, 32-34 d,d, 35-42 #f0f0f0,d,b 43-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|3: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-10 d,d, 11-12 #cc70d8,d,b 13-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|4: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-23 d,d, 24-25 #d0c070,d, 26-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|5: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|6: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|7: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|8: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|9: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|10: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|11: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|12: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|13: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|14: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|15: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|16: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#383c54, 52-86 #969696,#2c2a3e, 87-99 d,#2c2a3e, 100-101 d,#525252, 102-149 d,d,
+|17: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|18: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|19: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|20: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|21: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|22: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|23: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|24: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|25: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|26: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|27: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|28: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|29: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
== style colors-off
-|0: 0-48 #969696,#2c2a3e, 49-99 d,#2c2a3e,
-|1: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#383c54, 52-86 #969696,#2c2a3e, 87-99 d,#2c2a3e,
-|2: 0-1 d,#525252, 2-6 #969696,#2c2a3e, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|3: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|4: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|5: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|6: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|7: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|8: 0-1 d,#383c54, 2-36 #969696,#2c2a3e, 37-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
-|9: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|10: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|11: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|12: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|13: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|14: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|15: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|16: 0-1 d,#383c54, 2-36 #969696,#2c2a3e, 37-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
-|17: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|18: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|19: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|20: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|21: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|22: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|23: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|24: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|25: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|26: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|27: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|28: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|29: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|0: 0-48 #969696,#2c2a3e, 49-149 d,#2c2a3e,
+|1: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#383c54, 52-86 #969696,#2c2a3e, 87-99 d,#2c2a3e, 100-101 d,#383c54, 102-136 #969696,#2c2a3e, 137-149 d,#2c2a3e,
+|2: 0-1 d,#525252, 2-6 #969696,#2c2a3e, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|3: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|4: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|5: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|6: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|7: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|8: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|9: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|10: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|11: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|12: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|13: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|14: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|15: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|16: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#383c54, 52-86 #969696,#2c2a3e, 87-99 d,#2c2a3e, 100-101 d,#525252, 102-149 d,d,
+|17: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|18: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|19: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|20: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|21: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|22: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|23: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|24: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|25: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|26: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|27: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|28: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|29: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
== style colors-on
-|0: 0-48 #969696,#2c2a3e, 49-99 d,#2c2a3e,
-|1: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#383c54, 52-86 #969696,#2c2a3e, 87-99 d,#2c2a3e,
-|2: 0-1 d,#525252, 2-6 #969696,#2c2a3e, 7-18 d,d, 19-25 #cc70d8,d,b 26-26 d,d, 27-31 #8ab87a,d, 32-34 d,d, 35-42 #f0f0f0,d,b 43-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|3: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-10 d,d, 11-12 #cc70d8,d,b 13-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|4: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-23 d,d, 24-25 #d0c070,d, 26-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|5: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|6: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|7: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|8: 0-1 d,#383c54, 2-36 #969696,#2c2a3e, 37-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
-|9: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|10: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|11: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|12: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|13: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|14: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|15: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|16: 0-1 d,#383c54, 2-36 #969696,#2c2a3e, 37-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
-|17: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|18: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|19: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|20: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|21: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|22: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|23: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|24: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|25: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|26: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|27: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|28: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
-|29: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|0: 0-48 #969696,#2c2a3e, 49-149 d,#2c2a3e,
+|1: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#383c54, 52-86 #969696,#2c2a3e, 87-99 d,#2c2a3e, 100-101 d,#383c54, 102-136 #969696,#2c2a3e, 137-149 d,#2c2a3e,
+|2: 0-1 d,#525252, 2-6 #969696,#2c2a3e, 7-18 d,d, 19-25 #cc70d8,d,b 26-26 d,d, 27-31 #8ab87a,d, 32-34 d,d, 35-42 #f0f0f0,d,b 43-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|3: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-10 d,d, 11-12 #cc70d8,d,b 13-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|4: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-23 d,d, 24-25 #d0c070,d, 26-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|5: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|6: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|7: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|8: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|9: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|10: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|11: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|12: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|13: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|14: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|15: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|16: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#383c54, 52-86 #969696,#2c2a3e, 87-99 d,#2c2a3e, 100-101 d,#525252, 102-149 d,d,
+|17: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|18: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|19: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|20: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|21: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|22: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|23: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|24: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|25: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|26: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|27: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|28: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
+|29: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d, 100-101 d,#525252, 102-149 d,d,
diff --git a/test/snapshots/syntax.snap b/test/snapshots/syntax.snap
index f49387ab..e39eb6c9 100644
--- a/test/snapshots/syntax.snap
+++ b/test/snapshots/syntax.snap
@@ -1,7 +1,7 @@
# tree-sitter: open a .zig file, keyword/string/number/comment colors on;
# Colors off clears them; edit re-highlights
file demo.zig const std = @import("std"); // greet\npub fn main() void {\n var x: u32 = 42;\n _ = x;\n}
-start 30 100 -n 3
+start 30 150 -n 3
wait 8000 demo.zig
stable 700 20000
press left 5 8
diff --git a/test/snapshots/tag.golden b/test/snapshots/tag.golden
index 0c86024e..dd48f9f7 100644
--- a/test/snapshots/tag.golden
+++ b/test/snapshots/tag.golden
@@ -1,8 +1,8 @@
-== snap tag-focus grid=100x30 cursor=34,1
+== snap tag-focus grid=150x30 cursor=34,1
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| INS /tmp/pardes-snap/tag/cwd Del NOR /tmp/pardes-snap/tag/cwd Del
+| INS /tmp/pardes-snap/tag/cwd Del NOR /tmp/pardes-snap/tag/cwd Del
|
-| t.txt t.txt
+| t.txt t.txt
|
|
|
@@ -29,11 +29,11 @@
|
|
|
-== snap tag-typed grid=100x30 cursor=40,1
+== snap tag-typed grid=150x30 cursor=40,1
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| INS /tmp/pardes-snap/tag/cwd Del t.txt NOR /tmp/pardes-snap/tag/cwd Del
+| INS /tmp/pardes-snap/tag/cwd Del t.txt NOR /tmp/pardes-snap/tag/cwd Del
|
-| t.txt t.txt
+| t.txt t.txt
|
|
|
@@ -60,11 +60,11 @@
|
|
|
-== snap tag-del grid=100x30 cursor=36,1
+== snap tag-del grid=150x30 cursor=36,1
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| INS /tmp/pardes-snap/tag/cwd Del t NOR /tmp/pardes-snap/tag/cwd Del
+| INS /tmp/pardes-snap/tag/cwd Del t NOR /tmp/pardes-snap/tag/cwd Del
|
-| t.txt t.txt
+| t.txt t.txt
|
|
|
@@ -91,11 +91,11 @@
|
|
|
-== snap tag-exit grid=100x30 cursor=4,4
+== snap tag-exit grid=150x30 cursor=4,4
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/tag/cwd Del t.txt NOR /tmp/pardes-snap/tag/cwd Del
+| NOR /tmp/pardes-snap/tag/cwd Del t.txt NOR /tmp/pardes-snap/tag/cwd Del
|
-| t.txt t.txt
+| t.txt t.txt
|
|
|
@@ -122,26 +122,26 @@
|
|
|
-== snap tag-look grid=100x30 cursor=7,2
+== snap tag-look grid=150x30 cursor=7,2
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/tag/cwd/t.txt Save Del NOR /tmp/pardes-snap/tag/cwd Del
-| 1 x
-| t.txt
+| NOR /tmp/pardes-snap/tag/cwd/t.txt Save Del INS /tmp/pardes-snap/tag/cwd Del t.txt NOR /tmp/pardes-snap/tag/cwd Del
+| 1 ZZLOOKED
+| t.txt t.txt
|
|
|
|
-| INS /tmp/pardes-snap/tag/cwd Del t.txt
|
-| t.txt
|
|
|
|
|
-| NOR /tmp/pardes-snap/tag/cwd Del
|
-| t.txt
+|
+| NOR /tmp/pardes-snap/tag/cwd Del
+|
+| t.txt
|
|
|
diff --git a/test/snapshots/tag.snap b/test/snapshots/tag.snap
index 449ed2ce..4094e841 100644
--- a/test/snapshots/tag.snap
+++ b/test/snapshots/tag.snap
@@ -1,9 +1,9 @@
-# the tag is ALWAYS insert mode: click it and type straight in (no 'i');
-# backspace edits; Esc leaves the tag back to the body's normal mode; Enter
+# a CLICKED tag is insert mode: type straight in (no 'i'; `:` is the normal-
+# mode door, see tagcmd); backspace edits; Esc leaves back to the body; Enter
# looks the word at the cursor (Tab executes it). Multi-word execution from
# the tag stays the mouse's job (middle-drag), like anywhere else.
-file t.txt x
-start 30 100 -n 3
+file t.txt ZZLOOKED
+start 30 150 -n 3
wait 8000 t.txt
stable 700 20000
# click into the tag tail of pane 0: straight into insert (INS in the prefix)
@@ -37,6 +37,6 @@ key left
key left
stable 400 5000
key enter
-wait 10000 Save
+wait 10000 ZZLOOKED
stable 700 15000
snap tag-look
diff --git a/test/snapshots/tagcmd.golden b/test/snapshots/tagcmd.golden
new file mode 100644
index 00000000..984c8434
--- /dev/null
+++ b/test/snapshots/tagcmd.golden
@@ -0,0 +1,164 @@
+== snap edited grid=100x30 cursor=13,2
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/tagcmd/cwd/c.txt Save Del NOR /tmp/pardes-snap/tagcmd/cwd Del
+| 1 ZZEDITline 1
+| 2 line 2 c.txt
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6 line 6
+| 7
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap colon grid=100x30 cursor=39,1
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/tagcmd/cwd/c.txt Save Del NOR /tmp/pardes-snap/tagcmd/cwd Del
+| 1 ZZEDITline 1
+| 2 line 2 c.txt
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6 line 6
+| 7
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap word grid=100x30 cursor=44,1
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/tagcmd/cwd/c.txt Save Del NOR /tmp/pardes-snap/tagcmd/cwd Del
+| 1 ZZEDITline 1
+| 2 line 2 c.txt
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6 line 6
+| 7
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap saved grid=100x30 cursor=13,2
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/tagcmd/cwd/c.txt Save Del NOR /tmp/pardes-snap/tagcmd/cwd Del
+| 1 ZZEDITline 1
+| 2 line 2 c.txt
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6 line 6
+| 7
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== file written
+ZZEDITline 1
+line 2
+line 3
+line 4
+line 5
+line 6
+
+== end file
+== snap escaped grid=100x30 cursor=13,2
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/tagcmd/cwd/c.txt Save Del NOR /tmp/pardes-snap/tagcmd/cwd Del
+| 1 ZZEDITline 1
+| 2 line 2 c.txt
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6 line 6
+| 7
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
diff --git a/test/snapshots/tagcmd.snap b/test/snapshots/tagcmd.snap
new file mode 100644
index 00000000..d7d002ff
--- /dev/null
+++ b/test/snapshots/tagcmd.snap
@@ -0,0 +1,40 @@
+# `:` — vim's command line with acme's vocabulary. It focuses the pane's OWN
+# tag in NORMAL mode (block cursor, NOR in the prefix), parked at the tail's
+# START — always the start, so `:w` is the same two keystrokes every time.
+# Motions walk the tag's words (w selects the "Save" span, exactly like a body
+# word motion), the execute chord runs the one under the cursor and hands the
+# body back in normal mode — same keys as the body, so Tab by default (see
+# swap_enter_tab). Esc backs out instead, leaving the tail as it was.
+lines c.txt 6
+start 30 100 c.txt
+wait 8000 Kill Newcol
+wait 8000 c.txt
+stable 700 20000
+# edit line 1 so Save has something to write
+key i
+text ZZEDIT
+key esc
+settle 700
+stable 400 5000
+snap edited
+# `:` -> the tag, in normal mode, cursor on the tail's first cell
+key :
+stable 400 5000
+snap colon
+# w -> the "Save" span (selected, like the body's word motion)
+key w
+stable 400 5000
+snap word
+# Tab executes it: c.txt is written and focus is back in the body
+key tab
+settle 800
+stable 400 5000
+snap saved
+snapfile written /tmp/pardes-snap/tagcmd/cwd/c.txt
+# `:` then Esc: back to the body with the tail untouched, nothing run
+key :
+stable 400 5000
+key esc
+settle 700
+stable 400 5000
+snap escaped
diff --git a/test/snapshots/ttylook.golden b/test/snapshots/ttylook.golden
index e8d12f5f..410c71f7 100644
--- a/test/snapshots/ttylook.golden
+++ b/test/snapshots/ttylook.golden
@@ -248,32 +248,32 @@
|
== snap fileopen grid=120x30 cursor=7,2
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /tmp/pardes-snap/ttylook/cwd/big.txt Save Del NOR /tmp/pardes-snap/ttylook/cwd Del
+| NOR /tmp/pardes-snap/ttylook/cwd/big.t NOR /tmp/pardes-snap/ttylook/cwd Del NOR /tmp/pardes-snap/ttylook/cwd Del
| 1 line 1
-| NOR /tmp/pardes-snap/ttylook/cwd Del big.txt plain.txt sub
-|
-| NOR /tmp/pardes-snap/ttylook/cwd/sub Del
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-| NOR /tmp/pardes-snap/ttylook/cwd Del
-|
-| big.txt plain.txt sub
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
+| 2 line 2 big.txt plain.txt sub big.txt plain.txt sub
+| 3 line 3
+| 4 line 4 NOR /tmp/pardes-snap/ttylook/cwd/sub D
+| 5 line 5
+| 6 line 6
+| 7 line 7
+| 8 line 8
+| 9 line 9
+| 10 line 10
+| 11 line 11
+| 12 line 12
+| 13 line 13
+| 14 line 14
+| 15 line 15 NOR /tmp/pardes-snap/ttylook/cwd Del
+| 16 line 16
+| 17 line 17 big.txt plain.txt sub
+| 18 line 18
+| 19 line 19
+| 20 line 20
+| 21 line 21
+| 22 line 22
+| 23 line 23
+| 24 line 24
+| 25 line 25
+| 26 line 26
+| 27 line 27
+| 28 line 28
diff --git a/test/snapshots/tutor.golden b/test/snapshots/tutor.golden
index 7f7139dc..7af28499 100644
--- a/test/snapshots/tutor.golden
+++ b/test/snapshots/tutor.golden
@@ -1,31 +1,31 @@
-== snap tutor grid=100x30 cursor=7,2
+== snap tutor grid=150x30 cursor=7,2
|Kill Newcol Tutor Debug Colors NextColor Crt Dump
-| NOR /Tutor Save Del NOR /tmp/pardes-snap/tutor/cwd Del
+| NOR /Tutor Save Del NOR /tmp/pardes-snap/tutor/cwd Del NOR /tmp/pardes-snap/tutor/cwd Del
| 1
| 2 PARDES TUTOR
| 3 tmux + vi + acme, from
| 4
| 5 The model is acme's: EVERYTHING is
| 6 the same way. Modal editing (helix-
-| NOR /tmp/pardes-snap/tutor/cwd Del
-|
-|
-|
-|
-|
-|
-|
-| NOR /tmp/pardes-snap/tutor/cwd Del
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
-|
+| 7 Press j until you reach the introdu
+| 8
+| 9
+| 10 ===========================================
+| 11 = INTRODUCTION
+| 12 ===========================================
+| 13
+| 14 Pardes is tmux + vi + acme, made from scra
+| 15 the acme model: a pane is just text on scr NOR /tmp/pardes-snap/tutor/cwd Del
+| 16 "buffer" type — what you see is what you e
+| 17 be live terminals (tty mode); most are tex
+| 18 over. Modal editing (helix-style) is layer
+| 19
+| 20 Three modes (the tag shows which):
+| 21 NOR NORMAL block cursor, keys move/edi
+| 22 INS INSERT keys type text at the curso
+| 23 TTY TTY keys go straight to the she
+| 24
+| 25 This tutor is in THREE parts, ordered by w
+| 26 editors you may know:
+| 27 PART 1 — the MOUSE. Acme's three buttons
+| 28 PART 2 — the TTY. A terminal is just a
diff --git a/test/snapshots/tutor.snap b/test/snapshots/tutor.snap
index 3793892a..1105b3b0 100644
--- a/test/snapshots/tutor.snap
+++ b/test/snapshots/tutor.snap
@@ -1,5 +1,5 @@
# topbar middle-click Tutor opens the embedded tutor as a file pane top-left
-start 30 100 -n 3
+start 30 150 -n 3
wait 8000 Kill Newcol
stable 700 20000
press middle 13 1