7048 Commits

Author SHA1 Message Date
Mitchell Hashimoto
ce6c5517af font: synthesize bold italic 2024-08-23 21:08:41 -07:00
Mitchell Hashimoto
d22551cd31 font/coretext: support synthetic bold 2024-08-23 20:53:22 -07:00
Mitchell Hashimoto
74291793db font: rename auto-italicize to synthetic italic 2024-08-23 20:34:37 -07:00
Mitchell Hashimoto
14b04439d0 Merge pull request #2142 from jparise/editorconfig-swift
editorconfig: add swift style
2024-08-23 20:26:42 -07:00
Mitchell Hashimoto
98f7ed23c7 Merge pull request #2143 from ghostty-org/font-tweaks
Font Improvements
2024-08-23 20:26:27 -07:00
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
Jon Parise
fe5fb60374 editorconfig: add swift style
Xcode 16 introduces support for EditorConfig-based editor settings. Many
other editors also support EditorConfig.

In particular, this enables trailing whitespace trimming for Swift
source files.
2024-08-23 14:16:09 -04: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
0e3ecbeaf0 Merge pull request #2138 from ghostty-org/macos-reopen
macos: do not open a window on reopen if terminal manager has any
2024-08-22 23:02:15 -04:00
Mitchell Hashimoto
90d21a6a65 macos: do not open a window on reopen if terminal manager has any
Fixes #2135. See the comment on how this is possible.
2024-08-22 19:58:41 -07:00
Mitchell Hashimoto
80f20712e3 Merge pull request #2137 from ghostty-org/extend-color
renderer: do not extend padding color if any cell has default bg color
2024-08-22 22:49:40 -04: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
0b87eb7147 Merge pull request #2129 from pnodet/patch-4
style(macos): cleanup trailing spaces
2024-08-22 13:48:01 -04:00
Mitchell Hashimoto
70bf6e7ad9 Merge pull request #2131 from ghostty-org/osc8-resize
terminal: hyperlink state for cursor needs to be preserved on resize
2024-08-22 09:35:58 -04: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
pnodet
7ff9af1520 style(macos): cleanup trailing spaces 2024-08-21 21:53:09 +02: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
Mitchell Hashimoto
c9f40b7b8d Merge pull request #2124 from rockorager/format-keysequences
cli(list-keybinds): format key sequences
2024-08-20 10:45:06 -07: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
4ca0f35b6f Merge pull request #2123 from ghostty-org/ct-thicken
font/coretext: font-thicken renders with additional padding on context
2024-08-19 20:57:31 -07: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
cac22bd173 Merge pull request #2121 from ghostty-org/keyseq
Sequenced Keybindings
2024-08-19 18:08:37 -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
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
Mitchell Hashimoto
443a5e12e7 Merge pull request #2119 from bschaatsbergen/d/add-deps-instruction
docs: add installing dependencies
2024-08-19 09:09:20 -07:00
Bruno Schaatsbergen
8fa71d3b90 chore: rm run 2024-08-19 18:00:01 +02:00
Bruno Schaatsbergen
acb9908e3c docs: add deps install
Signed-off-by: Bruno Schaatsbergen <git@bschaatsbergen.com>
2024-08-19 09:53:58 -04: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