5905 Commits

Author SHA1 Message Date
Mitchell Hashimoto
9941440f47 font: bold italic fallback has to avoid nested alias entry 2024-08-23 20:20:44 -07:00
Mitchell Hashimoto
db36a596fb typos 2024-08-23 20:00:43 -07:00
Mitchell Hashimoto
963c843d1a font: if variation is set for a style and style isn't found, retry reg 2024-08-23 19:59:36 -07:00
Mitchell Hashimoto
ad22e068a2 font: use proper variation axes for non-default 2024-08-23 19:48:26 -07:00
Mitchell Hashimoto
47fb7f0115 font: Collection can't use segmentedlist prealloc 2024-08-23 19:18:21 -07:00
Mitchell Hashimoto
5befe75a1f font/harfbuzz: work with new collection API 2024-08-23 15:30:57 -07:00
Mitchell Hashimoto
874caf29da font: completeStyles 2024-08-23 15:21:26 -07:00
Mitchell Hashimoto
1f3ccb2d66 font: Collection uses SegmentedList for styles for pointer stability 2024-08-23 14:50:04 -07:00
Mitchell Hashimoto
c183e71a92 font: support aliased entries in the font collection style table 2024-08-23 14:31:29 -07:00
Mitchell Hashimoto
e49c4707a1 config: note that styles that aren't found will use regular 2024-08-23 10:29:19 -07:00
Mitchell Hashimoto
cff907940f renderer: do not extend padding color if any cell has default bg color
Before, cells that were explicitly set to match the default bg color
were treated as if they did NOT have the default and extending would
occur. We now check the exact RGB of each cell.
2024-08-22 14:57:46 -07:00
Mitchell Hashimoto
9a287e1589 terminal: hyperlink state for cursor needs to be preserved on resize
When a screen is resized, the pages are generally reallocated. This
causes the cursor hyperlink state to be lost and ultimately the
hyperlink ref count is off by one.

The unit test in this commit showcases the issue very clearly. And you
can see we do this logic already for styles. We never copied it over for
hyperlinks.
2024-08-21 18:29:10 -04:00
Jeffrey C. Ollie
b8d4969fee Make the Kind parsing simpler 2024-08-21 15:28:00 -05:00
Jeffrey C. Ollie
54e2ea05a5 Use switch and not if to format Kind 2024-08-21 12:37:18 -05:00
Jeffrey C. Ollie
571988bf99 Clean up Kitty color protocol by using a union
Non-exhaustive enums should be avoided, use a union to
make the code cleaner and safer.
2024-08-21 11:57:27 -05:00
Mitchell Hashimoto
140d1dde5a typos 2024-08-21 09:45:47 -04:00
Mitchell Hashimoto
8df5ec10e3 Merge pull request #2113 from jcollie/osc-21
Implement Kitty Color Protocol (OSC 21)
2024-08-21 09:23:23 -04:00
Mitchell Hashimoto
6bf1acc5a2 terminal: move kitty color structs out to kitty package 2024-08-21 09:18:42 -04:00
Mitchell Hashimoto
9faca303dc termio: move renderer message sending out to separate func 2024-08-21 09:11:20 -04:00
Mitchell Hashimoto
e15db88656 termio: use new formatter, palette helper for kitty color protocol 2024-08-20 23:36:45 -04:00
Mitchell Hashimoto
e12cfe80b0 terminal: formatter for kitty color protocol kinds 2024-08-20 23:31:34 -04:00
Mitchell Hashimoto
3b2ed40854 terminal: stylistic tweaks to kitty color protocol parsing 2024-08-20 23:21:28 -04:00
Mitchell Hashimoto
f4b2925434 terminal: make kitty color tests a bit more readable 2024-08-20 23:06:09 -04:00
Tim Culverhouse
9b036b1763 cli(list-keybinds): format key sequences
Implement formatting of key sequences in the list-keybinds command when
*not* pretty printing. Pretty printing will come in a separate commit.
The print style for that needs some thought, but in the meantime this
removes the panic cause by redirecting output of the command.
2024-08-20 09:48:05 -05:00
Mitchell Hashimoto
a3247366fb font/coretext: font-thicken renders with additional padding on context
At certain font sizes, this avoids clipping the text. This is due to a
limitation of the CoreText API, which does not provide a way to measure
the exact size of the text that will be rendered when antialiasing is
enabled.
2024-08-19 20:47:39 -07:00
Mitchell Hashimoto
bec5772d77 config: warn the hazards of '>' for sequences 2024-08-19 12:56:51 -07:00
Mitchell Hashimoto
295ef384a6 core: centralize key sequence ending in one function 2024-08-19 12:41:33 -07:00
Mitchell Hashimoto
99b3e2e844 core: clear pending keyboard sequence when config reloads 2024-08-19 12:33:29 -07:00
Mitchell Hashimoto
454c585eb3 core: handle unconsumed key sequences 2024-08-19 12:28:00 -07:00
Mitchell Hashimoto
4ce7a88dee core: enable key sequence handling, including dumping invalid 2024-08-19 12:22:52 -07:00
Mitchell Hashimoto
3a952de272 core: encodeKey should return a write request 2024-08-19 12:14:29 -07:00
Mitchell Hashimoto
08ba00246b core: release events should never trigger bindings 2024-08-19 12:04:09 -07:00
Eduardo Dominguez
262902a28d macos: jump to last_tab 2024-08-19 12:19:00 -06:00
Mitchell Hashimoto
203e33c416 core: move key handling (w/o bindings) out to a separate func
This is going to let us have a central place we can encode all the
inputs up to an invalid binding.
2024-08-19 10:54:02 -07:00
Mitchell Hashimoto
4201a580f3 core: rework binding handling to prepare for nested binding sets 2024-08-19 10:41:37 -07:00
Jeffrey C. Ollie
a2ef0ca751 Address review comments.
- Cap the total number of requests at twice the maximum number of
  keys (currently 263, so 526 requests). Basically you can set and then
  query every key in one message. This is an absurdly high number
  but should prevent serious DOS attacks.
