6103 Commits

Author SHA1 Message Date
Mitchell Hashimoto
733ce19654 terminal: handle case where eraseRowBounded happens at top of page
Fixes #1677

If eraseRowBounded is called at the top of a page AND there is a tracked
pin at the top of the page, then we'd have an integer overflow. The test
case covers this and this adds a fix.
2024-04-13 20:45:39 -07:00
Mitchell Hashimoto
7a8c2fb8a0 Merge pull request #1623 from peteschaffner/titlebar-unzoom-button
Add un-zoom button to titlebar and tabs
2024-04-12 10:23:14 -07:00
Mitchell Hashimoto
9a198ba917 Merge pull request #1674 from mitchellh/debian_note
Mention Debian in compilation notes
2024-04-12 10:22:58 -07:00
Mitchell Hashimoto
5dece7f56f Merge pull request #1675 from jparise/titlebar-font-default
macos: fall back to the system titlebar font
2024-04-12 09:16:27 -07:00
Jon Parise
c09035f228 macos: fall back to the system titlebar font
We allow titlebarFont to be nil to differentiate between "system" (nil)
and "custom" (non-nil) behavior. For the "system" case, we need to use
the system _titlebar_ font (rather than just the default system font),
to match the system's conventions.
2024-04-12 09:05:35 -07:00
Nick Jones
df0af25cdb Mention Debian in compilation notes
A minor addition, but saves future folks wondering if they need to
figure out different packages on Debian in order to get Ghostty to
compile (they don't).
2024-04-12 09:47:19 +01:00
Mitchell Hashimoto
260f617f92 Merge pull request #1673 from mitchellh/font-mem
font: SharedGridSet.Key needs to clone the DerivedConfig
2024-04-11 17:38:22 -04:00
Mitchell Hashimoto
13d9c0159d font: SharedGridSet.Key needs to clone the DerivedConfig
Key contains pointers into DerivedConfig. Each surface has its own
DerivedConfig. This would cause memory corruption if the surface that
opened the initial font grid deallocates. Instead, let's make sure Key
owns its own DerivedConfig.
2024-04-11 13:04:23 -04:00
Mitchell Hashimoto
c5496b89ee nix: do not build ZLS on linux aarch64, see comment 2024-04-11 05:30:20 -07:00
Mitchell Hashimoto
a198cc300e macos: add the debug menu item to the xcode run scheme 2024-04-09 21:20:46 -04:00
Mitchell Hashimoto
a1923c105c Merge pull request #1671 from mitchellh/font-dpi
font: SharedGridSet must hash diff for font size change
2024-04-09 08:50:52 -04:00
Mitchell Hashimoto
f67c2b70a7 font: SharedGridSet must hash diff for font size change
Fixes #1670

This fixes two issues:

  - If no font families are set, font points would not change the hash.
  - DPI changes would not change the hash.

When the hash doesn't change when it should, we reuse a font stack due
to changes in #1662. This would cause some font issues. :)
2024-04-09 08:45:01 -04:00
Mitchell Hashimoto
97a7c75437 Merge pull request #1669 from qwerasd205/fix-U+255D
font/sprite: Fix U+255D
2024-04-09 08:22:33 -04:00
Qwerasd
4b33f07b73 font/sprite: Fix U+255D
Double Up and Left '╝' previously had a hole in the bottom, extend line to fill gap.
2024-04-08 23:10:00 -04:00
Mitchell Hashimoto
a86062c6cf Merge pull request #1668 from qwerasd205/fix-style-discovery
font: fix discovery of styles
2024-04-08 21:33:00 -04:00
Qwerasd
155a6d1114 font: fix discovery of styles
These are meant to be absolute indexes, make it so.
2024-04-08 20:44:17 -04:00
Mitchell Hashimoto
188d25b5d9 font/coretext: fix merge issue from #1662 2024-04-08 17:07:00 -04:00
Mitchell Hashimoto
e66e82787b Merge pull request #1662 from mitchellh/fontmem
Dedupe font stack for terminals with identical font configuration
2024-04-08 16:57:58 -04:00
Mitchell Hashimoto
b8410187c8 Merge pull request #1666 from mitchellh/ct-runs
font/coretext: shaper may return multiple runs and that's okay
2024-04-08 08:05:29 -07:00
Mitchell Hashimoto
edac4a113f font/coretext: shaper may return multiple runs and that's okay
Fixes #1664

I previously asserted that we got exactly one run from CoreText because
I assumed that our run iterator was perfectly splitting runs for
CoreText. This assumption appears to be false and that seems okay.

The test case in this commit produces two runs that are directly next to
each other and there's no downside to simply iterating over them. So
this commit changes to iterate over the runs.
2024-04-08 10:52:50 -04:00
Mitchell Hashimoto
0d8aa788c5 Merge pull request #1665 from aca/dbg
input: fix bs emitting sequence when it should not
2024-04-08 06:21:13 -07:00
rok
df9b8f1fbc input: fix bs emitting sequence when it should not
In korean input method on macos, it should simply return empty string.
Issue was created after https://github.com/mitchellh/ghostty/pull/1659.

```
gksr<BS> # 한ㄱ<BS>
```

'ㄱ' at the end should be removed with single <BS>, but for now
it requires two <bs> to remove 'ㄱ'.
2024-04-08 22:11:01 +09:00
Mitchell Hashimoto
21a648748d font: CodepointMap supports clone 2024-04-07 10:54:59 -07:00
Mitchell Hashimoto
06df9b7867 font: remove old files 2024-04-06 20:10:57 -07:00
Mitchell Hashimoto
e3402cef4d address many fontmem todos 2024-04-06 20:00:22 -07:00
Mitchell Hashimoto
3b0b9c2cfd renderer/opengl: set the font grid 2024-04-06 19:55:00 -07:00
Mitchell Hashimoto
2f61f7d6a3 font: fix hashing of descriptor strings 2024-04-06 19:49:14 -07:00
Mitchell Hashimoto
21605eaab7 apprt/embedded: setfontsize 2024-04-06 19:37:41 -07:00
Mitchell Hashimoto
84f30a6064 apprt/gtk: setFontsize should have error 2024-04-06 19:36:59 -07:00
Mitchell Hashimoto
3afeac99e9 renderer/opengl: support font size change 2024-04-06 19:35:56 -07:00
Mitchell Hashimoto
506ba854fa core: font size changes work 2024-04-06 19:33:49 -07:00
Mitchell Hashimoto
f51dad445f core: add todo for next time 2024-04-06 10:56:21 -07:00
Mitchell Hashimoto
b8d11e57c9 renderer/Metal: change font size works again 2024-04-06 10:55:58 -07:00
Mitchell Hashimoto
ebd31ad50f font: SharedGridSet DerivedConfig does not take font size 2024-04-06 10:45:44 -07:00
Mitchell Hashimoto
b9efd83798 font: SharedGridSet uses DerivedConfig 2024-04-06 10:37:26 -07:00
Mitchell Hashimoto
07a5dd0442 config: FontStyle.clone 2024-04-06 10:28:57 -07:00
Mitchell Hashimoto
efb8146c28 config: RepeatableString.clone should clone all the strings too 2024-04-06 10:20:16 -07:00
Mitchell Hashimoto
00f677fd51 font: SharedGridSet locks and is thread-safe 2024-04-06 10:08:52 -07:00
Mitchell Hashimoto
a22ca8e4c1 renderer/opengl: clean up texture sync 2024-04-06 09:34:34 -07:00
Mitchell Hashimoto
45f518851d renderer/opengl: convert to SharedGrid, new windows/tabs are frozen 2024-04-05 22:00:51 -07:00
Mitchell Hashimoto
b77513de1a font/harfbuzz: work with new font structures 2024-04-05 21:48:53 -07:00
Mitchell Hashimoto
6aa659c4b5 renderer/metal: re-enable preedit rendering 2024-04-05 21:39:39 -07:00
Mitchell Hashimoto
2a06cf54ba core: App asserts the font grid set is empty on close 2024-04-05 21:28:50 -07:00
Mitchell Hashimoto
29b172b3ac renderer/metal: use new atlas APIs 2024-04-05 21:13:10 -07:00
Mitchell Hashimoto
de2b0f6857 font: Atlas updated to use monotonic ID 2024-04-05 21:10:10 -07:00
Mitchell Hashimoto
c45747bf1f font: implement many rendering, caching functions for SharedGrid 2024-04-05 20:50:35 -07:00
Mitchell Hashimoto
c88137d254 font/shaper: work on new grid APIs 2024-04-05 20:21:13 -07:00
Mitchell Hashimoto
90ea733cbd font: SharedGrid hasCodepoint 2024-04-05 19:07:45 -07:00
Mitchell Hashimoto
c99b27d364 font: SharedGrid.getIndex 2024-04-05 19:00:41 -07:00
Mitchell Hashimoto
329697779a renderer/metal: convert more 2024-04-05 18:51:26 -07:00