5188 Commits

Author SHA1 Message Date
Paul Berg
0c286a049a gtk: add adwaita banner 2024-09-11 15:42:31 +02:00
Paul
bdf618d7af gtk: adw toolbar view
gate toolbar view on ADWAITA_MINOR >= 4

use the right destructor on window creation errors
2024-09-11 15:42:31 +02:00
Paul Berg
618a7a3fea adw: update window title on selected page change 2024-09-11 15:42:31 +02:00
Paul Berg
05e7bf7634 gtk: add devel class to window in debug builds 2024-09-11 15:42:31 +02:00
Paul Berg
439988930d gtk: respect wide-tabs option 2024-09-11 15:42:31 +02:00
Paul Berg
5327daac04 adw: implement next/previous 2024-09-11 15:42:31 +02:00
Paul Berg
9c8a9f3d6b adw: respect gtk-wide-tabs
update
2024-09-11 15:42:05 +02:00
Paul
42c93d89fc adw: move notebook to its own file 2024-09-11 15:42:03 +02:00
Paul
0e22695ec4 gtk: use adwaita tab view when possible
add tab bar view
2024-09-11 15:35:22 +02:00
Mitchell Hashimoto
359272a5f5 macos: start Sparkle after loading config 2024-09-10 21:54:40 -07:00
hanna
fd9d38481b refactor: attempted autoupdate configuration 2024-09-10 21:40:17 -07:00
Mitchell Hashimoto
5e553f2743 Merge pull request #2184 from jcollie/basic-cli-crash-report
feat: basic +crash-report cli action
2024-09-10 21:25:50 -07:00
Mitchell Hashimoto
11c3ca69f5 cli/crash-report: make it simpler (uglier, honestly) 2024-09-10 21:15:40 -07:00
Mitchell Hashimoto
4e16624676 crash: add directory listing, allocation free 2024-09-10 21:15:09 -07:00
Jeffrey C. Ollie
6292cdec0e remove unnecessary imports 2024-09-10 20:43:00 -07:00
Jeffrey C. Ollie
d907cebae9 feat: basic +crash-report cli action
Only lists crash reports right now. Viewing and/or submitting crash
reports to come later.
2024-09-10 20:43:00 -07:00
Jeffrey C. Ollie
f1473a1464 fix: Surface.selectionString should return sentinel slice
The underlying API call returns a sentinel slice so selectionString
should do the same or there are problems later trying to free the
allocated memory.
2024-09-10 17:22:29 -05:00
Tim Culverhouse
723d79c9de graphics: set default transmission format as .rgba
The default format for transmission is defined as RGBA (f=32) in the
Kitty Graphics specification. When no format is specified, this can
result in an error for length checking.

Fixes: #2212
Reference: https://sw.kovidgoyal.net/kitty/graphics-protocol/#control-data-reference
2024-09-10 11:03:51 -07:00
Mitchell Hashimoto
4501991325 Merge pull request #2201 from qwerasd205/wide-boundary-conds
Wide cell boundary conditions in ECH & DCH + soft-wrap reset correctness
2024-09-06 19:00:15 -07:00
Qwerasd
5138801b7b comment 2024-09-06 18:03:56 -04:00
Qwerasd
9669332134 terminal: cursorResetWrap should not reset wrap_continuation 2024-09-06 17:57:14 -04:00
Mitchell Hashimoto
8f47581e22 terminal: add test for wide character on right margin boundary 2024-09-06 14:28:04 -07:00
Mitchell Hashimoto
f4052fd824 terminal: fix uninitialized memory access when kitty color protocol 2024-09-06 14:08:33 -07:00
Qwerasd
057f218c9e perf(terminal): specialize splitCellBoundary to cursor row
+ do some abstraction leakage in `cursorResetWrap`, since they're both
used in hot functions for TUI stuff so performance is important.
2024-09-06 13:26:57 -04:00
Mitchell Hashimoto
b2696ee6fa crash: envelope parsing handles multiple payloads with length properly 2024-09-06 09:48:21 -07:00
Qwerasd
8d12044f1d Terminal: fix ECH & DCH wide char boundary cond. behavior 2024-09-06 12:35:11 -04:00
Qwerasd
04271c6a07 test(Terminal): test ECH wide char boundary conditions 2024-09-06 12:35:11 -04:00
Qwerasd
1692a82b33 test(Terminal): test DCH wide char boundary conditions 2024-09-06 12:35:11 -04:00
Mitchell Hashimoto
4acbdbc038 typos 2024-09-06 09:23:33 -07:00
Mitchell Hashimoto
646b8a4cdd crash: parse attachments from sentry envelope 2024-09-06 09:21:36 -07:00
Mitchell Hashimoto
6788aefe95 crash: data model for encoded vs decoded items 2024-09-06 08:50:18 -07:00
Mitchell Hashimoto
ee6fd80746 crash: envelope encoder 2024-09-05 21:24:14 -07:00
Mitchell Hashimoto
c9523a6ee0 font/sprite: avoid invalid glyph if unsupported codepoint is attempted 2024-09-05 20:22:51 -07:00
Tristan Partin
a0bc6ae966 gtk: silence bad accelerator warnings
Before this a commit a keybind of CTRL + \ would create a GTK
accelerator of <Ctrl>\, which is incorrect. It needs to be
<Ctrl>backslash, which can be retrieved with gdk_keyval_name().

Signed-off-by: Tristan Partin <tristan@partin.io>
2024-09-05 19:08:29 -05:00
Mitchell Hashimoto
738a4c568a terminal: do not reset OSC parser if its already empty
This is not a safe operation since the OSC parser has undefined memory
when it is in the empty state. This is on purpose for performance
reasons.
2024-09-05 16:53:34 -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
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
2142ba53c4 apprt/gtk: do not remove unfocused widget from overlay
See comment
2024-09-04 14:17:51 -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
339a83c89d config: note that emoji font requires explicit override
Fixes #2072
2024-09-03 15:32:44 -07:00
Mitchell Hashimoto
f0c4afdf9c termio: set crash threadlocal data for exec reader thread 2024-09-03 14:31:05 -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
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
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