Commit Graph

4067 Commits

Author SHA1 Message Date
nick black
421f450526
visual_implementation: use weak symbol rather than library constructors #1301 2021-01-19 04:45:56 -05:00
nick black
bb3f9c1836
move c++ POCs into src/pocpp 2021-01-18 18:40:55 -05:00
nick black
c1ea096d31
set CMAKE_LINK_WHAT_YOU_USE to ON #1300 2021-01-18 17:37:17 -05:00
nick black
05193af667
remove extraneous USE_MULTIMEDIA check #1300 2021-01-18 17:18:47 -05:00
nick black
899ef3e62e
ncdirect_canopen_images: use notcurses_canopen_images() #1300 2021-01-18 17:12:27 -05:00
nick black
1631818784
rename notcurses-view to ncplayer #1299 2021-01-18 14:22:54 -05:00
Nick Black
9112185657
Split up notcurses/notcurses-core (#1297)
Extract `libnotcurses-core` from `libnotcurses`. The former contains everything except multimedia code. The latter contains multimedia stuff (a wrapper around FFmpeg or OIIO). If built with `-DUSE_MULTIMEDIA=none`, there will not be any `libnotcurses.so` generated. `libnotcurses.so` uses library constructors/destructors to insert its implementation into the `ncvisual` stack at runtime. Users linking `-lnotcurses` will get the full implementation; users linking `-lnotcurses-core` only will get the stack less multimedia code.

The upshot of this is that someone can compile/install only `libnotcurses-core`, and a program linked against it will work just fine. This eliminates the need to install the full (large) dependency stack of the multimedia code unless necessary. This will hopefully be useful for e.g. installers etc. Closes #339.
2021-01-18 14:10:04 -05:00
nick black
c62a3f7464
tetris: much better color for background 2021-01-17 11:15:11 -05:00
nick black
dd6b4f8ff5 INSTALL: add missing libunistring-dev, doctest-dev #1294 2021-01-17 09:38:42 -05:00
nick black
8077fc47f3
view: add -V to usage() #1266 2021-01-16 23:22:35 -05:00
nick black
60cce801b5
add INSTALL.md #1294 2021-01-16 19:57:52 -05:00
nick black
559e274aa8
add recommended terminfo for putty #1295 2021-01-16 18:39:24 -05:00
nick black
b48d84b968
TERMS: use emoji for checkboxes/no 2021-01-16 18:21:54 -05:00
nick black
a0c700da86
TERMS: remove bce column since we don't use bce 2021-01-16 18:10:32 -05:00
nick black
97ccd0eee9
add some terminals to TERMS.md #1295 2021-01-16 18:07:50 -05:00
nick black
ccf124ddb9
clean up TERMS.md #1295 2021-01-16 17:54:22 -05:00
nick black
14c64a2aa2
uniblock demo: set pbar background to 0 2021-01-15 06:06:42 -05:00
nick black
3ecdde74d0
v2.1.5 2021-01-15 05:14:07 -05:00
nick black
48f904c5dd
if TERM contains 'xfce', sextants are go 2021-01-15 05:12:13 -05:00
nick black
99ef8a02e5
animate demo: cycle through glyphs #1263 2021-01-15 04:45:04 -05:00
nick black
e4ee96e698
animate demo: cycle through sequences #1263 2021-01-15 04:20:49 -05:00
nick black
0139f25a9c
animate demo: kill outer loop #1263 2021-01-15 04:06:00 -05:00
nick black
a5c0eedec4 animate demo: chew up the end #1263 2021-01-15 03:31:52 -05:00
nick black
22ecc09dc0 fully accurate determine_totalmoves #1263 2021-01-15 03:31:52 -05:00
nick black
57044946ad animate demo: adaptive timing #1263 2021-01-15 03:31:52 -05:00
nick black
40a3c106bf animate demo: use full length of string #1263 2021-01-15 03:31:52 -05:00
nick black
432de7a8ce animate demo: use background colors #1263 2021-01-15 03:31:52 -05:00
nick black
1ff04ee7d5 animate demo: clean up end 2021-01-15 03:31:52 -05:00
nick black
2c481c6449 TERMS: add wezterm #1288 2021-01-15 03:31:52 -05:00
nick black
17e015e9a0 add all current cycles to animate, kill geom PoC 2021-01-15 03:31:52 -05:00
nick black
5b1602606e animate demo: get the movement completely working 2021-01-15 03:31:52 -05:00
nick black
9acf5e6a2e animate demo: outer circle / closing logic 2021-01-15 03:31:52 -05:00
nick black
80a3727b83 animate demo: begin work on pathfinder 2021-01-15 03:31:52 -05:00
nick black
655cafa69d plan out animate demo 2021-01-15 03:31:52 -05:00
nick black
a6ddb6ed2e plot out animate demo #1267 2021-01-15 03:31:52 -05:00
nick black
5dfd0f94eb start replacing allglyph with animate #1263 2021-01-15 03:31:52 -05:00
nick black
1108ebb5b6
Fix up some subtle pile issues
ncplane_destroy() needs to call ncplane_reparent_family(), not
ncplane_reparent() as it was doing (closes #1291). ->absy and
->absx actually are absolute; return them directly for an O(1)
ncplane_abs_yx() (down from O(N), huzzah). Add some unit tests
related to destroying and reparenting (#1286). Add ncplane_abs_y()
and ncplane_abs_x(), document them, etc.
2021-01-15 00:32:55 -05:00
nick black
7932859b50
unit test for position update following reparent #1286 2021-01-14 23:17:24 -05:00
nick black
6cf7eca50f
unit tests for ncplane_abs_yx() #1286 2021-01-14 23:09:22 -05:00
nick black
0e8f7dfbe7
implement ncplane_abs_yx() #1286 2021-01-14 23:06:43 -05:00
nick black
1c0a623b8b
document new function ncplane_abs_yx() #1286 2021-01-14 23:06:43 -05:00
nick black
5a1df02f01
Use runtime wcwidth() to check libc
We've been using #ifdefs and such to check for libc
Unicode 13 support at compile time. Instead, execute
a wcwidth() using a sextant. If it comes back -1, the
libc lacks support; disable sextants. Otherwise, let
it go. This ought allow us to support sextants on BSD
as soon as it has support; it furthermore allows us to
properly disable them on Linuxes lacking such support.
Closes #1289.
2021-01-14 15:57:18 -05:00
nick black
fa3c17abb9
freebsd: don't use sextants, no libc support #1287 2021-01-13 05:49:57 -05:00
nick black
8c508bbb5a
ncneofetch: use freebsd sysctl for cpu info #1284 2021-01-13 05:28:35 -05:00
nick black
a48c149b77
ncneofetch: fall back harder to neofetch logo 2021-01-13 05:11:38 -05:00
nick black
9077bd2ee2
ncneofetch: use big daemon logo on FreeBSD 2021-01-13 05:07:18 -05:00
Nick Black
ca46e52340
readme: work around github rendering problems :/ 2021-01-12 18:55:03 -05:00
nick black
7f98eac236
history: add FOSDEM presentation 2021-01-12 18:49:16 -05:00
nick black
222d5e722d
uniblocks: avoid some problematic glyphs #1285 2021-01-12 05:07:45 -05:00
nick black
b38b2c9fdb
ncneofetch: print explanation for neologo #1260 2021-01-12 04:12:32 -05:00