This might "break" eg: pasting from apps that just use ATOM_STRING
and that happen to have utf-8 compatible text.
Ideally the get_text_property interface would expose the actual
text encoding in the returned data and allow the application to
"do stuff" with it.
refs: https://github.com/meh/rust-xcb-util/issues/21
The serial port is always in non-blocking mode so we need to use our
own timeout and `poll(2)`.
While we're in here, the `wait` method could cause the gui to exit
immediately on startup because we'd interpret its immediate error
return result as child process completion.
This commit makes the wait method look at the carrier detect signal
and propagates IO errors back as completion events.
refs: https://github.com/wez/wezterm/issues/1594
* #217 DECSDM, and commented pseudocode for improved handling of transparent image cells
* oops forgot cargo fmt --all
* #217 set initial palette colors to match VT340
* #217 cleanup color_map initialization, fix sixel scrolling
* #217 remove large comment - transparency discussion for another time
This change also allows removing the dep on the palette crate,
which I found to be difficult to use (API changed often, and relied
on a lot of `.into` that was hard to follow and reconcile across
upgrades). We already pulled in the csscolorparse crate as an indirect
dep of colorgrad, so we can replace the color conversion we need for
sixel with that crate while we're in here.
refs: #1615
Previously overlooked because we didn't render or otherwise
change behavior: after running vttest and running ls, some
lines still had double width/height set.
This ensures that we remove that attribute when clearing
the screen.
This is using the existing attributes on the lines and rendering
the lines with doubled dimensions.
Selection on double width lines is a bit wonky because we don't
know how to translate the column position correctly.