detached 02223f0

fix(demo): readable font and filled terminals

commit
02223f00191fb502224d2ce15c99e790e21f1d36
author
brice · · 2026-10-21 04:51 UTC
parent
2470c88
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
7 files · +28 -5
M docs/media/demo.gif +0 -0 binary file: no text diff

binary file: no text diff

M docs/media/demo.mp4 +0 -0 binary file: no text diff

binary file: no text diff

M docs/media/demo.png +0 -0 binary file: no text diff

binary file: no text diff

M tools/demo/config +1 -1
@@ -1,5 +1,5 @@
11 animations = on
2-terminal = foot -c /dev/null -o font=monospace:size=13 -o colors-dark.background=1a1b26 -o colors-dark.foreground=c0caf5 -e bash --noprofile --norc
2+terminal = foot -c /dev/null -o font=monospace:size=16 -o colors-dark.background=1a1b26 -o colors-dark.foreground=c0caf5 -e bash --noprofile --norc
33 terminal.auto-open = first
44 layout.gaps = 8
55 border.width = 2
@@ -1,5 +1,5 @@
1 animations = on1 animations = on
2-terminal = foot -c /dev/null -o font=monospace:size=13 -o colors-dark.background=1a1b26 -o colors-dark.foreground=c0caf5 -e bash --noprofile --norc2+terminal = foot -c /dev/null -o font=monospace:size=16 -o colors-dark.background=1a1b26 -o colors-dark.foreground=c0caf5 -e bash --noprofile --norc
3 terminal.auto-open = first3 terminal.auto-open = first
4 layout.gaps = 84 layout.gaps = 8
5 border.width = 25 border.width = 2
A tools/demo/content.sh +23 -0
@@ -0,0 +1,23 @@
1+#!/usr/bin/env bash
2+# Static, colorful terminal content for the recording (no personal shell config).
3+# These listings are displayed, not parsed; truncation is intentional.
4+# shellcheck disable=SC2012
5+set -euo pipefail
6+clear
7+case ${1:-} in
8+ system)
9+ fastfetch --logo small --structure OS:Kernel:WM:Terminal:Memory:Colors
10+ ls -la --color=always /etc | head -24 || true
11+ ;;
12+ files)
13+ ls -l --color=always /usr/share | head -34 || true
14+ ;;
15+ stash)
16+ printf '\033[1;36m NEFERWL / YOUR STASH\033[0m\n\n'
17+ for ((i = 0; i < 6; i++)); do
18+ printf '\033[1;34m SET ASIDE\033[0m a window with Super+Shift+s\n'
19+ printf '\033[1;32m BRING BACK\033[0m a window with Super+s\n'
20+ printf '\033[1;35m STAY FOCUSED\033[0m keep your workspace clear\n\n'
21+ done
22+ ;;
23+esac
@@ -0,0 +1,23 @@
1+#!/usr/bin/env bash
2+# Static, colorful terminal content for the recording (no personal shell config).
3+# These listings are displayed, not parsed; truncation is intentional.
4+# shellcheck disable=SC2012
5+set -euo pipefail
6+clear
7+case ${1:-} in
8+ system)
9+ fastfetch --logo small --structure OS:Kernel:WM:Terminal:Memory:Colors
10+ ls -la --color=always /etc | head -24 || true
11+ ;;
12+ files)
13+ ls -l --color=always /usr/share | head -34 || true
14+ ;;
15+ stash)
16+ printf '\033[1;36m NEFERWL / YOUR STASH\033[0m\n\n'
17+ for ((i = 0; i < 6; i++)); do
18+ printf '\033[1;34m SET ASIDE\033[0m a window with Super+Shift+s\n'
19+ printf '\033[1;32m BRING BACK\033[0m a window with Super+s\n'
20+ printf '\033[1;35m STAY FOCUSED\033[0m keep your workspace clear\n\n'
21+ done
22+ ;;
23+esac
M tools/demo/input.txt +3 -3
@@ -1,16 +1,16 @@
11 sleep 2s
22 move 1918 1078
3-type clear; fastfetch --logo small --structure OS:Kernel:WM:Terminal:Memory:Colors
3+type bash tools/demo/content.sh system
44 key Return
55 sleep 3s
66 key Super+Return
77 sleep 1500ms
8-type clear; ls -C --color=always /usr/share | head -18
8+type bash tools/demo/content.sh files
99 key Return
1010 sleep 3s
1111 key Super+Return
1212 sleep 1500ms
13-type clear; printf '\033[1;34mNEFERWL / STASH\033[0m\n\nA window, set aside.\nReady when you are.\n'; seq 1 12
13+type bash tools/demo/content.sh stash
1414 key Return
1515 sleep 2500ms
1616 key Super+Shift+s
@@ -1,16 +1,16 @@
1 sleep 2s1 sleep 2s
2 move 1918 10782 move 1918 1078
3-type clear; fastfetch --logo small --structure OS:Kernel:WM:Terminal:Memory:Colors3+type bash tools/demo/content.sh system
4 key Return4 key Return
5 sleep 3s5 sleep 3s
6 key Super+Return6 key Super+Return
7 sleep 1500ms7 sleep 1500ms
8-type clear; ls -C --color=always /usr/share | head -188+type bash tools/demo/content.sh files
9 key Return9 key Return
10 sleep 3s10 sleep 3s
11 key Super+Return11 key Super+Return
12 sleep 1500ms12 sleep 1500ms
13-type clear; printf '\033[1;34mNEFERWL / STASH\033[0m\n\nA window, set aside.\nReady when you are.\n'; seq 1 1213+type bash tools/demo/content.sh stash
14 key Return14 key Return
15 sleep 2500ms15 sleep 2500ms
16 key Super+Shift+s16 key Super+Shift+s
M tools/demo/record.sh +1 -1
@@ -14,7 +14,7 @@ env -u NEFERWL_STATE -u NEFERWL_SLOT "$work/neferwl" \
1414 ffmpeg -hide_banner -loglevel warning -f concat -safe 0 \
1515 -i "$work/shots/frames.ffconcat" -vf 'fps=60,format=yuv420p' \
1616 -c:v libx264 -crf 23 -movflags +faststart docs/media/demo.mp4 -y
17-ffmpeg -hide_banner -loglevel warning -ss 23 -i docs/media/demo.mp4 \
17+ffmpeg -hide_banner -loglevel warning -ss 15.5 -i docs/media/demo.mp4 \
1818 -frames:v 1 -update 1 docs/media/demo.png -y
1919 # Keep the optional, smaller preview only when it fits the README asset budget.
2020 ffmpeg -hide_banner -loglevel warning -i docs/media/demo.mp4 \
@@ -14,7 +14,7 @@ env -u NEFERWL_STATE -u NEFERWL_SLOT "$work/neferwl" \
14 ffmpeg -hide_banner -loglevel warning -f concat -safe 0 \14 ffmpeg -hide_banner -loglevel warning -f concat -safe 0 \
15 -i "$work/shots/frames.ffconcat" -vf 'fps=60,format=yuv420p' \15 -i "$work/shots/frames.ffconcat" -vf 'fps=60,format=yuv420p' \
16 -c:v libx264 -crf 23 -movflags +faststart docs/media/demo.mp4 -y16 -c:v libx264 -crf 23 -movflags +faststart docs/media/demo.mp4 -y
17-ffmpeg -hide_banner -loglevel warning -ss 23 -i docs/media/demo.mp4 \17+ffmpeg -hide_banner -loglevel warning -ss 15.5 -i docs/media/demo.mp4 \
18 -frames:v 1 -update 1 docs/media/demo.png -y18 -frames:v 1 -update 1 docs/media/demo.png -y
19 # Keep the optional, smaller preview only when it fits the README asset budget.19 # Keep the optional, smaller preview only when it fits the README asset budget.
20 ffmpeg -hide_banner -loglevel warning -i docs/media/demo.mp4 \20 ffmpeg -hide_banner -loglevel warning -i docs/media/demo.mp4 \

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 25

Tags 10

↑↓ moveenter openesc close