1notcurses-demo(1) notcurses-demo(1)
2
3
4
6 notcurses-demo - Show off some notcurses features
7
9 notcurses-demo [-h|--help] [-p path] [-d delaymult] [-l loglevel] [-f
10 renderfile] [-J jsonfile] [-m margins] [-V|--version] [-ikc] demospec
11
13 notcurses-demo demonstrates the capabilities of the notcurses library.
14 It can be run in any terminal emulator or console with a correct ter‐
15 minfo(5) database, but is at is best in a 24bpp TrueColor RGB environ‐
16 ment. If notcurses-demo seems to generate garbage, something is likely
17 configured in a way that is going to prevent notcurses from working in
18 other applications.
19
20 The demonstrations include (see NOTES below):
21
22 · (a)nimate—explore cycles within Unicode
23
24 · (b)oxes—pulsating boxes with a transparent center
25
26 · (c)hunli—the strongest woman in the world
27
28 · (d)ragon—the Harter-Heighway dragon curve
29
30 · (e)agle—they took some time off my life, back in the day
31
32 · (f)allin'—the screen falls apart under heavy blows
33
34 · (g)rid—a gradient of color lain atop a great grid
35
36 · (h)ighcon—high contrast text atop various colors
37
38 · (i)ntro—a setting of tone
39
40 · (j)ungle—low-bandwidth color cycling reveals ancient ruins
41
42 · (k)eller—the miracle of sight, and painting with Braille
43
44 · (l)uigi—a dashing Apennine plumber in a world of fire
45
46 · (m)ojibake—today's fresh catch of emoji (market price)
47
48 · (n)ormal—a normal map of a friend, with effects
49
50 · (o)utro—a message of hope from the library's author
51
52 · (q)rcode—quick response codes (from ISO/IEC 18004:2015)
53
54 · (r)eel—demonstration of the ncreel high-level widget
55
56 · (s)liders—a missing-piece puzzle made up of colorful blocks
57
58 · (t)rans—an exploration of various transparencies
59
60 · (u)niblocks—a series of blocks detailing Unicode pages
61
62 · (v)iew—images and a video are rendered as text
63
64 · (w)hiteout—a great Nothing slowly robs the world of color
65
66 · (x)ray—stimulate a logo with energy
67
68 · (y)ield—the best laid schemes o' mice an'men gang aft agley
69
70 · (z)oo—see the marvelous widgets of the notcurses world
71
72 At any time, press 'q' to quit. The demo is best run in at least an
73 80x45 terminal, and will refuse to run in anything smaller than 80x24.
74
76 -p path: Look in the specified path for data files.
77
78 -d delaymult: Apply a non-negative rational multiplier to the standard
79 delay of 1s.
80
81 -l loglevel: Log everything (log level 8) or nothing (log level 0) to
82 stderr.
83
84 -f renderfile: Render each frame to renderfile in addition to the
85 screen.
86
87 -J jsonfile: Emit JSON summary of run to jsonfile.
88
89 -m margins: Define rendering margins (see below).
90
91 -k: Inhibit use of the alternate screen. Necessary if you want the
92 output left on your terminal after the program exits.
93
94 -c: Do not attempt to seed the PRNG. This is useful when benchmarking.
95
96 -i: Continue after a failing demo.
97
98 -h|--help: Print a usage message, and exit with success.
99
100 -V|--version: Print the program name and version, and exit with suc‐
101 cess.
102
103 demospec: Select which demos to run, and what order to run them in.
104 The default is ixezcytnhdmbkgarwuvlsfjqo. See above for a list of
105 demos.
106
107 Default margins are all 0, and thus the full screen will be rendered.
108 Using -m, margins can be supplied. Provide a single number to set all
109 four margins to the same value, or four comma-delimited values for the
110 top, right, bottom, and left margins respectively. Negative margins
111 are illegal.
112
114 Proper display requires:
115
116 · A terminal advertising the rgb [22mterminfo(5) capability, or that the
117 environment variable COLORTERM is defined to 24bit (and that the ter‐
118 minal honors RGB escapes),
119
120 · A monospaced font, and
121
122 · Good Unicode support in your libc, font, and terminal emulator.
123
124 The Debian version of notcurses-demo leaves out certain multimedia con‐
125 sidered non-free under the Debian Free Software Guidelines. As a re‐
126 sult, the chunli, eagle, jungle, keller, luigi, and view demos are un‐
127 available through the Debian package. This applies to any distro which
128 uses the DFSG source tarball, including Ubuntu and Fedora.
129
130 If notcurses is built without multimedia support, the chunli, eagle,
131 keller, outro, view, xray, and yield demos will be partially or wholly
132 unavailable. If notcurses is built without libqrcodegen, the qrcode
133 demo will be unavailable.
134
135 If notcurses-demo is run in a terminal lacking the can_change terminfo
136 capability, the jungle demo will be skipped.
137
138 The following keypresses are recognized (and are also available from
139 the menu):
140
141 · Ctrl-U: Toggle the help screen.
142
143 · H: Toggle the HUD. The HUD shows the most recent and current demos'
144 runtime and number of rendered frames. It can be grabbed and moved
145 with the mouse.
146
147 · P: Toggle the FPS graph.
148
149 · Ctrl-R: Restart the demo.
150
151 · Alt-d: Toggle a window with debugging information.
152
153 · q: Quit.
154
155 Benchmarking should be performed using -c to get a well-defined PRNG
156 seed. JSON output via -J will probably be useful.
157
159 Certain demos (especially mojibake and uniblocks) heavily exercise the
160 font rendering stack. If your font or rendering engine draws glyphs
161 with width different from that reported by the standard library's
162 wcwidth(3), Notcurses will have an incorrect notion of cursor place‐
163 ment, leading to undesirable behavior.
164
166 · All code and design copyright Nick Black <nickblack@linux.com>.
167
168 · Images from Street Fighter II and Mega Man 2 copyright Capcom of
169 America.
170
171 · Images from Super Mario Bros. copyright Nintendo of America.
172
173 · Images from Ninja Gaiden copyright Koei Tecmo America.
174
175 · Images from Final Fantasy copyright Square Enix Co Ltd.
176
177 · "Jungle with Rain" copyright Mark Ferrari/Living Worlds.
178
180 notcurses(3), ncurses(3NCURSES), wcwidth(3), terminfo(5)
181
183 nick black <nickblack@linux.com>.
184
185
186
187 v2.2.3 notcurses-demo(1)