3982 Commits

Author SHA1 Message Date
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