demo.tape RawHistoryFolder

1Require vev
2Output out/demo.gif
3Set Shell bash
4Set FontFamily "JetBrainsMono Nerd Font"
5Set FontSize 20
6Set Width 1200
7Set Height 750
8Set Padding 12
9Set Margin 20
10Set MarginFill "#161B22"
11Set WindowBar Colorful
12Set WindowBarSize 36
13Set BorderRadius 10
14Set Theme "GitHub Dark"
15Set TypingSpeed 100ms
16Set Framerate 30
17Set WaitTimeout 30s
18
19# Visible shell commands are typed with hand-varied Type@<speed>
20# (70-160ms) and short hesitations at word boundaries so the rhythm
21# reads irregular/human; palette codes (CNS/SSP/…) stay single-speed.
22
23# ── Local and remote history, shown immediately ──────────
24Type@180ms "vev"
25Sleep 1.2s
26Enter
27Sleep 1.1s
28# Keep the initial local shell so the final detach/attach cycle is meaningful.
29Alt+" "
30Sleep 550ms
31Type "RNS "
32Type@95ms "local"
33Sleep 1s
34Enter
35Sleep 1s
36
37# The picker starts with the local shell plus two ready remote sessions.
38Alt+" "
39Sleep 550ms
40Type "SSP"
41Enter
42Sleep 1.5s
43Down
44Sleep 800ms
45Down
46Sleep 1.5s
47Enter
48Sleep 2.5s
49
50# The selected work session belongs to the remote container.
51Type@85ms "eza "
52Sleep 200ms
53Type@75ms "-la "
54Type@130ms "/etc"
55Enter
56Sleep 1.5s
57Alt+" "
58Sleep 550ms
59Type "SPR"
60Enter
61Sleep 650ms
62Type@80ms "tick"
63Type@150ms "er"
64Enter
65Sleep 1.5s
66
67# ── Session "agents": launch the bell job early so its
68#    sleep overlaps the middle scenes. ─────────────────────
69Alt+" "
70Sleep 550ms
71Type "CNS "
72Type@95ms "agents"
73Sleep 400ms
74# From a remote session CNS offers two destinations; pick the local one.
75Down 2
76Sleep 300ms
77Enter
78Sleep 900ms
79Type@80ms "sleep "
80Type@140ms "10"
81Sleep 220ms
82Type@85ms " && printf "
83Type@130ms `'\a'`
84Enter
85Sleep 1s
86
87# Back to work — palette-typed session switch: type the session
88# name directly (no command code), it ranks top of the results.
89Alt+" "
90Sleep 550ms
91Type@95ms "work"
92Enter
93Sleep 1s
94
95# ── Session "work": stacked panes (ticker keeps ticking) ─
96# Member 1 is the eza pane already on screen; member 2 opens the
97# ticker script itself in neovim (self-referential, bash syntax).
98Alt+h
99Sleep 550ms
100Alt+" "
101Sleep 550ms
102Type "STP"
103Sleep 1.5s
104Enter
105Sleep 650ms
106Type@85ms "nvim "
107Sleep 150ms
108Type@110ms "/usr/local/bin/"
109Type@130ms "ticker"
110Enter
111Sleep 1.5s
112Alt+k
113Sleep 900ms
114Alt+j
115Sleep 900ms
116
117# ── Session "work": floating pane ─────────────────────
118# Open a man page in the float, scroll it, then hide the float.
119Alt+f
120Sleep 550ms
121Type@90ms "man "
122Type@130ms "ls"
123Enter
124Sleep 1.2s
125Space
126Sleep 1.2s
127Alt+f
128Sleep 900ms
129
130# ── Session "monitor": fastfetch + htop, each full-width,
131#    never split. ─────────────────────────────────────────
132Alt+" "
133Sleep 550ms
134Type "CNS "
135Type@95ms "monitor"
136Sleep 400ms
137Down 2
138Sleep 300ms
139Enter
140Sleep 900ms
141Type@80ms "fast"
142Type@130ms "fetch"
143Enter
144Sleep 1.7s
145Alt+" "
146Sleep 550ms
147Type "CNT"
148Enter
149Sleep 550ms
150Type@90ms "htop"
151Enter
152Sleep 1.9s
153Alt+"1"
154Sleep 1.2s
155Alt+"2"
156Sleep 1.1s
157
158# ── Bell cross-session: the agents job has rung; jump to it ─
159Sleep 900ms
160Alt+a
161Sleep 1.9s
162
163# ── Move pane: start fzf beside the agents job, type a query,
164#    then carry it live into the "local" session. ───────────
165Alt+" "
166Sleep 550ms
167Type "SPR"
168Enter
169Sleep 650ms
170Type@85ms "cd "
171Type@120ms "/etc "
172Type@80ms "&& "
173Type@110ms "fzf"
174Enter
175Sleep 1.2s
176Type@140ms "ssh"
177Sleep 1.2s
178Alt+" "
179Sleep 550ms
180Type "MFP"
181Sleep 800ms
182Enter
183Sleep 1.5s
184Down
185Sleep 800ms
186Down
187Sleep 1.5s
188Enter
189# The picker stays open after a pane move so more panes can follow; close it.
190# The final re-attach to "local" shows fzf still open with its query.
191Sleep 1.5s
192Escape
193Sleep 1s
194
195# ── Detach / re-attach: local sessions survive, fzf intact ─
196Alt+" "
197Sleep 550ms
198Type "DET"
199Enter
200Sleep 1s
201Type@90ms "vev "
202Type@75ms "ls "
203Type@120ms "--all"
204Enter
205Sleep 1.8s
206Type@90ms "vev "
207Sleep 150ms
208Type@80ms "attach "
209Type@140ms "local"
210Enter
211Sleep 3.5s

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 12

Tags 11

↑↓ moveenter openesc close