Commit Graph

650 Commits

Author SHA1 Message Date
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