Mitchell Hashimoto
5a372f6a06
input/kitty: do not encode event with mods if press
...
Fixes #1082
2023-12-13 13:39:44 -08:00
Mitchell Hashimoto
cfc4889572
Merge pull request #1077 from meatcar/gtk-tab-middleclick-close
...
gtk: close tabs with middle-click
2023-12-13 11:59:41 -08:00
Mitchell Hashimoto
63f2d3ff1a
Merge pull request #1079 from mitchellh/unadjusted-box
...
font/sprite: manually determine which box codepoints are unadjusted
2023-12-13 11:07:15 -08:00
Mitchell Hashimoto
b3c685d385
Merge pull request #1080 from mitchellh/kitty
...
A couple Kitty keyboard fixes
2023-12-13 11:03:15 -08:00
Mitchell Hashimoto
c0eded766a
input/kitty: do not encode event+mods if they're both default
2023-12-13 10:57:17 -08:00
Mitchell Hashimoto
08e0d0b836
apprt/gtk: do not encode control characters into utf8 event field
2023-12-13 10:45:47 -08:00
Mitchell Hashimoto
b3522f548e
confirmance: fix unused var warnings
2023-12-13 10:36:08 -08:00
Mitchell Hashimoto
85b40874cf
font/sprite: manually determine which box codepoints are unadjusted
...
Some box codepoints (the cursor) want to use the original font metrics
height but others (corners) want to use the full grid height. I can't
see a better way to do this than manually maintaining a switch here. We
can add codepoints as needed.
2023-12-13 10:32:16 -08:00
Denys Pavlov
fc7013fc2e
gtk: close tabs with middle-click
...
Follow the behaviour of other tabbed interfaces like browsers, editors,
and file-managers.
GTK code is based on `/src/apprt/gtk/ImguiWidget.zig`
2023-12-13 11:14:35 -05:00
Mitchell Hashimoto
20dbe9792e
Merge pull request #1072 from mitchellh/cell-height
...
`adjust-cell-height` adjustments
2023-12-12 20:59:48 -08:00
Mitchell Hashimoto
1c3948f4d7
Merge pull request #1062 from mitchellh/mrn/gtk-equalize-splits
...
gtk: implement equalize_splits
2023-12-12 20:59:33 -08:00
Mitchell Hashimoto
8fc0cdb220
font: cursor size remains original cell height if height adjusted
...
Fixes #1067
2023-12-12 20:43:11 -08:00
Thorsten Ball
47b0592c73
gtk: use f64 everywhere instead of i16/f16/c_int
2023-12-13 05:38:34 +01:00
Mitchell Hashimoto
dafc02e29c
font: adjust cell baseline to center after modification, fix styles
...
Fixes #1064
Fixes #1066
2023-12-12 20:14:02 -08:00
Mitchell Hashimoto
6403ef1198
font/coretext: ceil the cell height and ascent metrics
...
Fixes #1068
2023-12-12 19:58:57 -08:00
Mitchell Hashimoto
7c2ecfea90
Merge pull request #1061 from jcollie/nix-formatting
...
Use Alejandra to format Nix modules.
2023-12-12 14:31:26 -08:00
Jeffrey C. Ollie
33c2ffcdd1
Fix another spelling error.
2023-12-12 12:57:06 -06:00
Jeffrey C. Ollie
f076d6c958
Fix spelling error.
2023-12-12 12:38:39 -06:00
Thorsten Ball
e67fa7abe0
gtk: implement equalize_splits
...
This adds support for the equalize_splits feature that's already
implemented for macOS.
It's essentially a port of the Swift implementation, using the same
weights-mechanism to equalize split sizes.
2023-12-12 19:30:29 +01:00
Jeffrey C. Ollie
ec5b26347f
Add formatter output to flake so that 'nix fmt' does the right thing.
2023-12-12 11:55:44 -06:00
Jeffrey C. Ollie
c4ed1f1b80
Use Alejandra to format Nix modules.
2023-12-12 11:38:39 -06:00
Mitchell Hashimoto
2f9750ad7f
Merge pull request #1057 from vancluever/vancluever-powerline-half-circle-ellipse-refs
...
Powerline: add references for the ellipse algorithm
2023-12-12 07:46:59 -08:00
Mitchell Hashimoto
cee213d00b
Merge pull request #1060 from gpanders/osc-hex-colors
...
term: parse hex color string for OSC commands
2023-12-12 07:46:34 -08:00
Mitchell Hashimoto
2a611f5c19
Merge pull request #1059 from jcollie/nix-subpackages
...
Add "terminfo" and "shell_integration" subpackages to the Nix package
2023-12-12 07:45:36 -08:00
Gregory Anders
2da05a6d5c
term: parse hex color string for OSC commands
2023-12-12 09:43:38 -06:00
Jeffrey C. Ollie
bba8583a21
Add "terminfo" and "shell_integration" subpackages to the Nix package so that the Ghostty
...
terminfo and shell integration files can be installed on a headless server without copying all
of Ghostty to the server. Implementation liberally cribbed from the Kitty Nix package.
2023-12-12 09:30:21 -06:00
Chris Marchesi
c03ae47a27
Powerline: add references for the ellipse algorithm
...
Further to the additional comments in #1055 , this adds some references
to the comments in the ellipse algorithm (including the original
reference for the circle algorithm).
2023-12-12 00:10:40 -08:00
Mitchell Hashimoto
e5acb082c1
Merge pull request #1056 from mitchellh/ct-shaping
...
CoreText font shaper, fix glyph offset handling (in Harfbuzz, too)
2023-12-11 22:17:27 -08:00
Mitchell Hashimoto
24d4981996
font: note why shaper is not enabled
2023-12-11 21:58:49 -08:00
Mitchell Hashimoto
bcf6753c68
renderer/opengl: use new glyph offsets
2023-12-11 21:47:03 -08:00
Mitchell Hashimoto
34cdb871f5
font/coretext: clarify buggy coretext shaper
2023-12-11 21:42:49 -08:00
Mitchell Hashimoto
489ed57e2f
font/harfbuzz: track x/y offsets
2023-12-11 21:41:13 -08:00
Mitchell Hashimoto
d116ed0583
Merge pull request #1055 from vancluever/vancluever-powerline-half-circle-ellipse
...
Powerline: Change half-circle algorithm to ellipse
2023-12-11 21:30:11 -08:00
Mitchell Hashimoto
114723af9e
font/coretext: shaper applies x/y offsets
2023-12-11 21:22:30 -08:00
Chris Marchesi
4aa56ab8dd
Powerline: Change half-circle algorithm to ellipse
...
This changes the half-circle drawing algorithm for glyphs E0B4 and E0B6
to an ellipse algorithm.
This fixes a shortcoming in the circle approach - how do you handle
drawing for a box that is not a typical 2:1 H*W? We were trying to
anticipate this by taking the smaller of the two axes and using that for
the radius. This works when there's some error in the zoom and the x
radius somehow becomes larger than the y radius (in observation, this
happens occasionally in some zoom steps, but only slightly).
However, turns out a more realistic anticipation is for fonts that have
a much *larger* height-to-width ratio. Iosevka, for example, has an
approx. 2.6:1 ratio (observed in the inspector). In this instance, this
approach does nothing except lock the circle to an extremely small
radius. For this instance, we need an ellipse, which will handle all
cases in an expected fashion.
Fixes #1050 .
2023-12-11 21:01:11 -08:00
Mitchell Hashimoto
cc0b615552
pkg/macos: more APIs
2023-12-11 20:48:45 -08:00
Mitchell Hashimoto
fcd9de0311
font/coretext: coretext shaper is cleaner
2023-12-11 12:56:30 -08:00
Mitchell Hashimoto
b0a7db65be
Merge pull request #1051 from RGBCube/main
...
input: add scroll_page_lines
2023-12-11 12:45:35 -08:00
RGBCube
d659b12fb9
input: add scroll_page_lines
2023-12-11 23:35:40 +03:00
Mitchell Hashimoto
62a5fe0236
font/shape: add coretext shaper
2023-12-11 11:13:49 -08:00
Mitchell Hashimoto
0137f5b0d3
pkg/macos: add many more text APIs
2023-12-11 11:12:29 -08:00
Mitchell Hashimoto
22a0869525
font/shaper: if char is 0, should send space to shaper
2023-12-11 11:12:29 -08:00
Mitchell Hashimoto
ff68c56268
pkg/macos: implement CTRun
2023-12-11 11:12:28 -08:00
Mitchell Hashimoto
554d2d0185
Merge pull request #1048 from mitchellh/combining
...
font: position combining character correctly on x-axis
2023-12-11 07:56:12 -08:00
Mitchell Hashimoto
3e9a6e4de5
renderer/opengl: apply extra offset for zero-advance glyphs
2023-12-10 17:10:00 -08:00
Mitchell Hashimoto
5e9ddb5e65
renderer/metal: offset zero-advance glyphs by the cell width
2023-12-10 17:08:32 -08:00
Mitchell Hashimoto
3fdb6a496d
font/coretext: calculate advance_x properly
2023-12-10 17:08:20 -08:00
Mitchell Hashimoto
39b15a13b4
Merge pull request #1045 from mitchellh/macos-tab
...
macos: previous_tab/next_tab wraps
2023-12-10 15:13:40 -08:00
Mitchell Hashimoto
45a4573991
macos: previous_tab/next_tab wraps
...
Fixes #999
2023-12-10 15:12:22 -08:00
Mitchell Hashimoto
9bd8aa3cce
Merge pull request #1044 from mitchellh/keybind-clear
...
config: keybind = clear clears unmaps all keybinds
2023-12-10 14:25:50 -08:00