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