commits
Flush the buffer when calling notify and setTitle
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
When linking lib_c, os.system gets overwritten with std.c. The linux
implementation of std.c doesn't contain the constants we need.
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
This lets us detect kitty graphics.
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
We still need to handle querying for support.
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
There will only ever be a handful of image implementations. Let's just
use a union enum for handling them.
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Did this one already
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
As a pretty large optimization, use the provided width when possible to
avoid measuring glyphs each render
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
update ziglyph to include proper default text emoji with VS16 selector
widths
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
This requires additional allocations anytime there is a hyperlink
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
This query has a response that interferes with key f4. We need to fix
that parsing before doing sixel queries, and we don't even support
sixels yet.
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Implement our own grapheme measuring function which switches on whether
the terminal supports mode 2027
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Now that DA1 parsing is done, block the queryTerminal function until the
DA1 response is received, or a 1 second timeout elapses. With this
functionality, move certain events into Vaxis's realm of handling: IE
enabling kitty keyboard, unicode mode, etc
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
This doesn't handle each case yet, I'm not certain that the rest of the
logic I have in go-vaxis is correct so I want to sit on it some more
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Siged-off-by: Tim Culverhouse <tim@timculverhouse.com>
We use two screens: one which the user provides a slice of bytes for the
graphemes, and the user owns the bytes. We copy those bytes to our
internal model so that we can compare between frames
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
We only need the grapheme cache when we are parsing input
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
I'm not positive this is the final approach. We fill in the `text` field
if there was multi-codepoint text generated from the key_press.
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
But not full on graphemes, yet
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Test (nearly?) implementation so far
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Now that DA1 parsing is done, block the queryTerminal function until the
DA1 response is received, or a 1 second timeout elapses. With this
functionality, move certain events into Vaxis's realm of handling: IE
enabling kitty keyboard, unicode mode, etc
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>