Fixes#1784
This was just a misunderstanding of the "spec." When both a y offset
into the image is specified and a height, the image should be stretched.
I mistakingly thought that the image should be offset (even with this
misunderstanding there was a data corruption bug).
This resolves the issue and output matches Kitty.
See: https://github.com/ziglang/zig/issues/17851
Users were noticing that frame render times got slower over time. I
believe (thanks to community for pointing it out) that this is the
culprit.
This works around this issue by clearing and reinitializing the LRU
after a certain number of evictions. When the Zig issue has a better
resolution (either rehash() as a workaround or a better hash
implementation overall) we can change this.
Fixes#1771
I'm not convinced this fix won't regress some other behavior, but in my
titlebar tab and native tab modes with and without transparency, this
has looked okay to me.
- contains `.elv` file that implements the core of Elvish integration.
- does not contain routines needed for automatic integration.
- stored in `./elvish/lib/...` in preparation for automatic integration:
Elvish imports `.../elvish/lib/*.elv`.
checklist:
- no confirmation on close where the cursor is at prompt:
works, only occasionally doesn't, I'm not yet sure when.
- new terminals start in pwd of previously focused terminal: works
- prompts resize correctly: works
- triple-click while holding `ctrl` selects output of a command:
works (when mouse is over the output)
- cursor at the prompt is turned into a bar: works
- ghostty:`jump_to_prompt` scrolls through prompts: works
- `opt`-click moves cursor at the prompt: works
- `sudo` preserves ghostty terminfo:
untested - not sure when this is needed exactly, but did not encounter
any errors after sudo, either
When the -c option is present, then commands are read from the first
non-option argument command string. Our simple implementation assumes
that if we see at least the '-c' option, a command string was given, and
the shell is always considered to be non-interactive - even if the '-i'
(interactive) option is also given.
Fixes#1409
Fixes macOS 14.4,14.5 kernel panics
As noted in the comment in this diff, I've decided to default this to
true because it fixes a couple _really bad_ issues for macOS users. For
macOS users on 14.4 and 14.5 (latest released as of this commit), this
resolves or at least heavily mitigates a possible kernel panic.
This also fixes#1409 where external displays over certain connections
such as DisplayLink would be unusably slow to render.
Partial fix for link highlight dirty tracking. Some issues remain with
soft-wrapped links (see TODO in code), as well as pressing cmd while
hovering without moving the mouse at all doesn't highlight until you do
move the mouse for some reason.