2020-01-11 06:59:02 +00:00
% notcurses-demo(1)
% nick black < nickblack @ linux . com >
2020-08-03 06:47:07 +00:00
% v1.6.11
2020-01-11 06:59:02 +00:00
# NAME
notcurses-demo - Show off some notcurses features
# SYNOPSIS
2020-01-28 21:43:02 +00:00
**notcurses-demo** [**-h|--help**] [**-p path**] [**-d delaymult**]
2020-03-13 09:07:33 +00:00
[**-l loglevel**] [**-f renderfile**] [**-J jsonfile**] [**-m margins**]
[**-ikVc**] demospec
2020-01-11 06:59:02 +00:00
# DESCRIPTION
**notcurses-demo** demonstrates the capabilities of the notcurses library. It
can be run in any terminal emulator or console with a correct terminfo(5)
2020-03-13 09:07:33 +00:00
database, but is at is best in a 24bpp TrueColor RGB environment. If
2020-01-12 15:15:56 +00:00
**notcurses-demo** seems to generate garbage, something is likely configured in
a way that is going to prevent notcurses from working.
2020-01-11 06:59:02 +00:00
2020-02-05 03:49:46 +00:00
The demonstrations include (see NOTES below):
2020-01-11 06:59:02 +00:00
2020-06-07 03:14:24 +00:00
* (a)llglyph—scroll the glyphs of your font
2020-01-18 21:06:39 +00:00
* (b)oxes—pulsating boxes with a transparent center
2020-01-11 06:59:02 +00:00
* (c)hunli—the strongest woman in the world
2020-06-13 04:06:33 +00:00
* (d)ragon—the Harter-Heighway dragon curve
2020-01-18 21:06:39 +00:00
* (e)agle—they took some time off my life, back in the day
2020-01-19 02:17:05 +00:00
* (f)allin'—the screen falls apart under heavy blows
2020-01-18 21:06:39 +00:00
* (g)rid—a gradient of color lain atop a great grid
2020-02-07 01:55:18 +00:00
* (h)ighcon—high contrast text atop various colors
2020-06-05 19:14:07 +00:00
* (i)ntro—a setting of tone
2020-01-18 21:06:39 +00:00
* (j)ungle—low-bandwidth color cycling reveals ancient ruins
2020-03-25 11:19:56 +00:00
* (l)uigi—a dashing Apennine plumber in a world of fire
2020-06-15 04:18:43 +00:00
* (m)ojibake—a selection of market-price emoji
2020-06-01 03:15:43 +00:00
* (n)ormal—a normal map of a friend, with effects
2020-06-05 19:14:07 +00:00
* (o)utro—a message of hope from the library's author
2020-04-21 03:26:41 +00:00
* (q)rcode—quick response codes (from ISO/IEC 18004:2015)
2020-02-05 22:29:42 +00:00
* (r)eel—demonstration of the ncreel high-level widget
2020-01-11 06:59:02 +00:00
* (s)liders—a missing-piece puzzle made up of colorful blocks
2020-01-18 21:06:39 +00:00
* (t)rans—an exploration of various transparencies
2020-01-11 06:59:02 +00:00
* (u)niblocks—a series of blocks detailing Unicode pages
* (v)iew—images and a video are rendered as text
2020-02-04 03:37:08 +00:00
* (w)hiteout—a great Nothing slowly robs the world of color
2020-01-18 21:06:39 +00:00
* (x)ray—stimulate a logo with energy
2020-06-05 19:14:07 +00:00
* (y)ield—the best laid schemes o' mice an'men gang aft agley
2020-07-28 17:58:38 +00:00
* (z)oo—see the marvelous widgets of the notcurses world
2020-01-11 06:59:02 +00:00
2020-02-18 12:12:25 +00:00
At any time, press 'q' to quit. The demo is best run in at least an 80x45 terminal.
2020-01-11 06:59:02 +00:00
# OPTIONS
**-p path**: Look in the specified **path** for data files.
2020-01-30 13:55:01 +00:00
**-d delaymult**: Apply a non-negative rational multiplier to the standard delay of 1s.
2020-01-11 06:59:02 +00:00
2020-08-09 21:40:59 +00:00
**-l loglevel**: Log everything (log level 8) or nothing (log level 0) to stderr.
2020-01-14 20:50:17 +00:00
2020-02-07 06:05:27 +00:00
**-f renderfile**: Render each frame to **renderfile** in addition to the screen.
2020-02-27 08:27:54 +00:00
**-J jsonfile**: Emit JSON summary of run to **jsonfile** .
2020-03-13 09:07:33 +00:00
**-m margins**: Define rendering margins (see below).
2020-01-11 06:59:02 +00:00
**-k**: Inhibit use of the alternate screen. Necessary if you want the output left on your terminal after the program exits.
**-c**: Do not attempt to seed the PRNG. This is useful when benchmarking.
2020-02-07 06:05:27 +00:00
**-i**: Continue after a failing demo.
2020-01-11 06:59:02 +00:00
**-h**: Print a usage message, and exit with success.
**-V**: Print the program name and version, and exit with success.
2020-06-01 03:15:43 +00:00
demospec: Select which demos to run, and what order to run them in. The
2020-07-28 17:58:38 +00:00
default is **ixezaydthnbcmgrwuvlsfjqo** . See above for a list of demos.
2020-01-11 06:59:02 +00:00
2020-03-13 09:07:33 +00:00
Default margins are all 0, and thus the full screen will be rendered. Using
**-m**, margins can be supplied. Provide a single number to set all four margins
to the same value, or four comma-delimited values for the top, right, bottom,
and left margins respectively. Negative margins are illegal.
2020-01-11 06:59:02 +00:00
# NOTES
2020-02-05 15:41:13 +00:00
2020-01-11 06:59:02 +00:00
Proper display requires:
2020-01-12 02:47:03 +00:00
2020-04-19 21:12:13 +00:00
* A terminal advertising the **rgb** terminfo(5) capability, or that the environment variable **COLORTERM** is defined to **24bit** (and that the terminal honors RGB escapes),
2020-01-11 06:59:02 +00:00
* A monospaced font, and
* Good Unicode support in your libc, font, and terminal emulator.
2020-02-05 03:49:46 +00:00
The Debian version of notcurses leaves out certain multimedia considered
2020-02-05 14:39:35 +00:00
non-free under the Debian Free Software Guidelines. As a result, the
2020-02-20 09:46:23 +00:00
**chunli**, **eagle** , **jungle** , **luigi** , and **view** demos
2020-07-27 04:37:50 +00:00
are unavailable through the Debian package. This applies to any distro
which uses the DFSG source tarball, including Ubuntu and Fedora.
2020-02-05 03:49:46 +00:00
2020-04-25 19:54:09 +00:00
If notcurses is built without multimedia support, the **chunli** , **eagle** ,
2020-06-05 19:14:07 +00:00
**outro**, **view** , **xray** , and **yield** demos will be partially or wholly
2020-06-01 03:15:43 +00:00
unavailable. If notcurses is built without libqrcodegen, the **qrcode** demo
will be unavailable.
2020-01-17 13:09:19 +00:00
2020-02-19 23:44:53 +00:00
If **notcurses-demo** is run in a terminal lacking the **can_change** terminfo
capability, **jungle** will be skipped.
2020-02-18 17:36:16 +00:00
The following keypresses are recognized (and are also available from the menu):
* **Ctrl-U**: Toggle the help screen.
* **H**: Toggle the HUD. The HUD shows the most recent and current demos'
runtime and number of rendered frames. It can be grabbed and moved
with the mouse.
* **Ctrl-R**: Restart the demo.
* **q**: Quit.
2020-02-05 15:41:13 +00:00
# BUGS
2020-01-17 13:09:19 +00:00
2020-02-20 03:51:02 +00:00
# COPYRIGHT
2020-01-18 21:06:39 +00:00
2020-02-20 03:51:02 +00:00
* All code and design copyright Nick Black < dankamongmen @ gmail . com > .
2020-01-18 21:06:39 +00:00
* Images from Street Fighter II and Mega Man 2 copyright Capcom of America.
* Images from Super Mario Bros. copyright Nintendo of America.
* Images from Ninja Gaiden copyright Koei Tecmo America.
2020-02-05 15:41:13 +00:00
* Images from Final Fantasy copyright Square Enix Co Ltd.
* "Jungle with Rain" and "Ruins with Rain" copyright Mark Ferrari/Living Worlds.
2020-01-18 21:06:39 +00:00
2020-01-11 06:59:02 +00:00
# SEE ALSO
2020-02-12 01:46:39 +00:00
**notcurses(3)**,
**ncurses(3NCURSES)**,
**terminfo(5)**