7403 Commits

Author SHA1 Message Date
Mitchell Hashimoto
b283307dd6 update vouch instructions 2024-09-05 15:17:00 -07:00
Mitchell Hashimoto
ce85eb1d91 readme: update vouch help 2024-09-05 15:13:13 -07:00
Mitchell Hashimoto
e5bc7d5772 Merge pull request #2198 from ghostty-org/decaln
DECALN must clear protected cells (fixes managed memory leak in page)
2024-09-05 14:43:32 -07:00
Mitchell Hashimoto
693755693a terminal: can't assert page integrity on screen 2024-09-05 14:41:02 -07:00
Mitchell Hashimoto
a6031efa04 terminal: DECALN must use clearRows to clear protected memory 2024-09-05 14:35:12 -07:00
Mitchell Hashimoto
f0149722e6 terminal: add integrity check for unmarked grapheme cell 2024-09-05 14:17:11 -07:00
Mitchell Hashimoto
a3aa5463a1 Revert "Merge pull request #2060 from jcollie/gtk-compatibility"
This reverts commit 9ce789cc85d411c59eff2a01c7fe18ce14ccd2b8, reversing
changes made to f1aea10a84176ff4338f7d2f0bf1b9c700b41baa.
2024-09-05 08:45:37 -07:00
Mitchell Hashimoto
2c48e86a86 Merge pull request #2196 from gpanders/push-oxsosnpoxtwz
termio: send initial focus reports
2024-09-04 20:56:59 -07:00
Gregory Anders
df06697899 termio: send initial focus reports
When the focus reporting mode (1004) is enabled, send the current focus
state. This allows applications to track their own focus state without
first having to wait for a focus event (or query
it by sending a DECSET followed by a DECRST).

Ghostty's focus state is stored only in the renderer, where the termio
thread cannot access it. We duplicate the focus state tracking in the
Terminal struct with the addition of a new (1-bit) flag. We duplicate
the state because the renderer uses the focus state for its own purposes
(in particular, the Metal renderer uses the focus state to manage
its DisplayLink), and synchronizing access to the shared terminal state
is more cumbersome than simply tracking the focus state in the renderer
in addition to the terminal.
2024-09-04 22:13:52 -05:00
Mitchell Hashimoto
42b799e9a0 Merge pull request #2194 from jcollie/wuffs-blend-mode
wuffs: fix blend mode
2024-09-04 16:58:35 -07:00
Jeffrey C. Ollie
f2d53b451b wuffs: fix blend mode 2024-09-04 18:23:54 -05:00
Mitchell Hashimoto
2142ba53c4 apprt/gtk: do not remove unfocused widget from overlay
See comment
2024-09-04 14:17:51 -07:00
Mitchell Hashimoto
125982a5e2 Merge pull request #2191 from ghostty-org/push-uupwrypuzvsp
kitty gfx: handle `q` with chunked transmissions properly
2024-09-04 10:28:33 -07:00
Mitchell Hashimoto
761bcfad50 kitty gfx: handle q with chunked transmissions properly
Fixes #2190

The `q` value with chunk transmissions is a bit complicated. The initial
transmission ("start" command) `q` value is used for all subsequent
chunks UNLESS a subsequent chunk specifies a `q >= 1`. If a chunk
specifies `q >= 1`, then that `q` value is subsequently used for all
future chunks unless another chunk specifies `q >= 1`. And so on.

