Commit Graph

2367 Commits (74b44506b68ff0abd74d89f72177670e392bfd3f)
 

Author SHA1 Message Date
nick black 74b44506b6 vizdirect: use all three scaling types #759 4 years ago
nick black b698efb953
ncdirect: prefer provided fp, iff it's a tty #752 4 years ago
nick black e5c9168523
notcurses_init(): dup() ttyfd so we can always close() it 4 years ago
nick black b4490dfc97
1.5.4->1.6.0. describe new TTY interactions 4 years ago
nick black f7fc665c13
Acquire and use ttyfd properly in ncdirect #752
When we don't have an actual terminal in ncdirect, return
placeholder 80x24 for ncdirect_dim_y()/ncdirect_dim_x(), but
don't go querying e.g. a redirected file for its dimensions.
Similarly, only request info about cursor position from a true
TTY (we're otherwise likely to hang, or at best get meaningless
data). Rewrite 'direct' PoC to use ncdirect_dim_*().
Add tty_emit(). Closes #752.
4 years ago
Nick Black 415d4b813f
Tight work on unit testing, controlling tty vs output fd (#758)
* Some things go to the FILE* we're provided. Some can only go to a controlling terminal. Check to see if the FILE we're given is a TTY. If not, open up /dev/tty #752.
* term_emit(): fflush() can return EAGAIN. Loop on it to eliminate a rare error on shutdown that particularly affected unit tests (where we start and shut down Notcurses many times in a row).
* sgr poc: check return value of setlocale()
* drone: run all unit tests
* CMake: add some tests using PoCs
* ncneofetch: print even small palettes
4 years ago
nick black 2370329077
loop on fflush()->EAGAIN
sometimes when we call fflush(ttyfp), we get EAGAIN. we can
loop on this and force the flush. without it, we (fairly rarely)
get errors on shutdown, sometimes manifesting as unit test
failures (especially in the rust wrappers). #742
4 years ago
nick black c0f12f4623
tester: pass INHIBIT_SETLOCALE|NO_ALTERNATE_SCREEN 4 years ago
nick black 6b5fd0d009
ncdirect_render_image(): handle newlines properly
in ncdirect_render_image(), we want to emit newlines if and
only if we did not hit the right border. we want to emit
cuds (cursor downs) if and only if we've hit the bottom
border. this resolves all mysteries of blank lines, eliminating
a FIXME. it also fixes ncneofetch's image display on very
wide terminals. closes #756. also removes the display semaphore
in ncneofetch, using a more natural pthread_join().
4 years ago
nick black 31c584e2e6 ncneofetch: work no matter y offset, done! #750 4 years ago
nick black ef9e50be33 beef up 'what it is' a little; get our swag on 4 years ago
nick black 27c150b855 reorder introduction 4 years ago
nick black 8fedec050c ncneofetch: draw infoplane with notcurses + margin_t #750 4 years ago
nick black 93ff1d7789 ncdirect: open an fd for the controlling terminal
Use ctermid(3) to identify the controlling terminal device.
When one exists, open(2) it up, and retain this file descriptor
across the life of the ncdirect context. Allow a failure, since
not everything requires such an fd. This will be used for tty-
specific activity such as ioctl()s and escape sequences
involving terminal replies (such as get absolute cursor
position). #752
4 years ago
nick black cda4253a0a ncneofetch: sem_post() on error path 4 years ago
nick black a8db078689 ncneofetch: default background on palette 4 years ago
nick black 6be683c83b rebase off master 4 years ago
nick black 9ae1c6b3df ncdirect_render_image: fix arguments to rgba_blitter_low #751 4 years ago
nick black 4e04c3ae8f ncneofetch: fill out first line of infoplane 4 years ago
nick black 45fbbdb4ef ncneofetch: align output #750 4 years ago
nick black 33cb21d917 ncdirect_printf_aligned() added #750 4 years ago
nick black 4889e9b391 ncneofetch: scale 4 years ago
nick black 60619fc4b9 ncneofetch: move back to NCSCALE_SCALE #750 4 years ago
nick black 7eb70dad71 ncneofetch: display() in direct mode #750 4 years ago
nick black 7a022a4c76 ncneofetch: show palette via direct mode #750 4 years ago
nick black 452fdc671d
intro: move legend into main plane 4 years ago
nick black 4863c7e3df
ncdirect_image_render: restore NCBLIT_2x2 #751 4 years ago
nick black 0586adbe24
ffmpeg: disable debugging cruft erp 4 years ago
nick black 8a2f86ea16 vizdirect: use DFSG-safe media only #725 4 years ago
nick black 85893fb927 NEWS entry for ncdirect_render_image() 4 years ago
nick black fd064b0f2a ncvisual_render_image(): working! #725 4 years ago
nick black 40d0efcece ncdirect_render_image(): just about working #725 4 years ago
nick black 277cbc9c16 ncdirect_render_image(): getting closer #725 4 years ago
nick black 3bb789eb74 refactoring to prep for ncdirect_visual 4 years ago
nick black 229079696d ncvisual refactoring to support ncdirect 4 years ago
nick black 052e10ebe1
subproc: fix up USING_PIDFD definition 4 years ago
nick black b9dc9a7f1c
subprocs: simplify __linux__ check 4 years ago
nick black 32b1f3937c
add FAQ entry about xterm's eightBitInput resource #735 4 years ago
nick black dda6d2f596
subproc: check for __NR_clone3 4 years ago
nick black 419dc1efb6
remove APKBUILD, it's been submitted to Alpine 4 years ago
nick black 8310b687ac
demo: enable FPS plot by default #744 4 years ago
nick black ae1b45efbf
plot: make legend glyph-transparent #744 4 years ago
nick black 9a5a4a65ca demo: enable HUD by default #743 4 years ago
nick black 8da3e6f968 HUD: fully glyph-transparent, looks great #743 4 years ago
nick black ba1c9868e5 HUD: glyph-transparent inter-column gap #743 4 years ago
nick black 64857e12ac HUD: glyph transparency on frame count #743 4 years ago
nick black 96575fb402 hud: glyph-transparent right side 4 years ago
nick black 1cbf98cb6c
notcurses_init: allow US-ASCII, used by FreeBSD 4 years ago
nick black 3d6585e445
Trigger clone3()+waitid() path off definition of P_PIDFD #733 4 years ago
nick black 6ab11e679f
v1.5.3 4 years ago