nick black
e71c9284ef
man pages: address some syntax issues
2020-02-11 20:46:39 -05:00
nick black
ed0d5e6ae3
uniblock: spelling
2020-02-10 21:29:25 -05:00
nick black
ae62e046b0
python: add shebangs
2020-02-10 20:57:06 -05:00
nick black
80f11b2d0d
add pydemo to test installed package
2020-02-10 20:51:08 -05:00
nick black
204181b706
ncselector_offer_input() and rewrite pocselector #333
2020-02-10 20:25:45 -05:00
nick black
b0c72607c4
ncmenu_offer_input(), use it in demo/pocmenu #333
2020-02-10 20:22:23 -05:00
nick black
79661633f0
ncmenu: knock out unterminated short descs
2020-02-10 15:49:03 -05:00
nick black
aacec297b2
ncmenu: declare ncmenu_offer_input()
2020-02-10 15:41:25 -05:00
nick black
093b4aa730
highcon: make text orderly
2020-02-10 15:24:58 -05:00
nick black
74b9690cf3
ncmenu: remove dumb restrictions/special casing
2020-02-10 15:18:28 -05:00
nick black
d6ea7f9b6c
CELL_ALPHA_HIGHCONTRAST: evaluate against final background
2020-02-10 15:17:51 -05:00
nick black
5086bbf1fc
demo: less pronounced menu color
2020-02-10 01:56:09 -05:00
nick black
ab8417e488
demo: handle remaining menu inputs
2020-02-10 00:38:34 -05:00
nick black
d3c26320ef
demo: don't draw sections transparently #336
2020-02-10 00:29:03 -05:00
nick black
92cb0b9abf
demo: handle menu navigation
2020-02-10 00:26:32 -05:00
nick black
2dde1d4af7
demo: hold arrow keys back for menu
2020-02-10 00:09:27 -05:00
nick black
b56e597bb8
uniblock: adapt to ncmenu
2020-02-09 06:30:17 -05:00
nick black
1fc5afbe8d
uniblock: adapt for demo menu
2020-02-09 06:30:17 -05:00
nick black
006ee00142
boxdemo: adapt to menu
2020-02-09 06:30:17 -05:00
nick black
501fe166e4
trans: adapt to ncmenu #332
2020-02-09 06:30:17 -05:00
nick black
d55f1b78d8
xray: adapt to menu
2020-02-09 06:30:17 -05:00
nick black
328426c3e7
demo: adapt intro to menu
2020-02-09 06:30:17 -05:00
nick black
28bfa4d854
ncmenu: right-align selected sections #332
2020-02-09 06:30:17 -05:00
nick black
71dbfd74f7
ncmenu: step around alignment NULL #332
2020-02-09 06:30:17 -05:00
nick black
3bbb752554
ncmenu: unrolled body needs be transparent #329
2020-02-09 06:30:17 -05:00
nick black
25e2f59f4b
ncmenu: searching for cause of discoloration #329
2020-02-09 06:30:17 -05:00
nick black
cdcc275e07
HUD: always display a close button in upper right
2020-02-07 10:22:36 -05:00
nick black
80e449cf79
demo: fix up ignore option
2020-02-07 09:42:49 -05:00
nick black
5c67591294
python: match new blend signatures
2020-02-07 09:39:05 -05:00
nick black
5b20651836
demo: add menu, but disable for now
2020-02-07 09:19:08 -05:00
nick black
3cdac5ce28
high-contrast text, simple linear average model #181
2020-02-07 09:19:08 -05:00
nick black
1ed6000193
ncstats: add plane count, fix fbbytes accounting
2020-02-07 09:19:08 -05:00
nick black
6798233afe
highcontrast demo: turn on motto
2020-02-07 09:19:08 -05:00
nick black
290bd983ac
highcontrast demo: tighten up minimize() #181
2020-02-07 09:19:08 -05:00
nick black
f5fd95287e
highcontrast: kill nonsense line
2020-02-07 09:19:08 -05:00
nick black
f688f9b9c3
highcontrast demo cycle #181
2020-02-07 09:19:08 -05:00
nick black
8e29b5ba0f
add highcon demo #181
2020-02-07 09:19:08 -05:00
nick black
05997f9988
notcurses-demo: accept -i to continue on demo failure
2020-02-07 01:05:27 -05:00
nick black
dfe4a99446
ncplane_putegc_yx: set sbytes on error path
2020-02-07 01:05:08 -05:00
nick black
85e377e652
Accept US-ASCII/C encoding, with warning.
2020-02-06 22:05:48 -05:00
nick black
62488eaf10
blit->ncblit #324
2020-02-05 20:40:36 -05:00
nick black
74775b97ec
enmetric->ncmetric #324
2020-02-05 20:18:11 -05:00
nick black
89f516dcaa
tablet->nctablet, add ncreel to python #324
2020-02-05 20:04:56 -05:00
nick black
c519c95fff
panelreel -> ncreel #324
2020-02-05 17:29:42 -05:00
nick black
b38985e99c
demo: print default data dir in usage()
2020-02-05 16:49:06 -05:00
nick black
01bc543399
tag demos requiring ffmpeg
2020-02-05 10:41:13 -05:00
nick black
0bff959eed
demo: don't allow HUD to drive rendering
2020-02-05 07:50:55 -05:00
nick black
14f03f781a
add some missing locking #290
2020-02-05 06:02:14 -05:00
nick black
09ff64e19f
ncdirect_style_*() #321
2020-02-05 02:52:45 -05:00
nick black
bb7b92ea4a
ncdirect_styles_*() declarations #321
2020-02-05 02:27:41 -05:00
nick black
6bf812a306
demo: elide nonfree demos in DFSG build #316
2020-02-04 23:18:40 -05:00
nick black
832451a966
notcurses-view: erase base plane each frame #314
...
On a resize, notcurses-view left cruft in the middle of the
top line due to the frame/time being moved. An erase is awfully
heavyweight here, in the abstract, but it gets the job done
simply, and doesn't seem to have much performance impact.
2020-02-04 22:33:10 -05:00
nick black
ab3a91c5d0
python for ncdirect
2020-02-04 04:16:16 -05:00
nick black
8ac16b734f
keep ncmenu on top #179
2020-02-04 02:20:02 -05:00
nick black
2a9f3c5ab3
ncmenu_selected(), update docs #179
2020-02-04 01:05:51 -05:00
nick black
4d613217b3
ncmenu: only allow one at a time
2020-02-04 00:17:51 -05:00
nick black
10a269c963
ncmenu: reject double menu
2020-02-04 00:08:03 -05:00
nick black
039a390877
ncmenu: print item shortcut aligned right #179
2020-02-03 23:55:19 -05:00
nick black
49013433ea
demo: spruce up table a bit more
2020-02-03 22:37:08 -05:00
nick black
f54e73278e
chunli: return error on load failure
2020-02-03 22:36:59 -05:00
nick black
79a92fcfb1
ncmenu: highlight shortcut keys for menu items
2020-02-03 22:14:29 -05:00
nick black
553f81da4e
ncmenu: unicode shortcut test
2020-02-03 21:35:41 -05:00
nick black
3821b66bc7
menu: highlight (bold+uline) section shortcuts
2020-02-03 21:32:04 -05:00
nick black
5cd4fc9a1f
menu: reject empty sections #179
2020-02-03 13:08:45 -05:00
nick black
0977fa0d56
menu: don't alight cursor on separators
2020-02-03 12:33:06 -05:00
nick black
ee6eb1a37b
ncmenu: support iteration within a section
2020-02-03 01:07:58 -05:00
nick black
fa88f9b525
ncmenu: nextsection/prevsection
2020-02-02 19:02:52 -05:00
nick black
88a0ffff07
ncmenu: fill in sections #179
2020-02-02 12:57:32 -05:00
nick black
c3ad38adb9
ncmenu: size body width based on items #179
2020-02-02 12:57:32 -05:00
nick black
4586dd7e19
ncmenu: properly place unrolled menu #179
2020-02-02 12:57:32 -05:00
nick black
ce965fcbcd
ncmenu: add unroll and rollup #179
2020-02-02 12:57:32 -05:00
nick black
2118c5d81a
menu: draw background only onto header row #179
2020-02-02 12:57:32 -05:00
nick black
db53b36d94
ncmenu: calculate height based off sections #179
2020-02-02 12:57:32 -05:00
nick black
7708ec5c96
notcurses_stop_minimal() for use from signal handler #313
2020-02-02 06:26:24 -05:00
nick black
31a07dab33
menu: extend across width of screen #179
2020-02-02 06:02:57 -05:00
nick black
015ce4764e
ncmenu: set up the section headers #179
2020-02-02 05:13:40 -05:00
nick black
fdc541c6e5
copy over menu elements #179
2020-02-02 05:13:40 -05:00
nick black
54c57b3487
s/CELL_STYLE/NCSTYLE/ throughout
2020-02-02 05:13:40 -05:00
nick black
8984422f1e
basics of menu #179
2020-02-02 05:13:40 -05:00
nick black
6e642f1749
more menu work #179
2020-02-02 05:13:40 -05:00
nick black
321ea908f1
Fix up BGR/RGB reversal in blitter #311
2020-02-02 02:22:38 -05:00
nick black
25ce448889
rgba_blit()/bgrx_blit() #311
2020-02-02 02:20:01 -05:00
nick black
f3af2b8760
Convert mbtowc to mbrtowc everywhere #308
2020-02-01 17:21:13 -05:00
nick black
44f80694a3
selector: bind with ┴ where appropriate #309
2020-02-01 14:24:56 -05:00
nick black
4716b5f495
selector: bind riser to body #309
2020-02-01 14:01:20 -05:00
nick black
20e4c106a2
FreeBSD build fixen #304
2020-02-01 04:12:54 -05:00
nick black
4af5c79b2a
notcurses-input: cast input to wchar_t for output
2020-02-01 04:01:06 -05:00
nick black
39f99dfa4a
Selector: final styling touches #302
2020-02-01 02:25:00 -05:00
nick black
c1664170fd
selector: bgchannels only inside the body #302
2020-01-31 21:25:21 -05:00
nick black
eab1ce0262
selector: align secondary/footer #302
2020-01-31 20:38:58 -05:00
nick black
45235fc076
Selector: add arrows if there are more options #302
2020-01-31 19:58:55 -05:00
nick black
fad612bd2f
Use column width in selector calculations #302
2020-01-31 19:51:14 -05:00
nick black
43ce3e5ccb
selector: don't FPE on empty itemlist #302
2020-01-31 02:49:34 -05:00
nick black
05a83e54c7
Selector: inverse rather than reverse video #302
2020-01-31 00:55:25 -05:00
nick black
fe51f93a4c
selector: destroy ncplane on exit
2020-01-31 00:28:34 -05:00
nick black
77432ee1c5
set ~ICRNL with termios.c_iflag #303
2020-01-31 00:26:52 -05:00
nick black
99b79cbf4f
ncselector_create: fix base_egc fuckup #302
2020-01-31 00:02:00 -05:00
nick black
6a4cfcde95
selector: always rotate options #302
2020-01-30 23:05:30 -05:00
nick black
d30df23f43
selector: support non-zero default idx #302
2020-01-30 22:42:25 -05:00
nick black
09d2e35372
C++ wrappers: kill Visual::destroy_plane() #299
...
ncvisual_destroy() already calls ncplane_destroy() when
appropriate. There's never a need for the C++ wrappers
to explicitly free the Visual's underlying Plane. With
this change, valgrind no longer complains upon exiting
notcurses-view(1).
2020-01-30 22:17:07 -05:00
nick black
a57f0f234c
selector styling
2020-01-30 22:16:03 -05:00
nick black
e4dcccc409
selector: implement scrolling
2020-01-30 19:54:20 -05:00
nick black
3991b3e53a
selector: implement maxdisplay. unit tests!
2020-01-30 19:37:21 -05:00
nick black
ac2b951fa9
ncselector_selected(), unit tests
2020-01-30 16:40:02 -05:00
Nick Black
da0283ac25
Selector widget #166 , subtitles #95 ( #301 )
...
Get rid of annoying empty line in notcurses-view (and ncvisuals at offsets in general)
Implement most of the Selector widget. Need to add styling and scrolling still. #166
Reenable ubuntu focal build
Subtitles! We decode them, and display them in notcurses-view. If ncvisual_simple_streamer() is provided an extra ncplane, it will use it to display subtitles. #95
We now build Python by default, as things are working much better.
ncplane_set_base() now takes channel, attrword, and EGC, so you can usually avoid having to set up and release a cell. ncplane_set_base_cell() takes over duty from ncplane_set_base() for ease of conversion.
notcurses-demo and notcurses-view now both accept a 0 for delay multiplier, meaning 'go as fast as you possibly can'. Very small multipliers (e.g. 0.00001) no longer cause floating point exceptions.
fading routines no longer cause floating point exceptions on very small timescales.
2020-01-30 08:55:01 -05:00
nick black
345ed60abd
Improve smcup handling
...
If we're going to issue smcup to switch to the alternate screen,
flush immediately after doing so. Otherwise, subsequent output
prior to the first render can be swept away. See growlight issue
75: https://github.com/dankamongmen/growlight/issues/75 . In the
demo, we now get this output either (a) at the beginning (if smcup
is inhibited) or (b) at the end (default). Only perform our pause
on startup in case (a).
2020-01-29 00:25:18 -05:00
Marek Habersack
cd6d1e16d1
Properly clean up when NotCurses instance is destructed
...
We need to set `_instance` to `nullptr` or we'll leave a dangling
pointer.
2020-01-27 02:18:05 -05:00
nick black
4e19d51e57
geom: tighten things up a bit
2020-01-27 00:58:34 -05:00
nick black
652cfbc9f1
more dumb geometry block tricks
2020-01-25 22:35:26 -05:00
nick black
c3d4ac8caa
geom.c: PoC fun with geometric shapes
2020-01-25 22:21:47 -05:00
nick black
c04a68896c
README: add FAQ entry about c++ scopes
2020-01-25 11:06:08 -05:00
nick black
24fc43fab5
demo: support 100k+ frames in HUD
2020-01-25 08:03:58 -05:00
nick black
2cad2bbfd5
direct mode: properly initialize termcaps #77
2020-01-25 07:17:45 -05:00
nick black
81b58234ee
direct mode: reset terminal, check vals #77
2020-01-25 01:37:51 -05:00
nick black
1fd0563093
Direct mode with its own type #77
...
Introduce the new type 'ncdirect', a stripped-down 'notcurses'
suitable for inline modification of regular output. Used the new
type because otherwise there were going to be if(directmode) checks
everywhere. Direct mode encompasses only colorizing and styling.
Add new man page notcurses_directmode(3). Add new section to README.
Add new PoC using direct mode RGB. Update demo table summary to use
direct mode.
2020-01-25 01:13:04 -05:00
nick black
83e40d3472
direct mode RGB PoC
2020-01-24 23:29:13 -05:00
nick black
ceb15e4e8f
demo summary: PoC direct mode with color #77
2020-01-24 04:06:41 -05:00
nick black
3d4e157af6
direct-mode coloring #77
2020-01-24 04:06:41 -05:00
nick black
d8849bb4b1
uniblocks: add a few missing blocks
2020-01-24 04:06:41 -05:00
nick black
e899f8b7ed
demo summary: also print real FPS
2020-01-24 04:06:41 -05:00
nick black
2ea10d4b28
Remove clear_screen_start option
...
As it turns out, we can't portably load the initial terminal contents
(there are some hacks of various EXTREME nature, but none of them are
worth it for the rather limited benefit). The O(1)-time damage
inference requires knowledge of what was previously present to
inibit unnecessary draws. We would then need some special cell value
indicating "not yet written to" to distinguish a purposeful null
cell from an initial cell. Again, we could do this, but for what value?
Finally, the idea of clearing new area on SIGWINCH was always flawed,
as we can't do that from a signal handler.
With the advent of direct mode #77 , the reason for this largely goes
away in any case.
2020-01-24 04:06:41 -05:00
nick black
78650e00da
replace gibberish with einstein field equation RHS
2020-01-22 22:07:23 -05:00
nick black
55699c6a3c
render summary: autoscale all times
2020-01-22 08:28:56 -05:00
Marek Habersack
75a90461dd
Add C++ bindings
2020-01-22 06:47:43 -05:00
nick black
22f71c9a80
implement quantize_rgb8() for linux console #288 #4
2020-01-21 00:43:36 -05:00
nick black
48025cd794
report Alt in ncinput #228
2020-01-20 00:10:18 -05:00
nick black
be3a53f3cf
input: function key defs through kf59
2020-01-20 00:00:09 -05:00
nick black
1aa462385e
detect ctrl+letter, prep ncinput appropriately #228
2020-01-19 23:45:55 -05:00
nick black
4ece4a9075
demo: skip demos which we don't have support for
2020-01-19 06:09:59 -05:00
nick black
b7bc693ef7
i'm WarMECH, bitch
2020-01-19 04:39:15 -05:00
nick black
ec5e857a6c
palette256: fix up unit tests
2020-01-19 04:04:13 -05:00
nick black
004f5ca1ea
Note copyright of Mark Ferrari for jungle demo
2020-01-19 02:31:08 -05:00
nick black
bee5be9d80
chunli: finalize out
2020-01-19 02:30:46 -05:00
nick black
19db2a5675
still more chunli
2020-01-19 00:50:38 -05:00
nick black
cffd08418a
more chun li
2020-01-19 00:04:57 -05:00
nick black
bb0cdb2b88
demo: add demo_nanosleep() for HUD
2020-01-18 21:38:02 -05:00
nick black
1e403123e1
s/notcurses_render/demo_render/g pass
2020-01-18 21:17:05 -05:00
nick black
6a2dae0279
box: punch it up a little
2020-01-18 20:58:05 -05:00
nick black
eb8ecb2433
jungle: center image, use demo_render()
2020-01-18 20:50:14 -05:00
Nick Black
3d612aebcb
ruins color cycling demo #253 ( #287 )
...
* palette_set: update pal256 damage map #230
* drone: use newest builders
* palette: send oc on exit for color reset #285
* palette_new: copy existing palette in #230
* Python: use checkRGB everywhere
* more palette unit testing
* add ncplane_set_*_palindex()
* render fg palindex #230
* palette index color is out of 1000
* jungle demo works #253
2020-01-18 20:42:29 -05:00
nick black
02698ebbd1
add jungle demo
2020-01-18 16:08:25 -05:00
nick black
03e3c5406d
interrogate_term: check CCC if initc is defined
2020-01-18 16:06:24 -05:00
nick black
f450c1261a
libav: don't molest user pointer
2020-01-17 12:19:32 -05:00
nick black
c23b4196a2
notcurses-view: get status line back, urk
2020-01-17 12:19:25 -05:00
nick black
3e9347a339
palette color: unit test for alpha clear
2020-01-17 11:49:21 -05:00
nick black
f5e151e9a0
render+raster palette-index support #230
2020-01-17 11:34:25 -05:00
nick black
b02acd8631
Curry a void* to fader callbacks #284
2020-01-17 09:30:53 -05:00
nick black
d95069fb1e
fallin: more blocks, many more #283
2020-01-17 09:02:26 -05:00
nick black
ed783fe421
drop ncplane_erase() from slider
2020-01-17 08:35:28 -05:00
nick black
98fe08727b
fallen: open the curtain on patents.png
2020-01-17 08:35:28 -05:00