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
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
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
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
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
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
Mitchell Hashimoto
5d476135c5
terminal: do not run page integrity checks unless slow runtime safety
2024-09-01 21:02:44 -07:00
Mitchell Hashimoto
8f477b00da
renderer/termio attach thread local state for crash capture
2024-09-01 14:15:12 -07:00
Mitchell Hashimoto
f0916d58e8
crash: try to attach dimensions to the crash report
2024-09-01 14:15:11 -07:00
Mitchell Hashimoto
37577630ac
crash: add build mode to sentry tags
2024-09-01 10:12:34 -07:00
Mitchell Hashimoto
5ade197f91
Merge pull request #2175 from qwerasd205/pagelist-fix
...
fix(terminal/PageList): update self.cols at start of resizeCols
2024-09-01 09:58:39 -07:00
Qwerasd
7fb2bd16a9
fix(terminal/PageList): update self.cols at start of resizeCols
...
It's possible for `self.grow` to be called within the body of the
function, and `self.grow` uses `self.cols` to create a new page if
there's no more room in the current one.
2024-09-01 09:55:00 -07:00
Mitchell Hashimoto
a947e20826
Merge pull request #2174 from ghostty-org/release-safe
...
Build ReleaseSafe builds for testing, make them more usable
2024-08-31 21:50:03 -07:00
Mitchell Hashimoto
0ab3d964dd
apprt/gtk: show debug warning whenever runtime safety is on
2024-08-31 21:38:02 -07:00
Mitchell Hashimoto
6aab430caf
terminal: disable slow safety tests in releasesafe
2024-08-31 21:14:12 -07:00
Mitchell Hashimoto
49e56a9057
input: add crash binding action, remove key input crash
2024-08-31 20:19:06 -07:00
Jeffrey C. Ollie
bbb204ac85
rename gtkVersionMinimum->gtkVersionAtLeast for consistency
2024-08-31 19:16:43 -07:00
Jeffrey C. Ollie
b6c943386c
Conditional compilation against different GTK versions
...
Adds a comptime function to enable conditional compilation against
different GTK versions that have added new API calls in newer versions
of GTK.
Use this function to get fractional scaling information for GTK
surfaces, which is only available with GTK 4.12+.
2024-08-31 19:15:24 -07:00
Mitchell Hashimoto
e7cbeba140
pty: reset all signals after fork
2024-08-31 15:12:45 -07:00
Mitchell Hashimoto
9f6a28bf44
crash: initialize sentry off-thread
2024-08-31 14:14:37 -07:00
Mitchell Hashimoto
72c1b00b0b
pkg/sentry: uuid string is null-terminated
2024-08-31 14:05:55 -07:00
Mitchell Hashimoto
920a1051e5
crash: discard envelopes that do not contain a crash
2024-08-31 12:24:11 -07:00
Mitchell Hashimoto
f930cf0b8f
move crash init to crash package
2024-08-31 11:12:40 -07:00
Mitchell Hashimoto
f1aea10a84
cli/version: don't parse any args
...
Fixes #2166
2024-08-31 10:39:22 -07:00
Mitchell Hashimoto
f7d1fb8ba0
Merge pull request #2167 from qwerasd205/insert-delete-lines-fix
...
Fix `insertLines` and `deleteLines`
2024-08-31 10:36:09 -07:00
Mitchell Hashimoto
9d08ed32ee
terminal: make error sets more explicit, capture explicit errors
2024-08-31 10:31:38 -07:00
Mitchell Hashimoto
17db317916
build: build without Git, tag version as dev with 0 SHA
...
Fixes #2170
Example now: `info: ghostty version=0.1.0-dev+0000000`
2024-08-31 09:43:30 -07:00
Qwerasd
3807ee34c1
terminal: handle clonePartialRowFrom errors in insert/deleteLines
...
Handle `clonePartialRowFrom` errors in `insertLines` and `deleteLines`
by adjusting page capacity. To do this, I've rewritten both functions
with a new way of iterating rows by moving a tracked pin up/down.
Benchmarks seem to indicate that this has no effect on performance.
2024-08-30 13:45:18 -04:00
Qwerasd
daa1755793
terminal/page: discriminate cloneFrom errors
...
Doing this makes it possible to appropriately handle a failed cloneFrom
operation by adjusting the correct part of the page capacity accordingly
2024-08-30 13:45:18 -04:00
Qwerasd
3bc2dbfa72
RefCountedSet: make lookup
public
2024-08-30 13:30:40 -04:00
Mitchell Hashimoto
8ba97eb745
crash: sentry envelope parsing
2024-08-30 10:16:44 -07:00
Mitchell Hashimoto
6f1a062b6c
timers for start times for later
2024-08-29 15:19:21 -07:00
Mitchell Hashimoto
d66178718c
pkg/sentry: build in unwinder
2024-08-28 21:43:18 -07:00
Mitchell Hashimoto
1f2d4faa84
sentry: set tags after init
2024-08-28 21:43:18 -07:00
Mitchell Hashimoto
13f1752836
build: don't include sentry on windows
2024-08-28 21:43:18 -07:00
Mitchell Hashimoto
33e9bc14ef
don't send empty envelopes
2024-08-28 21:43:18 -07:00
Mitchell Hashimoto
2abdf291f4
implement sentry transport to write crash reports to XDG_STATE_HOME
2024-08-28 21:43:18 -07:00
Mitchell Hashimoto
e029490535
sentry init uses proper cache dir, sets tags
2024-08-28 21:43:18 -07:00
Mitchell Hashimoto
7f143d9df4
os: add xdg cache dir function
2024-08-28 21:43:17 -07:00
Mitchell Hashimoto
adbb394e44
initialize sentry on startup
2024-08-28 21:43:17 -07:00
Erlend Lind Madsen
e3881c4ffc
avoid escape characters by using a multiline string
...
lets concat url_scheme in combo with a multiline (thanks @qwerasd205)
regex: url_scheme -> url_schemes
2024-08-28 23:13:13 +02:00
Mitchell Hashimoto
19c9039494
Merge pull request #2159 from cryptocode/cc-colorpicker-hex
...
Inspector: change color picker to use hex values
2024-08-28 10:01:41 -07:00