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] [-J
10 jsonfile] [-m margins] [-V|--version] [-kc] 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)ission—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 between everything (loglevel 7) and nothing (loglevel
82 0) to 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 -h|--help: Print a usage message, and exit with success.
97
98 -V|--version: Print the program name and version, and exit with suc‐
99 cess.
100
101 demospec: Select which demos to run, and what order to run them in.
102 The default is ixetunchdmbkywjgarvlsfqzo. See above for a list of
103 demos.
104
105 Default margins are all 0, and thus the full screen will be rendered.
106 Using -m, margins can be supplied. Provide a single number to set all
107 four margins to the same value, or four comma-delimited values for the
108 top, right, bottom, and left margins respectively. Negative margins
109 are illegal.
110
112 Proper display requires:
113
114 • A terminal advertising the rgb [22mterminfo(5) capability, or that the
115 environment variable COLORTERM is defined to 24bit (and that the ter‐
116 minal honors RGB escapes),
117
118 • A monospaced font, and
119
120 • Good Unicode support in your libc, font, and terminal emulator.
121
122 The Debian version of notcurses-demo leaves out certain multimedia con‐
123 sidered non-free under the Debian Free Software Guidelines. As a re‐
124 sult, the chunli, eagle, jungle, keller, luigi, and view demos are un‐
125 available through the Debian package. This applies to any distro which
126 uses the DFSG source tarball, including Ubuntu and Fedora.
127
128 If Notcurses is built without multimedia support, the chunli, eagle,
129 keller, outro, view, xray, and yield demos will be partially or wholly
130 unavailable. If Notcurses is built without libqrcodegen, the qrcode
131 demo will be unavailable.
132
133 If notcurses-demo is run in a terminal lacking the can_change terminfo
134 capability, the jungle demo will be skipped.
135
136 The following keypresses are recognized (and are also available from
137 the menu):
138
139 • Ctrl-U: Toggle the help screen.
140
141 • H: Toggle the HUD. The HUD shows the most recent and current demos'
142 runtime and number of rendered frames. It can be grabbed and moved
143 with the mouse.
144
145 • P: Toggle the FPS graph.
146
147 • Ctrl-R: Restart the demo.
148
149 • Ctrl-L: Redraw the screen.
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 • Images from Back to the Future copyright Universal Studios and U-
178 Drive Joint Venture.
179
180 • "Jungle with Rain" copyright Mark Ferrari/Living Worlds.
181
183 notcurses(3), ncurses(3NCURSES), wcwidth(3), terminfo(5)
184
186 nick black <nickblack@linux.com>.
187
188
189
190 v3.0.8 notcurses-demo(1)