mirror of
https://github.com/dankamongmen/notcurses
synced 2025-03-09 09:09:03 -04:00
mention kitty keyboard protocol support #2131
This commit is contained in:
parent
f44d5bb97b
commit
1ace0139ff
@ -85,6 +85,12 @@ Why use this non-standard library?
|
||||
* Portable support for bitmapped graphics, whether using Sixel, Kitty, the iTerm2
|
||||
protocol, or even the Linux framebuffer console.
|
||||
|
||||
* Support for unambiguous [keyboard protocols](https://sw.kovidgoyal.net/kitty/keyboard-protocol/).
|
||||
|
||||
* "TUI mode" facilitates high-performance, non-scrolling, full-screen
|
||||
applications. "CLI mode" supports scrolling output for shell utilities,
|
||||
but with the full power of Notcurses.
|
||||
|
||||
* It's Apache2-licensed in its entirety, as opposed to the
|
||||
[drama in several acts](https://invisible-island.net/ncurses/ncurses-license.html)
|
||||
that is the NCURSES license (the latter is [summarized](https://invisible-island.net/ncurses/ncurses-license.html#issues_freer)
|
||||
|
@ -116,6 +116,9 @@ https://github.com/dankamongmen/notcurses/issues/1117.
|
||||
Kitty is furthermore the only terminal I know to lack the `bce` (Background
|
||||
Color Erase) capability, but Notcurses never relies on `bce` behavior.
|
||||
|
||||
Kitty has introduced an unambiguous [keyboard protocol](https://sw.kovidgoyal.net/kitty/keyboard-protocol/).
|
||||
Notcurses supports this protocol when it is detected.
|
||||
|
||||
### WezTerm
|
||||
|
||||
WezTerm [implements](https://wezfurlong.org/wezterm/escape-sequences.html) some
|
||||
|
@ -478,6 +478,7 @@ block_on_input(tinfo* ti, const struct timespec* ts){
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
return 1; // ? FIXME
|
||||
#else
|
||||
struct pollfd pfd = {
|
||||
.fd = ti->input.infd,
|
||||
@ -488,7 +489,7 @@ block_on_input(tinfo* ti, const struct timespec* ts){
|
||||
pfd.events |= POLLRDHUP;
|
||||
#endif
|
||||
int events;
|
||||
#ifdef __APPLE__
|
||||
#if defined(__APPLE__) || defined(__MINGW64__)
|
||||
int timeoutms = ts ? ts->tv_sec * 1000 + ts->tv_nsec / 1000000 : -1;
|
||||
while((events = poll(&pfd, 1, timeoutms)) < 0){ // FIXME smask?
|
||||
#else // linux, BSDs
|
||||
@ -498,7 +499,7 @@ block_on_input(tinfo* ti, const struct timespec* ts){
|
||||
sigdelset(&smask, SIGWINCH);
|
||||
while((events = ppoll(&pfd, 1, ts, &smask)) < 0){
|
||||
#endif
|
||||
if(errno != EINTR && errno != EAGAIN){
|
||||
if(errno != EINTR && errno != EAGAIN && errno != EBUSY && errno != EWOULDBLOCK){
|
||||
return -1;
|
||||
}
|
||||
if(resize_seen){
|
||||
|
Loading…
x
Reference in New Issue
Block a user