Commit Graph

234 Commits (e6450fdde418fe6f91b80984884fabaa47c82529)

Author SHA1 Message Date
nick black f67091794a
change python/setup.py version in release.sh 3 years ago
nick black de75f124a0 sanity check CMakeLists.txt pre- and post-sed 3 years ago
nick black 5879c8a523
rustdoc-update-gh-pages: git pull at end 3 years ago
joseLuís f401d85733 [rust] update function-summary data & minor fix 3 years ago
nick black 06c66c5911
v2.4.7 3 years ago
nick black 845ab5cdf9
Fix 'Name' fields in pkgconfig files 3 years ago
nick black 9ed9f6bfc0 add USE_READLINE cmake flag 3 years ago
joseLuís 125ab361e6 [rust] add pending functions
- include new functions: ncdirect_stream, ncdirect_supported_styles, ncdirect_styles, nccell_width, ncinput_nomod_p.
- account for functions: ncplane_halign, ncplane_valign.
- rename ncpalette_get_rgb and ncpalette_set_rgb to ncpalette_get_rgb8 and ncpalette_set_rgb8 respectively.
- minor formatting fixes.
3 years ago
joseLuís bb07a995d5 [tools] update function-summary data 3 years ago
nick black e6f226452d
fix erroneous comment in NEWS 3 years ago
nick black 8cf235e6b7
start on a GUIX module #1315 3 years ago
Nick Black cd2b5de5fa
Panblitter ncplane_as_rgba() (#1697)
ncplane_as_rgba: genericize across blitters

ncplane_as_rgba() previously was implemented explicitly
in terms of NCBLIT_2x1. it now uses the `egcs` field of the
`blitset`. this supports NCBLIT_2x2 and NCBLIT_3x2 in
ncplane_rgba(). Closes #1490.
3 years ago
nick black 92fcbce415 support DEBVERSION in debrelease.sh 3 years ago
nick black 0d70d73100
Write Requires.private in pc files based off discovered TERMINFO_LIBRARIES #1635 3 years ago
nick black 052b9148e7
pkgconfig: move stdc++ dep from notcurses-core.pc to notcurses.pc #1635 3 years ago
nick black 06e7391b89
release.sh: change both instances of the version in index.html 3 years ago
nick black 1a3df54ab9
release.sh: properly mangle index.html 3 years ago
joseLuís 88c89f2d30 [rust] add ncvisual_inflate; update function-summary; fixes
- add ncvisual_inflate function
- update function-summary script & related data
- update cell inner comments.
- fix several doc inner links.
3 years ago
joseLuís 1afe6f162e rust: add new pixel geometry functionality
- add NcPlane method .pixelgeom.
- upgrade full-capabilities example.
- fix NcVisual method .blitter_geom docs.
- rustfmt
3 years ago
joseLuís 8e8c20468b rust: update function-summary
- add PENDING-changes.md file to keep track.
- remove output-* folder, no longer needed.
- move old bindgen*rs and changes*txt files to history/.
3 years ago
joseLuís 7b9a38d2f1 rust: update function-summary system of scripts
- update script `function_summary.sh`
- new script `compare_outputs.sh` to compile the differences between versions
- create changes files that summarizes diffs between versions
- remove outdated ouput folders
3 years ago
nick black 2dcca32cd8
debrelease: support other distributions 3 years ago
nick black 5d57cd3c58
release.sh: leave objects out of doc tarball #1412 3 years ago
nick black 23c6b13ecf release.sh: fix up remaining context-free regexes #1340 3 years ago
nick black 3dd543d72b release.sh: make most regexes context-sensitive #1340 3 years ago
nick black 0a6056fde4
reproduce MIT license in ncart.c #1323 3 years ago
nick black 2cddb73962
add details to pkg-config Descriptions 3 years ago
nick black 3aae597ddd
add notcurses-core to Requires for rust linking 3 years ago
nick black 07ec5206cb
install notcurses-core.pc pkg-config support 3 years ago
nick black feb592e590
add a note about static linking #1306 3 years ago
nick black f638b5f12b
use Requires.private for static linking in pkg-config #1306 3 years ago
nick black 9cf2925f47
prepare NotcursesCoreConfig.cmake #1301 3 years ago
nick black a5244632da
NotcursesConfig.cmake: list -lnotcurses-core #1301 3 years ago
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.
3 years ago
nick black c4f61c528d
ncneofetch: center neologo #1260 4 years ago
nick black aab28aadb4
ncneofetch: hook up ncart logos #1260 4 years ago
nick black 8acc6ea412
neofetch-ripper: escape backslashes correctly in logo text #1260 4 years ago
nick black 250d50134e
neofetch-ripper: build usable C code 4 years ago
nick black b5bace8aa1
neofetch-ripper: don't emit duplicates #1260 4 years ago
nick black 1a597f2a50
neofetch-ripper: fix alignment 4 years ago
nick black 818e0941d6
ncneofetch: preserve Dylan Araps's copyright 4 years ago
nick black d85aba798f
add neofetch-ripper #1260 4 years ago
joseLuís b6fcd2783d tools: update funtion-summary.sh & generated data 4 years ago
joseLuís 1b5880c5d9 rust: use sh for the rust doc build script 4 years ago
joseLuís a60a82ded9 rust: new script to update docs on release #1125 4 years ago
nick black e60a7aa463
add stat for notcurses_refresh() 4 years ago
nick black 3f9d87f5e6 include data model on web page 4 years ago
Marek Habersack 9135663529 [CMake] Restore old way of importing Notcurses into a cmake project
Partially reverts: c5c9432ac0
Context: https://github.com/dankamongmen/notcurses/pull/1146

The above commit implemented the much more convenient way of finding and
using a package from CMake, however it broke compatibility with the way
id had been before, which defined various `Notcurses_*` variables.

Revert the `Notcurses` component to the old way and add support for
`Notcurses++` in the same fashion.

Perhaps one day we should think of implementing `find_package` support
by way of a module, which should make it possible to have the cake and
eat the cake. One day.
4 years ago
Marek Habersack c5c9432ac0 [Misc] A hodgepodge of tiny changes
CMake:
  Simplify cmake target+version config generation and make it actually
  work.  With the changes it is now possible to detect and use
  `Notcurses` in the following way:

     find_package(Notcurses REQUIRED)
     ...
     target_link_libraries(myapp PRIVATE notcurses::notcurses)

  Also, added the same CMake configuration for `Notcurses++`, to be used
  in the following way:

     find_package(Notcurses REQUIRED
     find_package(Notcurses++ REQUIRED)
     ...
     target_link_libraries(myapp PRIVATE notcurses++::notcurses++)

Docs:
  `notcurses_cell(3)`: `cell_styles_{on,off} -> cell_{on,off}_styles`
  and `cell_load_simple` -> `cell_load_char`

C++ API:
  * Plane: added constructors taking `ncplane_options const&` instead of
    the multitude of individual parameters
  * Plane: drop `struct` when `ncplane_options` is used.
  * Plane: added `strdup` (`cell_strdup`)
  * Plane: added `extract` (`cell_extract`)
4 years ago
nick black e3b2c91999
add NOTCURSES_VERSION_COMPARABLE #1131 4 years ago
joseLuís 58c3d66c15 rust: add ncpile funcs & upd function-summary
- add functions ncpile_create, ncpile_render, ncpile_rasterize
- add new script tools/blame-nick.sh
- upd script tools/function-summary.sh and the generated data
- upd bindgen version
4 years ago
nick black 7b3c391643 Add more version-related defines (#1131)
Add NOTCURSES_VERNUM_* as integer preprocessor definitions of
the four version components. Add NOTCURSES_VERNUM_ORDERED as
a 32-bit totally comparable integer. Preserve the definitions
of NOTCURSES_VERSION_*, defining them in terms of VERNUMs.
Don't use TWEAK in version, since it usually isn't defined.
4 years ago
nick black 15892627db
update tools/release.sh for new python path 4 years ago
nick black 0097d76ab4
deal by hand with github-release filename changes 4 years ago
nick black 874026829e
release: note githubrelease dependency 4 years ago
joseLuís 446d2179d6 update function-summary.sh stats; remove oldest stats 4 years ago
nick black da1b8d1d53
install version.h #1054 4 years ago
nick black 68dbfeafc8
add version unit test #1054 4 years ago
nick black b809d5c7c5
s/USE_MULTIMEDIA/NOTCURSES_USE_MULTIMEDIA/g #1054 4 years ago
nick black 4360f3bec8
release: upload doc package to github #981 4 years ago
joseLuís 38314d5e76 update function-summary.sh stats 4 years ago
nick black dd4b97e06e
drone: use 2020-08-31a builders 4 years ago
nick black c834e2a78d
cell_simple_p(): fix for htole() #979 4 years ago
nick black e1863317a3
CMake: conform to cmake capitalization conventions 4 years ago
nick black fd9ff4ebe6 CMake: same as it ever was 4 years ago
nick black a413fb8bc9 notcurses->Notcurses for CMake module 4 years ago
nick black 589c088b64
debrelease.sh: push it out 4 years ago
nick black 1b8706ab73
release.sh: use new webserv path 4 years ago
joseLuís 78a863790a improve function-summary.sh, encapsulate, tidy up 4 years ago
nick black 02f59d25c2
release.sh: clean up tarball signature 4 years ago
nick black 026b94969d cffi heap allocations are zero-initialized #942 4 years ago
joseLuís f24bdd8249 function-stats-output/ 4 years ago
Nick Black 73dc0a7d69
Zoo 2, electric boogaloo (#939)
* Reimplement the widget zoo demo. The previous PoC
  was a multithreaded monster with behavior dependent
  on screen geometry. Replace it with a single thread state
  machine. Closes #936.
* Support titles for ncplot. Adds title to the ncplot_options
  struct, which may be NULL. Closes #941 .
* Properly color ncplot according to maxchannels and
  minchannels. Closes #940
* Add tools/function-table.sh script for generating public API list.
4 years ago
joseLuís 80c66d5d7a tools/function-stats.sh (see #905) 4 years ago
nick black 7f561e8571
tools/function-table.sh #905 4 years ago
nick black fbfc47f729 release.sh: install+uninstall 4 years ago
nick black 5d1adda150
python: notcurses.py needs stylemask, not attrword 4 years ago
nick black 9e6e884a49
release.sh: correctly switch directory to python 4 years ago
nick black ddcb5ca60c
release.sh: only one level of rust 4 years ago
nick black e897de3700
v1.6.13 4 years ago
nick black 490f517bd9
tools/release.sh: reflect rust unification #883 4 years ago
nick black 1ada631e94 purge rust/notcurses 4 years ago
nick black 7fc761296f
release: fix twine syntax 4 years ago
nick black 9443b2f316
release: supply -s -udankamongmen to twine 4 years ago
nick black f5f9808d80 install notcurses-pydemo.1 as part of python #836 4 years ago
nick black dc1ddaf204
release: FIXME on debrelease.sh github-asset call 4 years ago
nick black d59ff71a6c
remove cell_noforeground_p() from python 4 years ago
nick black 19207ffcdd
release: automate debian build 4 years ago
nick black 1564475cb5
release: combine github-asset into github-release 4 years ago
nick black 92fb1647bc
release: remove remote docs before replacement 4 years ago
nick black 54d0420161
tools/release: automate release process #826 4 years ago
nick black 3ef1a3a07d
add notcurses_version_components() 4 years ago
nick black fd83cc8639
mojibake: add all unicode 13 emoji via CLDR order #770 4 years ago
nick black 419dc1efb6
remove APKBUILD, it's been submitted to Alpine 4 years ago
nick black 5815a65fb5
ncsubproc: properly catch exit on non-pidfd path
When we don't have a pidfd available on which to poll(2) (this
is true of Linux pre-5.3, and FreeBSD), we can't rely on a
child death breaking our poll loop. Instead, in this case launch
a second thread, which just sits on a blocking waitpid(2). If
it gets an exit, it calls the completion callback, triggering
the teardown. Closes #728, and ought lets us run the test suite
on FreeBSD.
4 years ago
nick black ee690c12df
add APKBUILD for Alpine Linux 4 years ago
nick black 84ae45ef39
remove all libsixel crap #200 4 years ago
Nick Black ebcba82d4b
Fully general ncvisual layer (#647)
This represents an essentially complete rewrite of ncvisual and associated code. It had two major goals:

Improve the ncvisual API based off lessons learned, pursuant to the upcoming API freeze. In particular, I wanted to:

decouple ncvisuals from ncplanes. It should be possible to render a ncvisual to multiple planes, with different scaling each time. It should be possible to create an ncvisual without a plane, etc.
normalize the various ways of constructing an ncvisual -- file, memory, plane, etc.
Support multiple blitters, from 7-bit ASCII to Sixel. This required writing the blitters in several cases, and they're not yet in their final implementations (but the API is fine)
I have not yet unified Plots and Visuals, and might not, given that the Plot code works fine. We could at this point implement Plots in terms of Visuals, though -- the blitter backend range has been unified. Sixel is not yet implemented, though it is listed.

There is a new POC tool, blitter. It renders its arguments using all possible blitter+scaling combinations. Another new POC, resize, displays its argument, then resizes it to the screen size and displays that, explicitly making use of ncvisual_resize() rather than a scaling parameter to ncvisual_render().

This also eliminates some memory leaks and bugs we were seeing in trunk, and brings in Sixel scaffolding.

The C++ wrapper will also need patching back up; I cut most of it down while wrestling with this crap, urk.

Closes #638, #562, and #622.
4 years ago
Nick Black 478ebadd64 Revert "Change DSO versioning scheme"
This reverts commit 51205551f5.
4 years ago
Marek Habersack 51205551f5 Change DSO versioning scheme
This commit introduces the same shared library versioning scheme as used
by the SDL library.  The advantage is that different versions of
notcurses can be installed alongside each other (which is not an
unlikely scenario, as SDL itself certifies) and that, if the versioning
protocol is followed, any change to ABI will produce a DSO whose name
will not break any applications linked against any previous version.
4 years ago