Pre-edit text was drawn in reverse video, which is a solid inverted block
moving through the line as you compose. Draw it as italic with a dashed
underline in the highlight color instead.
Underline rather than reverse video is what other terminals do: VTE renders the
pre-edit run with the input method's own attributes and marks only the cursored
cell distinctly, and foot underlines the run explicitly, excluding the part
under the cursor. Dashed avoids the underline styles applications already use:
curly for spell checking and straight for hyperlinks, which is the collision
that made reverse video look like the safer choice.
The styling is applied to the overlay's own cursor and restored afterwards,
alongside the wrap, cursor-visibility and insert-replace modes already saved
there. The previous code toggled reverse with XOR, which restored itself; the
three new attributes are saved and put back explicitly.
Closes#10382
The "Lenna" test image has been deprecated for several years at this
point in the computer graphics scientific community for being an
unauthorized, cropped scan of a Playboy magazine that is not only legally
problematic regarding redistribution (see #661) but also raises questions
about the appropriateness of using originally pornographic material in
scientific literature. **If scientific journals now find it unacceptable,
so should we, and we should do better**.
The image itself has been long gone from the repo itself following #661,
but it's still present in a screenshot attached to the documentation.
Although that resolved legal issues for Debian packaging, I think the
fundamental problem with the Lenna image remains unsolved, and over the
past 8 years the scientific consensus (and more importantly, the
sentiment from the model herself, Lena Forsén) has been very clear that
we shouldn't use this image in any shape or form now. So let's replace it
with something actually wholesome and thematically appropriate!
Instead, I've taken a screenshot of `gr.py`, but with Lenna replaced with
a photo of a friend's cat. I took the original photo myself and licensed
it under CC0 — no attribution is required, though it would certainly be
welcome. Some minor things about the composition have been changed, such
as the proportions of the images and the font used (sorry, I don't know
which font the original used, I'm using Iosevka here since it's my system
monospace font), but overall it shows off the capabilities of the
Graphics Protocol as well as the original.
Please let me know of any feedback regarding the image selection and the
composition, but I think this is a worthy step to take.
Also, allow using beam and arrow as aliases of text and default when
setting pointer shapes. These are the names kitty itself reports, so
they should be allowed in addition to the canonical list from the spec.
Fixes#10372
Reconcile the three ported kittens with 529 upstream commits. Only conflicts
were in the shrunk resize_window/broadcast/remote_file main.py stubs (upstream
reformatted their OPTIONS strings); resolved by keeping upstream's formatting
plus the Go-port stubs (shrunk main, remote_file handle_result shim, dropped
-h alias). Go build + kitten tests pass; dev build regenerates CLI cleanly;
Python suite at baseline (1 pre-existing unrelated failure).