Commit Graph

3685 Commits

Author SHA1 Message Date
nick black
698540286c ncmenu: move unrolled section on resize #1162 2020-12-01 04:34:22 -05:00
nick black
fc609f9d7d ncmenu: resize and redraw callback #1165 2020-12-01 04:34:22 -05:00
nick black
6124d0e0d9
add link to ncls from man1 index 2020-12-01 04:34:04 -05:00
nick black
76f2353cb4 lock all accesses to notcurses_resize() #1162 2020-12-01 04:17:39 -05:00
nick black
1b1cc291f6 Resolve segfaults/undefined behavior on resize
Consult the new section of HACKING.md for full details. By
performing the resize check in rasterization, we potentially
have too many (3) different geometries at work once we hit
rasterization. Furthermore, we have some pessimal behavior
regarding rendering into enlarged terminals, since we don't
know the new size at render time. Instead, move it to the top
of ncpile_render(), and guard it with a lock (this was in any
case necessary, since the screen geometry can be
shared/mutated concurrently with render operations).
Closes #1162.
2020-12-01 04:17:39 -05:00
nick black
93fef72da8 mention ncls in README.md 2020-12-01 04:17:39 -05:00
nick black
a7c03634c1 thoughts 2020-12-01 04:17:39 -05:00
nick black
9b1207dd5f notcurses_rasterize_inner: receive an ncpile #1162 2020-12-01 04:17:39 -05:00
nick black
c6e06eef29 add some comments to rendering 2020-12-01 04:17:39 -05:00
nick black
192c583aad
try forcing LC_CTYPE, C.UTF-8 if not inhibited #1150 2020-11-30 21:44:37 -05:00
igo95862
ba04f79c44
python: Removed unneccesary comments 2020-11-30 22:21:20 +03:00
joseLuís
e2ec27d413 rust: more tests, refactors & improvements
- add ncplane_putchar_yx & ncplane_putchar static functions
- complete test for channel_default_p
- add more tests for ncplane
- separate tests and constructors into submodules for ncplane and notcurses
- make public FILE_NC & FILE_LIBC
- improve integration tests.
- clean & rustfmt
- add constant NCRESULT_OK, NCRESULT_ERR and use them to refer to
  the NcResult values when appropriate
2020-11-30 20:03:49 +01:00
joseLuís
a4e7513b11 rust: downgrade bindgen & pkg-config #355 2020-11-30 04:02:21 +01:00
nick black
1cfc406496
ffmpeg: error out on avcodec_send_packet error #1156 2020-11-29 13:02:08 -05:00
nick black
9b3d7531bd add igo95862 to COPYRIGHT 2020-11-29 12:50:55 -05:00
igo95862
4489c25297 igo95862's new python bindings 2020-11-29 12:50:55 -05:00
nick black
067aaa9bbb
ncls: cover up some unused-param warnings 2020-11-29 10:47:32 -05:00
nick black
55694ef966 finish ncls #693 2020-11-29 10:44:04 -05:00
nick black
84dc81fee4 ncls: render images in handle_inode() #693 2020-11-29 10:44:04 -05:00
nick black
5335e69b41 ncls: unify within lsContext #693 2020-11-29 10:44:04 -05:00
nick black
bc8905b30c ncls: handle_deref() #693 2020-11-29 10:44:04 -05:00
nick black
41c7dece64 ncls: recurse into directories, when appropriate #693 2020-11-29 10:44:04 -05:00
nick black
c733f33b81 ncls: add -L argument, skeleton for stat() 2020-11-29 10:44:04 -05:00
nick black
65856c37b4 ncls: more command line parameters 2020-11-29 10:44:04 -05:00
nick black
de3944b114 ncls getopt skeleton #693 2020-11-29 10:44:04 -05:00
nick black
b01113941d
is_egc_wordbreak(): portably initialize mbstate 2020-11-29 08:17:04 -05:00
nick black
4b682585b9
reel: don't assert() in tablet draw callback 2020-11-29 08:00:56 -05:00
nick black
c2671b6fef
data model: every plane gets an egcpool 2020-11-29 07:34:45 -05:00
nick black
5868e49c6a
model.dot: combine cellmatrix+egcpool 2020-11-29 07:31:26 -05:00
nick black
911f4eccc4
Merge branch 'master' of github.com:dankamongmen/notcurses 2020-11-28 23:55:45 -05:00
nick black
a24bb1b663
index.html: use text-size rather than h2 2020-11-28 23:55:41 -05:00
nick black
dcde23e74c apply htole() where needed #1130 2020-11-28 23:55:17 -05:00
nick black
03bcd1e01b kill enforce_utf8(), forcing notcurses_canutf8() 2020-11-28 23:55:17 -05:00
nick black
4d524f92bc apply htole() in ncpixel_*() #1130 2020-11-28 23:55:17 -05:00
nick black
253b9582b2
index.html: scale down headers by one 2020-11-28 20:46:59 -05:00
nick black
1f40b0728e link to 2.0 hype video 2020-11-28 20:45:16 -05:00
nick black
48efdeb84f tighten up link to minidebconf 2020-11-28 20:45:16 -05:00
nick black
d5797d84d5 update data model diagram, link to debminiconf talk in history 2020-11-28 20:45:16 -05:00
nick black
3f9d87f5e6 include data model on web page 2020-11-28 20:45:16 -05:00
nick black
465a0ffbcb Improve handling of dot->graph documentation
Remove the pre-rendered model.png, a generated output. Add a
dot target to CMake, predicated on USE_DOXYGEN (since we have
REQUIRED dot in our Doxygen spec). Generate the png in the
output path. Rename stacks to piles in model.dot.
2020-11-28 20:45:16 -05:00
nick black
53e905bb57 USAGE: fix up cell_{on, off}_styles as spotted by grendello 2020-11-28 20:45:16 -05:00
nick black
918520b21e notcurses_metric: reference notcurses_output(3) 2020-11-28 20:45:16 -05:00
nick black
dd8423dff3 embiggen notcurses_metric(3), add unit test #1107 2020-11-28 20:45:16 -05:00
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.
2020-11-28 19:54:21 -05:00
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`)
2020-11-28 17:46:23 -05:00
joseLuís
059007bd50 rust: more improvements
- fix bindings module, by not making public the wrapped bindgen types
- add notcurses_stddim_yx_const()
- fix return types of TODO
- add plane constructor new() wrapping ncpile_create()
- add plane constructor new_bound() wrapping ncplane_create()
- add plane constructor new_termsize() wrapping ncpile_create() with the terminal size
- add plane doc comment
2020-11-28 23:25:06 +01:00
nick black
47d5347f01
run mojibake after normal; it looks cool 2020-11-27 21:07:23 -05:00
nick black
2e78ae1c5e
update logo to notcurses II xray #1144 2020-11-27 20:55:38 -05:00
nick black
4655c9dd13
we want builddef.h from visual-details.h 2020-11-27 20:55:38 -05:00
Marek Habersack
c063ce4e36 [C++] API sync
Added:

  * Pile: new class derived from Plane, which implements all the
    `ncpile_*` calls
  * Plane: `get_parent` (`ncplane_parent`)
  * Plane: protected constructor for use by `Pile` (or other derived
    classes which cannot provide a valid `ncplane*` when invoking parent
    constructor.
  * Plane: `set_plane` for use by the derived classes above.

Changed:

  * Plane: `to_ncplane` is a `const` method now.
2020-11-27 19:35:22 -05:00