Add gum-styled annotations and less paging to VHS demo tapes

Annotations use demo/note.sh (gum style with clear) wrapped in
Hide/Show so only the styled box appears. Long output commands
pipe through less with search to highlight key fields.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Matthias Johnson 2026-02-15 00:12:42 -07:00
parent d19709dc1f
commit e636ea323c
4 changed files with 140 additions and 23 deletions

View file

@ -12,9 +12,12 @@ Set TypingSpeed 50ms
Sleep 1s
# First create some jobs to edit
Type "# Create some jobs to work with"
Hide
Type "./demo/note.sh 'Creating some jobs to work with'"
Enter
Sleep 500ms
Show
Sleep 1s
Type "systab -t 'every 5 minutes' -c 'echo ping'"
Enter
Sleep 2s
@ -23,8 +26,11 @@ Enter
Sleep 2s
# Open edit mode with EDITOR=nano for visibility
Type "# Open edit mode — add notifications, create and modify jobs"
Hide
Type "./demo/note.sh 'Opening edit mode — add notifications, create and modify jobs'"
Enter
Sleep 500ms
Show
Sleep 1s
Type "EDITOR=nano systab -E"
Sleep 500ms
@ -54,17 +60,28 @@ Ctrl+X
Sleep 3s
# Show the result
Type "# See the changes applied"
Hide
Type "./demo/note.sh 'Changes applied — checking status'"
Enter
Sleep 500ms
Type "systab -S"
Show
Sleep 1s
Type "systab -S | less"
Sleep 500ms
Enter
Sleep 4s
Sleep 2s
Type "/Job:"
Enter
Sleep 3s
Type "q"
Sleep 1s
# Re-open edit mode to show flags are persisted
Type "# Re-open edit mode — flags are persisted"
Hide
Type "./demo/note.sh 'Re-opening edit mode — flags are persisted'"
Enter
Sleep 500ms
Show
Sleep 1s
Type "EDITOR=nano systab -E"
Sleep 500ms

3
demo/note.sh Executable file
View file

@ -0,0 +1,3 @@
#!/usr/bin/env bash
clear
gum style --bold --foreground 6 --border rounded --border-foreground 8 "$*"

View file

@ -12,8 +12,11 @@ Set TypingSpeed 50ms
Sleep 1s
# Desktop notification — success case
Type "# Desktop notification on success/failure"
Hide
Type "./demo/note.sh 'Desktop notification on success'"
Enter
Sleep 500ms
Show
Sleep 1s
Type "systab -t 'in 1 minute' -c 'echo success' -i"
Sleep 500ms
@ -21,14 +24,23 @@ Enter
Sleep 2s
# Desktop notification — failure case
Hide
Type "./demo/note.sh 'Desktop notification on failure'"
Enter
Sleep 500ms
Show
Sleep 1s
Type "systab -t 'in 1 minute' -c 'exit 1' -i"
Sleep 500ms
Enter
Sleep 2s
# Email notification
Type "# Email notification via sendmail"
Hide
Type "./demo/note.sh 'Email notification via sendmail'"
Enter
Sleep 500ms
Show
Sleep 1s
Type "systab -t 'in 1 minute' -c 'echo test' -m user@example.com"
Sleep 500ms
@ -36,8 +48,11 @@ Enter
Sleep 2s
# Both notifications
Type "# Both desktop and email"
Hide
Type "./demo/note.sh 'Both desktop and email notifications'"
Enter
Sleep 500ms
Show
Sleep 1s
Type "systab -t 'every day at 9am' -c '/home/user/backup.sh' -i -m admin@example.com"
Sleep 500ms
@ -45,18 +60,37 @@ Enter
Sleep 2s
# Show the generated service file to see ExecStopPost lines
Type "# Inspect generated service file"
Hide
Type "./demo/note.sh 'Inspecting generated service file'"
Enter
Sleep 500ms
Show
Sleep 1s
Type "cat ~/.config/systemd/user/systab_*.service | head -20"
Type "cat ~/.config/systemd/user/systab_*.service | less"
Sleep 500ms
Enter
Sleep 4s
# Check status
Type "systab -S"
Sleep 500ms
Sleep 2s
Type "/ExecStopPost"
Enter
Sleep 3s
Type "q"
Sleep 1s
# Check status
Hide
Type "./demo/note.sh 'Checking status of all jobs'"
Enter
Sleep 500ms
Show
Sleep 1s
Type "systab -S | less"
Sleep 500ms
Enter
Sleep 2s
Type "/Job:"
Enter
Sleep 3s
Type "q"
Sleep 1s
Sleep 2s

View file

@ -12,48 +12,111 @@ Set TypingSpeed 50ms
Sleep 1s
# Create a recurring job
Hide
Type "./demo/note.sh 'Creating a recurring health check (every 5 minutes)'"
Enter
Sleep 500ms
Show
Sleep 1s
Type "systab -t 'every 5 minutes' -c 'echo health check OK'"
Sleep 500ms
Enter
Sleep 2s
# Create a one-time job
Hide
Type "./demo/note.sh 'Creating a one-time reminder (30 minutes from now)'"
Enter
Sleep 500ms
Show
Sleep 1s
Type "systab -t 'in 30 minutes' -c 'echo reminder: meeting soon'"
Sleep 500ms
Enter
Sleep 2s
# Check status of all jobs
Type "systab -S"
Hide
Type "./demo/note.sh 'Checking status of all jobs'"
Enter
Sleep 500ms
Show
Sleep 1s
Type "systab -S | less"
Sleep 500ms
Enter
Sleep 4s
# View logs
Type "systab -L"
Sleep 500ms
Sleep 2s
Type "/Job:"
Enter
Sleep 3s
Type "q"
Sleep 1s
# View logs
Hide
Type "./demo/note.sh 'Viewing job logs'"
Enter
Sleep 500ms
Show
Sleep 1s
Type "systab -L | less"
Sleep 500ms
Enter
Sleep 2s
Type "/Logs for"
Enter
Sleep 3s
Type "q"
Sleep 1s
# Pause a job (uses the first job ID from status)
Hide
Type "./demo/note.sh 'Pausing a job'"
Enter
Sleep 500ms
Show
Sleep 1s
Type "systab -P $(systab -S 2>/dev/null | grep -m1 'Job:' | awk '{print $2}')"
Sleep 500ms
Enter
Sleep 2s
# Show it's paused
Type "systab -S"
Hide
Type "./demo/note.sh 'Verifying job is paused'"
Enter
Sleep 500ms
Show
Sleep 1s
Type "systab -S | less"
Sleep 500ms
Enter
Sleep 2s
Type "/Disabled"
Enter
Sleep 3s
Type "q"
Sleep 1s
# Resume it
Hide
Type "./demo/note.sh 'Resuming the paused job'"
Enter
Sleep 500ms
Show
Sleep 1s
Type "systab -R $(systab -S 2>/dev/null | grep -m1 'Disabled' -B4 | grep 'Job:' | awk '{print $2}')"
Sleep 500ms
Enter
Sleep 2s
# Clean up completed one-time jobs
Hide
Type "./demo/note.sh 'Cleaning up completed one-time jobs'"
Enter
Sleep 500ms
Show
Sleep 1s
Type "systab -C"
Sleep 500ms
Enter