This commit importantly also introduces the ability to test a full Kitty
command from string request to structured response. This will let us
prevent regressions in the future and ensure that we are correctly
handling the complex underspecified behavior of Kitty Graphics.
2024-09-04 10:24:25 -07:00
Mitchell Hashimoto
3e9163e4c6 Merge pull request #2189 from ghostty-org/dependabot/github_actions/namespacelabs/nscloud-cache-action-1.1.7
build(deps): bump namespacelabs/nscloud-cache-action from 1.1.6 to 1.1.7
2024-09-03 18:18:01 -07:00
dependabot[bot]
2cfdd29535 build(deps): bump namespacelabs/nscloud-cache-action from 1.1.6 to 1.1.7
Bumps [namespacelabs/nscloud-cache-action](https://github.com/namespacelabs/nscloud-cache-action) from 1.1.6 to 1.1.7.
- [Release notes](https://github.com/namespacelabs/nscloud-cache-action/releases)
- [Commits](https://github.com/namespacelabs/nscloud-cache-action/compare/v1.1.6...v1.1.7)

---
updated-dependencies:
- dependency-name: namespacelabs/nscloud-cache-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-04 01:00:59 +00:00
Mitchell Hashimoto
339a83c89d config: note that emoji font requires explicit override
Fixes #2072
2024-09-03 15:32:44 -07:00
Mitchell Hashimoto
1f08478178 Merge pull request #2188 from ghostty-org/push-qltovxupnrxr
nix: remove ZLS
2024-09-03 15:21:42 -07:00
Mitchell Hashimoto
a9deb37071 nix: remove ZLS
Fixes #2171

ZLS has caused us issues in our Nix shell before and I noted when we
first added it that we probably shouldn't. We now pin to release
versions of Zig so I think its reasonable to expect developers to have
ZLS installed themselves with the proper version or not use it at all.
2024-09-03 15:18:04 -07:00
Mitchell Hashimoto
f0c4afdf9c termio: set crash threadlocal data for exec reader thread 2024-09-03 14:31:05 -07:00
Mitchell Hashimoto
f45cde0b95 Merge pull request #2187 from ghostty-org/kitty-kbd
kitty kbd: progressive enhancement `=` mode off by one
2024-09-03 12:03:03 -07:00
Mitchell Hashimoto
e014c68cf0 kitty kbd: progressive enhancement = mode off by one
Fixes #2161
2024-09-03 11:59:25 -07:00
Mitchell Hashimoto
12efa8ec24 Merge pull request #2186 from ghostty-org/kitty-fix
kitty graphics: respond OK with metadata on display actions
2024-09-03 11:11:33 -07:00
Mitchell Hashimoto
2acd7e8a42 kitty: respond OK with metadata on display transmissions 2024-09-03 11:05:16 -07:00
Mitchell Hashimoto
e9c83a5f64 kitty: ENOENT when image ID not found for placement 2024-09-03 10:38:10 -07:00
Mitchell Hashimoto
492b113de6 update README again 2024-09-03 10:28:59 -07:00
Mitchell Hashimoto
84f4743eed update README to warn about crash report env vars 2024-09-03 10:26:10 -07:00
Mitchell Hashimoto
d885c81423 Merge pull request #2178 from jcollie/kitty-graphics-performance
kitty graphics: performance enhancements
2024-09-02 21:19:41 -07:00
Mitchell Hashimoto
5f1c9dd0df pkg/wuffs: use proper apple include paths on darwin targets 2024-09-02 21:02:36 -07:00
Mitchell Hashimoto
781a721fc7 pkg/wuffs: fix builds for 32-bit systems 2024-09-02 20:57:23 -07:00
Mitchell Hashimoto
8ffa7328a9 renderer/metal: use wuffs for format conversion 2024-09-02 20:47:07 -07:00
Mitchell Hashimoto
de612934a0 some tweaks for wuffs 2024-09-02 20:47:07 -07:00
Mitchell Hashimoto
c6e187865a pkg/wuffs: define build defines separately, not in defs.zig 2024-09-02 20:47:07 -07:00
Jeffrey C. Ollie
d6e5c8e20f remove unnecessary @constCast 2024-09-02 20:47:07 -07:00
Jeffrey C. Ollie
6edeb45e7e kitty graphics: address review comments
- move wuffs code from src/ to pkg/
- eliminate stray debug logs
- make logs a warning instead of an error
- remove initialization of some structs to zero
2024-09-02 20:47:07 -07:00
Mitchell Hashimoto
e6c3ba2cf9 update zig cache hash 2024-09-02 20:47:07 -07:00
Jeffrey C. Ollie
151bb030de fix typos 2024-09-02 20:45:08 -07:00
Jeffrey C. Ollie
6dbb82c259 kitty graphics: performance enhancements
Improve the performance of Kitty graphics by switching to the WUFFS
library for decoding PNG images and for "swizzling" G, GA, and RGB data
to RGBA formats needed by the renderers.

WUFFS claims 2-3x performance benefits over other implementations, as
well as memory-safe operations.

Although not thorougly benchmarked, performance is on par with Kitty's
graphics decoding.

https://github.com/google/wuffs
2024-09-02 20:45:08 -07:00
Mitchell Hashimoto
b8b89acf5e Merge pull request #2180 from xdBronch/push-wqyprmonmtnx
make +version hyperlink to the github commit
2024-09-02 18:50:09 -07:00
xdBronch
b748ae6c0f make +version hyperlink to the github commit 2024-09-02 18:48:49 -07:00
Mitchell Hashimoto
ee95b8373b Merge pull request #2181 from injust/disable-fork-workflows
Stop GitHub workflow jobs from running on forks
2024-09-02 18:43:48 -07:00
Mitchell Hashimoto
2f32efbc82 Merge pull request #2173 from ghostty-org/crashlog
Initial Crash Logging
2024-09-02 10:35:27 -07:00
Mitchell Hashimoto
8f5eea6bf8 core: set crash state in surface in various places 2024-09-02 10:30:09 -07:00
Mitchell Hashimoto
f07cda07d6 update README about crashes 2024-09-02 10:14:32 -07:00
Mitchell Hashimoto
bae12993b3 crash: tag the thread type 2024-09-02 10:02:14 -07:00
Mitchell Hashimoto
d8cc19612f crash: beforeSend needs to add contexts to the event directly 2024-09-02 09:55:57 -07:00
Mitchell Hashimoto
d499f7795b input: crash binding can configure which thread to crash 2024-09-02 09:44:35 -07:00
Justin Su
b27667fcfc Don't run GitHub workflows on forks 2024-09-02 02:27:22 -04:00
Mitchell Hashimoto
d8fc54d1bf Merge pull request #2177 from jcollie/kitty-graphics-local-more
kitty graphics: fix usage of "m" key for local-only transmission mediums
2024-09-01 21:19:05 -07:00
Jeffrey C. Ollie
5e925db521 kitty graphics: fix usage of "m" key for local-only transmission mediums
If the transmission medium is a local-only medium, ignore the "m"
key. The Kitty graphics protocol specification does not explicitly
call out this behavior (although the "m" key is only mentioned in
connection with remote clients) but that's how it's implemented in
Kitty and at least one client (mpv) relies on this behavior when
using the shared memory transmission medium.

https://sw.kovidgoyal.net/kitty/graphics-protocol/#the-transmission-medium
ccc3bee9af/kitty/graphics.c (L547-L592)
2024-09-01 21:10:08 -07:00