summaryrefslogtreecommitdiff
path: root/test/snapshots/ttytaken.snap
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-28 14:20:56 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:15 -0300
commite7c181d6238dae4b08a02c1a9828917c2497f89d (patch)
tree299d4146c53ca5f882ba37cceb67a37302be2437 /test/snapshots/ttytaken.snap
parenteb2428115588004a8bc04a09d45fb1104f727882 (diff)
downloadpardes-e7c181d6238dae4b08a02c1a9828917c2497f89d.tar.gz
pardes-e7c181d6238dae4b08a02c1a9828917c2497f89d.zip
A command line runs as its own command pane unless it is clicked at a shell's prompt
A middle click, an exec write or a tag word that no builtin knows was typed into some terminal for the pane's directory, sharing whatever state that shell was in and answering nothing, so a misspelling vanished into a shell. Now only a line clicked at an interactive terminal's prompt is typed there. From anywhere else it runs as a command pane: a terminal whose child is $SHELL -c the line in the pane's directory, full emulation, which shows its output and then exit N from the host's reaping of the child, and stays. A finished command pane is the next command's for its directory, which runs below what it showed after a '% line' line (acme appends to +Errors and never clears it, util.c:213); a running one gets a second pane. Kill ends a command pane's whole process group, the log records run and exit, exec reads back the command pane's serial, and a line is at most 1 KB, read off the pane as the host forks rather than carried in every spawn effect. ttyForDir's search for a free shell is gone. The goldens of chordcut, cmdword and layout-open change where a file's exec now opens a command pane, and ttytaken is rewritten to exec from the terminal itself; docs/open-questions.md records the decision. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'test/snapshots/ttytaken.snap')
-rw-r--r--test/snapshots/ttytaken.snap59
1 files changed, 33 insertions, 26 deletions
diff --git a/test/snapshots/ttytaken.snap b/test/snapshots/ttytaken.snap
index 47554876..a6ccb632 100644
--- a/test/snapshots/ttytaken.snap
+++ b/test/snapshots/ttytaken.snap
@@ -1,43 +1,50 @@
-# Process monitoring, end to end. A pane whose tty is held by a full-screen
-# program is not somewhere a command line may be typed: the SAME middle-drag
-# Exec goes into the shell while it sits at its prompt, and into a NEW shell
-# beside it once `less` owns the terminal — where it runs, instead of becoming
-# keystrokes the pager would eat. Nothing about the pager's screen changes.
-file cmd.txt echo TAKEN''ONE\necho TAKEN''TWO
+# Process monitoring, end to end. A terminal whose tty is held by a
+# full-screen program is not somewhere a command line may be typed: the SAME
+# Exec from that terminal goes into its shell while it sits at its prompt,
+# and into a command pane of its own once `less` owns the terminal -- where
+# it runs, instead of becoming keystrokes the pager would eat. Nothing about
+# the pager's screen changes. (From any pane but a terminal, an Exec always
+# runs as a command pane: exec.snap and cmdword.snap.)
lines big.txt 40
start 31 210 -n 1
-wait 8000 cmd.txt
-stable 700 20000
-# open the command file by looking its name in the greeting `ls`
-press right 14 5
-release right 14 5
-wait 10000 echo TAKEN
+wait 8000 big.txt
stable 700 20000
snap opened
-# at the prompt: the drag runs in the shell that is already on this directory
-press middle 8 4
-drag middle 22 4
-release middle 22 4
+# at the prompt: a command word in the terminal's own tag, executed, is
+# typed into its shell. `:` opens the tag, `A` appends, and the execute key
+# runs the word under the cursor.
+key :
+key A
+key space
+text @`echo TAKEN''ONE`
+key esc
+settle 100
+key h
+key tab
wait 10000 TAKENONE
stable 700 20000
snap at-prompt
-# ...and now a pager owns that terminal. Ctrl-b is raw tty (config.tty_toggle),
-# which is how a script types AT the shell instead of into the pane's own edit
-# buffer — the same way exec.snap runs a command line.
-press left 150 9
-release left 150 9
-stable 400 5000
+# ...and now a pager owns that terminal. Ctrl-b is raw tty
+# (config.tty_toggle), which is how a script types AT the shell instead of
+# into the pane's own edit buffer.
key c-b
stable 400 5000
text env LESS= less big.txt
key enter
wait 10000 line 1
stable 700 20000
+key c-b
+stable 400 5000
snap paging
-# the same gesture on the second line: a new shell, not `less` keystrokes
-press middle 8 5
-drag middle 22 5
-release middle 22 5
+# the same gesture from that terminal: a command pane, not `less` keystrokes
+key :
+key A
+key space
+text @`echo TAKEN''TWO`
+key esc
+settle 100
+key h
+key tab
wait 10000 TAKENTWO
stable 700 20000
snap spawned