5188 Commits

Author SHA1 Message Date
cryptocode
dbe6d6c29c Inspector: change color picker to use hex values
The inspector currently show colors as decimal r,g,b values. With this change,
the hex format is used instead.

The motivation for this is that references to color typically use the hex format. One example
is the palette definitions in a color scheme. Using the inspector/cell picker to help
create and debug color themes should be more convenient after this change.

If there's a usecase for the decimal format, we could add a config option or maybe a switch
in the inspector UI.
2024-08-28 17:55:59 +02:00
Justin Su
f8f289e8b9 config: document left/right values for macos-option-as-alt 2024-08-27 20:36:29 -04:00
Mitchell Hashimoto
89e16ebef5 Revert "Merge pull request #2153 from ghostty-org/metal-cursor"
This reverts commit ee3eb8fe3db53b8896def28cb79c8637cd9ad1fc, reversing
changes made to 3746fed0b92a8bf69862f4832840597a4bf2ffd8.
2024-08-27 09:31:12 -07:00
Qwerasd
a3fb96f543 this should be a doc comment 2024-08-27 01:23:29 -04:00
Qwerasd
ff0c1141da renderer: add updateFrame critical region timings for dev benchmark 2024-08-27 01:23:29 -04:00
Qwerasd
5714c2feed PageList: refactor clone to avoid excess work
Also avoids leaving content in out-of-bounds rows, since it doesn't copy
the content to them in the first place. Over all, just a lot cleaner.
2024-08-27 01:23:29 -04:00
Qwerasd
38bb9b40a6 Terminal: release hyperlink before copying cursor when switching screen
To avoid an unnecessary copy.
2024-08-27 01:07:29 -04:00
Qwerasd
170f55aa84 Screen: update cursorCopy to handle hyperlink state 2024-08-27 01:07:29 -04:00
Qwerasd
cb1cb3526a test(Screen): add failing tests for cursorCopy hyperlink handling 2024-08-27 01:07:29 -04:00
Qwerasd
d43d5b26ee fix(terminal): avoid trying to clone bad managed memory in reflow
If we call `moveLastRowToNewPage` at any point because we failed to copy
some managed memory, it tries to copy managed memory that hasn't been
cloned yet when moving our progress to a new page.

Avoid this by setting our content tag, hyperlink flag, and style id to
indicate no managed memory is present on the cell.
2024-08-27 01:01:31 -04:00
Qwerasd
a6992baa30 fix(terminal): don't MOVE hyperlinks in clonePartialRowFrom 2024-08-27 01:01:31 -04:00
Qwerasd
30bba9bf06 terminal: move refcount responsibility out of setHyperlink
avoids double counting in several places
2024-08-27 01:01:31 -04:00
Mitchell Hashimoto
bdcc21942d config: font-synthetic-style to enable/disable synthetic styles
This adds a new configuration "font-synthetic-style" to enable or
disable synthetic styles. This is different from "font-style-*" which
specifies a named style or disables a style completely.

Instead, "font-synthetic-style" will disable only the creation of
synthetic styles in the case a font does not support a given style.
This is useful for users who want to obviously know when a font doesn't
support a given style or a user who wants to explicitly only use the
styles that were designed by the font designer.

The default value is to enable all synthetic styles.
2024-08-26 20:52:34 -07:00
Mitchell Hashimoto
80327402b8 Merge pull request #2120 from edmz/last_tab
macos: jump to last_tab
2024-08-26 20:22:52 -07:00
Mitchell Hashimoto
512b24818a apprt/gtk: fix int cast 2024-08-26 20:16:23 -07:00
Mitchell Hashimoto
d7e7f55956 apprt/gtk: support last_tab 2024-08-26 20:13:28 -07:00
Mitchell Hashimoto
3d1ee3daa8 apprt: make gotoTab handle all tab movements 2024-08-26 20:13:27 -07:00
Mitchell Hashimoto
02c6fb5a8c config: remove the super+0 binding for last_tab 2024-08-26 19:59:20 -07:00
Mitchell Hashimoto
788c1e92b8 renderer/metal: cursor should be drawn on top of fg cells
This is done by moving it from list 0 in the pool to list `rows`.
2024-08-26 19:55:12 -07:00
Nihaal Sangha
a4b1fc9dba Add space to commentstring in Vim plugin
See https://github.com/vim/vim/pull/14843.
2024-08-26 21:38:07 +01:00
Mitchell Hashimoto
b40b6c3438 config: clarify window-width/height behavior 2024-08-26 10:16:39 -07:00
Mitchell Hashimoto
18419d3589 Clamp initial window size configurations to screen size
Fixes #2145
2024-08-26 10:09:05 -07:00
Mitchell Hashimoto
c1e978e33d font/coretext: tweak synthetic bold amount to be slightly lighter 2024-08-26 09:37:01 -07:00
Mitchell Hashimoto
915ec029ee font/freetype: synthetic bold 2024-08-25 09:51:09 -07:00
Mitchell Hashimoto
5f0daa23b9 font/freetype: synthetic italic 2024-08-24 21:03:54 -07:00
Mitchell Hashimoto
7747eaf11d apprt/embedded: use new copyAttribute API for CoreText 2024-08-24 20:52:36 -07:00
Mitchell Hashimoto
def4abf6a9 font: support variations for coretext_freetype backend 2024-08-24 20:35:54 -07:00
Mitchell Hashimoto
d0c510ed29 Merge pull request #2128 from jcollie/kitty-color-protocol-fixup
Clean up Kitty color protocol by using a union
2024-08-24 19:57:44 -07:00
Mitchell Hashimoto
8e2d63b6fa small stylistic changes 2024-08-24 19:55:09 -07:00
Mitchell Hashimoto
ac3e2163f3 typos 2024-08-24 19:49:04 -07:00
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
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