- Clarify meaning of new hex color codes.
- Better handle sending messages to the renderer in a way that should
  prevent deadlocks.
- Handle 0-255 palette color requests by creatively using non-exhautive
  enums.
- Fix an error in the query reply.
2024-08-19 00:22:09 -05:00
Mitchell Hashimoto
ec050407ee input: remove unused struct 2024-08-18 20:58:35 -07:00
Mitchell Hashimoto
2da2cee704 input: remove the old parse method for bindings 2024-08-18 20:58:35 -07:00
Mitchell Hashimoto
6d2cbb0703 config: write the docs now for sequences 2024-08-18 20:30:33 -07:00
Mitchell Hashimoto
9577c8b8b9 core: log when we see a leader 2024-08-18 20:30:32 -07:00
Mitchell Hashimoto
43176c750e config: support equality checking keybinds with sequences 2024-08-18 20:30:32 -07:00
Mitchell Hashimoto
9944f5d34d input: Binding.Set.clone handles leaders 2024-08-18 20:30:32 -07:00
Mitchell Hashimoto
bfb31c374e input: binding set needs to clean up leader memory on manual put 2024-08-18 20:30:32 -07:00
Mitchell Hashimoto
2bf20ec32c fix compilation but logic broken 2024-08-18 20:30:32 -07:00
Mitchell Hashimoto
39d91741e0 input: remove todo 2024-08-18 20:30:32 -07:00
Mitchell Hashimoto
2f71eb6f99 input: unwind properly on unbind 2024-08-18 20:30:32 -07:00
Mitchell Hashimoto
64a68eeaff input: more parseAndPut tests 2024-08-18 20:30:32 -07:00
Mitchell Hashimoto
c71615c467 input: binding.set can parse sequences... lots TODO 2024-08-18 20:30:32 -07:00
Mitchell Hashimoto
7dfad49e40 input: converting set entries to Entry from Action 2024-08-18 20:30:32 -07:00
Mitchell Hashimoto
bc4eab4af7 input: add Set.parseAndPut 2024-08-18 20:30:32 -07:00