Mitchell Hashimoto
bfcd5f380a
font: introduce GroupCacheSet, use it for descriptors to start
2024-04-05 09:29:40 -07:00
Mitchell Hashimoto
7fef1aa294
font: descritor can hash using a hasher
2024-04-05 09:29:40 -07:00
Mitchell Hashimoto
5546469c37
font: remove unused struct
2024-04-05 09:29:39 -07:00
Mitchell Hashimoto
91ba47af1f
input: add test for backspace change
2024-04-05 08:25:14 -07:00
rok
51bfde69ba
input: do not emit sequence on <BS> when their's UTF-8 text
2024-04-05 19:55:17 +09:00
Mitchell Hashimoto
8e0faaf6c5
Merge pull request #1651 from aca/korean-esc
...
input: escape can be used to clear dead key state
2024-04-04 22:18:09 -07:00
Mitchell Hashimoto
0bd673435f
input: add test for esc clearing dead key state
2024-04-04 21:57:32 -07:00
Mitchell Hashimoto
3fa0df57d1
Merge pull request #1653 from mitchellh/coretext
...
Enable CoreText font shaper for macOS by default
2024-04-04 21:44:14 -07:00
Mitchell Hashimoto
eb4d21fcbf
font/coretext: handle two-byte utf16 followed by more chars
2024-04-04 21:31:07 -07:00
Qwerasd
624ebb5b51
fix(inspector): cell picker in scrollback
...
Previously cell picking only worked correctly in the active area, not when scrolled in to scrollback.
2024-04-04 20:39:39 -04:00
Qwerasd
be07856647
fix(terminal/Screen): selectionString multi-page
...
Corrected logic for detecting if the current row is the end of the
selection. Previous logic was faulty because when I calculated the
current page y incorrectly, not realizing that it was already
available as `y`.
2024-04-04 17:59:42 -04:00
Mitchell Hashimoto
6ace9e9d19
font/coretext: unit tests pass on macOS
2024-04-04 14:46:46 -07:00
Qwerasd
b03f80cadd
terminal/Screen: improve selectionString page test
...
More readable (smaller) output when failing, catches more edge cases.
At the time of this commit, this test is failing. Changed primarily to
address the edge case that was missed before.
2024-04-04 17:44:06 -04:00
Mitchell Hashimoto
1b8bae5f0a
Update src/font/shape.zig
...
Co-authored-by: Jon Parise <jon@indelible.org>
2024-04-04 13:25:27 -07:00
Mitchell Hashimoto
fd4d2313d0
build: do not build/link harfbuzz on macOS
2024-04-04 12:22:35 -07:00
Mitchell Hashimoto
e41e45e1ad
font/coretext: face doesn't need harfbuzz font if we're not using it
2024-04-04 12:18:28 -07:00
Mitchell Hashimoto
c5bbbdb5ee
font/coretext: better comment coretext shaper
2024-04-04 12:06:59 -07:00
Mitchell Hashimoto
61d3da1bf6
font/coretext: respect quirks fonts for shaper
2024-04-04 12:02:43 -07:00
Mitchell Hashimoto
b124378f5c
font/coretext: remove todo for font features
2024-04-04 11:34:20 -07:00
Mitchell Hashimoto
f0b2e21548
font: enable the coretext shaper by default for CoreText faces
2024-04-04 11:33:55 -07:00
Mitchell Hashimoto
de11063679
font/coretext: shaper supports user-defined font features
2024-04-04 11:25:46 -07:00
rok
9326ae363c
input: escape can be used to clear dead key state
...
This fixes korean input method issue on mac. When typing korean
and press escape in vim, composing korean character should remain.
2024-04-05 03:17:39 +09:00
Mitchell Hashimoto
5440fda3fb
Merge pull request #1646 from msvechla/no_title
...
shell-integration: implement no-title option
2024-04-04 09:51:24 -07:00
Qwerasd
8be145ec1f
fix(terminal/Sreen): selectionString across pages
...
Newlines after rows should only be omitted on the final row of the
entire SELECTION, not on the final row of each page/chunk.
2024-04-03 20:03:25 -04:00
Qwerasd
fa5646e762
test(terminal/Screen): selectionString across page boundaries
2024-04-03 19:28:02 -04:00
Marius Svechla
e34b373426
shell-integration: implement no-title option
...
This adds a new option to the shell integration feature set, `no-title`.
If this option is set, the shell integration will not automatically
update the window title.
2024-04-03 22:00:42 +02:00
Mitchell Hashimoto
f0f53bd8b1
font/shaper: fix CoreText shaper to compile with latest terminal changes
2024-04-03 10:14:17 -07:00
Mitchell Hashimoto
eb2a2e3931
fmt
2024-04-02 08:38:51 -07:00
Mitchell Hashimoto
555f6e159f
font/sprite: remove comptime arg for box drawing
2024-04-02 08:38:36 -07:00
Qwerasd
5abc63193e
font/sprite: improve rendering of dashed lines
...
Previous implementation would draw dashes to the edge of the character
cell, which would result in double-wide dashes at the point where they
tiled. This fixes that, and also generally implements it in a cleaner
way than before.
2024-04-01 18:35:34 -04:00
Qwerasd
04ec859925
terminal/kitty_graphics: update tests
...
Kitty Graphics command structures have been changed to hold decoded payloads not base64 strings.
2024-03-31 22:28:53 -04:00
Qwerasd
51d3c2cf35
fix(kitty_graphics): set dirty state on various scroll operations
2024-03-31 21:49:28 -04:00
Qwerasd
ca4b55b486
terminal/kitty_graphics: ignore base64 padding
...
Also move all base64 decoding to inside of the command parser.
2024-03-31 21:09:37 -04:00
Qwerasd
5dee7e1430
terminal/kitty_graphics: update outdated comments
2024-03-31 19:29:56 -04:00
Jon Parise
29a5b52885
os/homedir: remove now unnecessary fba.reset()
2024-03-31 08:56:56 -07:00
Jon Parise
55b611e4cb
os/homedir: use NSFileManager on macOS
...
NSFileManager has offered a homeDirectoryForCurrentUser property since
macOS 10.12. Using that is preferable to running a directory service
child process.
2024-03-30 20:24:43 -07:00
Mitchell Hashimoto
07eadeb404
Merge pull request #1628 from qwerasd205/fuzzer-fixes
...
Various bug fixes
2024-03-29 13:56:49 -07:00
Qwerasd
5b509f9295
test(terminal/Screen): clearRows with protected cells
2024-03-29 16:47:53 -04:00
Qwerasd
925c7e86a2
fix(terminal): insert/deleteLines boundary cond.s
...
Introduced a helper function for correctly handling boundary conditions
in insertLines and deleteLines. Also adds a whole host of tests for said
conditions in deleteLines, tests not duplicated for insertLines because
they both use the same helper function.
2024-03-29 16:29:27 -04:00
Qwerasd
4c9e238c3f
fix(termio/exec): avoid overflow in setCursorRow/ColRelative
...
Using a saturating addition here just to avoid overflow, since setCursorPos handles proper clamping to the screen size so we don't need to duplicate that logic.
2024-03-29 13:15:24 -04:00
Qwerasd
20ab4ec01f
fix(terminal): correct wrap logic in insert/deleteLines
...
Appropriately handles clearing spacer heads if shifted lines include rightmost column, and centralizes clearing of row wrap state for full width scrolling regions.
2024-03-29 13:12:52 -04:00
Qwerasd
e55f2daf90
perf(terminal): clear unprotected cells in spans
...
Previous behavior of clearing one at a time hit a page integrity assertion after clearing a wide character but not its tail. This fixes that and should also be - in theory - significantly more performant as well by identifying spans of unprotected cells and clearing them in bulk.
2024-03-29 13:08:38 -04:00
Mitchell Hashimoto
00f018f6ff
Merge pull request #1626 from tristan957/libadwaita
...
fix: remove deprecated to-pixdata gresource preprocessor
2024-03-28 20:07:17 -07:00
Tristan Partin
0adbe097ed
fix: remove deprecated to-pixdata gresource preprocessor
...
It was deprecated in gdk-pixbuf 2.32.
Link: https://docs.gtk.org/gio/struct.Resource.html
2024-03-28 21:15:09 -05:00
Mitchell Hashimoto
37f31017dc
Merge pull request #1625 from qwerasd205/spa-epa
...
fix(terminal/stream): add SPA and EPA handlers
2024-03-28 17:21:13 -07:00
Qwerasd
5df5fb4a56
fix(terminal/stream): add SPA and EPA handlers
2024-03-28 20:05:10 -04:00
Mitchell Hashimoto
77c8a5998f
apprt/gtk: handle gtk realize error more gracefully
...
Fixes #1606
This improves our logging when this occurs and prevents a crash.
The program will just run indefinitely with no windows (you can try to
create another but it will probably fail) but the logs are much more
helpful now.
2024-03-28 15:11:45 -07:00
Mitchell Hashimoto
054aeebf17
Merge pull request #1506 from jcollie/gtk-resources
...
GTK: Add compiled-in GTK resources and use them for icons.
2024-03-28 14:48:40 -07:00
Mitchell Hashimoto
b6f5970264
minor style changes
2024-03-28 14:45:44 -07:00
Mitchell Hashimoto
41cffd116a
Merge pull request #1484 from jparise/window-title-font
...
macos: configurable titlebar fonts
2024-03-28 09:49:19 -07:00