-
Notifications
You must be signed in to change notification settings - Fork 6
Demos
The GIFs used on this wiki and in the repo README are recorded from
VHS tapes. Tapes, fixtures and the
image that renders them live in demos/ in this wiki repository;
the rendered GIFs land in assets/ next to them.
They used to live in the mc tree under doc/demos/, where a tape could only
run against the maintainer's local build. The image pins the mc revision
instead, so a tape keeps rendering the demo of the revision it pins.
| Tape | Shows | Keys |
|---|---|---|
arcmc.tape |
Create a 7z archive from tagged files, with the pack dialog and progress. |
Insert x3 (tag), Ctrl-G (menu), Tab Down Space (pick 7z), Enter (OK) |
viewer-tree.tape |
Structured tree view of a JSON file: toggle, navigate, search, copy jq-path. |
t (tree), Down/Enter (expand), / type Enter (search), Ctrl-Y (copy path), q
|
viewer-filter.tape |
Grep-style live filter over a log, keeping only matching lines. |
Ctrl-L, type ERROR, Enter, ]/[ (jump matches), q
|
git-panel.tape |
Git panel plugin: browse changes, open a file's diff. |
Ctrl-K -> Git status, Down to file, Ctrl-D (diff), Enter (jump to hunk) |
panel-hide.tape |
Hide a panel and run a shell command in the freed area. |
Ctrl-W (hide left panel), type ls, Enter
|
Fixtures: sample.json, sample.log, and demo.keymap (see below).
Only Docker is needed; the image brings mc, its plugins, vhs, ttyd,
ffmpeg and the fonts.
cd demos
MC_REF=v6.0.1 ./record.sh build # build the image at a pinned revision
./record.sh # record every tape into ../assets/
./record.sh viewer-tree # or just oneMC_REF is any ref of the mc fork and defaults to master. MC_REPO (a
build arg) points at the repository. The plugin set is pinned in the
Dockerfile rather than autodetected, so the plugin drive menu keeps the same
entries between builds.
A small keymap, merged over the defaults via MC_KEYMAP, that binds the
actions a demo needs onto Ctrl-keys (menu bar, drive menu, viewer filter,
structured copy-path, panel toggle). VHS cannot send function keys or
Alt-combos, hence the rebinds. It is never installed; the image exports
MC_KEYMAP pointing at it.
These are recorded here rather than fixed silently, and are scheduled for the next build:
-
arcmc.tapeused to pressCtrl-A, whichdemo.keymapnever bound, so the create-archive dialog never opened. It now goes through the menu bar, but the menu path and the pack-dialog field order still need one manual pass. - The
Downcounts ingit-panel.tapewere tuned against a host build whose plugin set differs from the image's. Both counts need re-verifying once against the image. -
git-panel.tapeneeds an uncommitted change to display; the image creates one by prepending a comment tosrc/panel-plugins/arcmc/arcmc.c.