4145 Commits

Author SHA1 Message Date
Mitchell Hashimoto
8507459e65 update zig version 2023-12-02 12:14:24 -08:00
Mitchell Hashimoto
b29c7d11cd Merge pull request #982 from mitchellh/font-metrics
font: faces use primary grid metrics to better line up glyphs
2023-12-02 10:34:15 -08:00
Mitchell Hashimoto
7f40881747 font: faces use primary grid metrics to better line up glyphs
Fixes #895

Every loaded font face calculates metrics for itself. One of the
important metrics is the baseline to "sit" the glyph on top of. Prior to
this commit, each rasterized glyph would sit on its own calculated
baseline. However, this leads to off-center rendering when the font
being rasterized isn't the font that defines the terminal grid.

This commit passes in the font metrics for the font defining the
terminal grid to all font rasterization requests. This can then be used
by non-primary fonts to sit the glyph according to the primary grid.
2023-12-02 09:51:15 -08:00
Mitchell Hashimoto
399dec6efa Merge pull request #981 from mitchellh/min-contrast
Minimum Contrast Configuration
2023-12-02 07:03:28 -08:00
Mitchell Hashimoto
62d69e95a5 config: improve docs for minimum-contrast 2023-12-01 22:09:52 -08:00
Mitchell Hashimoto
ec8f3d036e renderer/opengl: implement min contrast 2023-12-01 21:55:51 -08:00
Mitchell Hashimoto
e3eba92c0e renderer/metal: only apply min contrast if set and only on non-color fg 2023-12-01 21:26:33 -08:00
Mitchell Hashimoto
7af4009f27 renderer/metal: minimum contrast ratio is configurable 2023-12-01 21:24:38 -08:00
Mitchell Hashimoto
6c859cca82 renderer/metal: minimum contrast experiment
This uses WCAG2 algorithms with a minimum ratio hardcoded of 3:1. This
is not shippable in its current state because we want the ratio to be
configurable and I'm not happy with the way data is being sent to the
shader.
2023-12-01 20:51:16 -08:00
Mitchell Hashimoto
0d82b120da termio: set configured default cursor style on startup
Fixes #958
2023-12-01 19:39:16 -08:00
Mitchell Hashimoto
516edf1506 termio: only change mouse shape if it is changing
Fixes #976
2023-12-01 19:35:18 -08:00
Mitchell Hashimoto
a8c8dcdd98 Merge pull request #980 from mitchellh/macos-open
macos: do not open an initial window if opening from URL
2023-12-01 19:28:44 -08:00
Mitchell Hashimoto
6fed7cde19 macos: do not open an initial window if opening from URL 2023-12-01 19:28:06 -08:00
Mitchell Hashimoto
2b0e58d215 Merge pull request #978 from vancluever/vancluever-nix-zig-update
nix: update flake.lock for nixpkgs-zig-0-12
2023-12-01 14:01:24 -08:00
Mitchell Hashimoto
5e3f66299c Merge pull request #778 from mitchellh/mrn/gtk-tabs-splits
gtk: add support for splits
2023-12-01 13:46:19 -08:00
Mitchell Hashimoto
bd49947f98 apprt/gtk: fix next split issue 2023-12-01 13:45:56 -08:00
Mitchell Hashimoto
d311fb93ed apprt/gtk: gotoSplit gets proper previous/next direction 2023-12-01 13:21:31 -08:00
Chris Marchesi
f1bb1ab6c9 nix: update flake.lock for nixpkgs-zig-0-12
This updates the lockfile for nixpkgs-zig-0-12 so that the latest zig is
used for building the nix package.

Note that as per history on this topic, this currently only affects the
nix package (packages.ghostty), not the devShell.
2023-12-01 11:05:34 -08:00
Mitchell Hashimoto
f811ac6b18 apprt/gtk: gotoSplit, has some bugs 2023-12-01 09:58:57 -08:00
Mitchell Hashimoto
dc2cee1c78 apprt/gtk: rename parentSurface 2023-12-01 09:15:30 -08:00
Mitchell Hashimoto
967e091e2c apprt/gtk: just heap allocate the title text 2023-12-01 09:14:08 -08:00
Mitchell Hashimoto
c2c8f78cf8 apprt/gtk: comments 2023-12-01 09:11:14 -08:00
Mitchell Hashimoto
14ef6fb2f9 apprt/gtk: add comments, rename some funcs 2023-12-01 09:07:37 -08:00
Mitchell Hashimoto
e40b79906e apprt/gtk: do not deinit tab in closeTab 2023-12-01 09:07:09 -08:00
Mitchell Hashimoto
dd39b29f30 apprt/gtk: we don't need to keep track of Tabs 2023-12-01 08:52:08 -08:00
Mitchell Hashimoto
9a4d69b61f Merge pull request #975 from gpanders/cursor-pointer
Preserve cursor shape when over a link
2023-12-01 08:35:44 -08:00
Mitchell Hashimoto
c7eeda1f00 apprt/gtk: code aesthetic changes 2023-12-01 08:08:06 -08:00
Gregory Anders
b448501bf4 Preserve cursor shape when over a link
If mouse events are active and the cursor is hovered over a link,
pressing Shift does not change the cursor to a pointer, but to the text
selection shape, until the cursor is moved again. The pointer shape
should have higher priority over the text selection shape when the
cursor is hovered over a pointer.
2023-12-01 10:06:27 -06:00
Mitchell Hashimoto
89f4cf11c7 apprt/gtk: rename parent2 to parent 2023-11-30 21:46:43 -08:00
Thorsten Ball
7e9dce054f gtk: remove unneeded method setContainer on Surface
We don't need to update the titles, etc. since that's done by
`grabFocus` and that then makes the method not that useful. Removing for
now.
2023-11-30 21:44:52 -08:00
Thorsten Ball
1b4fc83f43 gtk: switch to long-held reference for GtkPaned 2023-11-30 21:44:52 -08:00
Thorsten Ball
e2a58b340c gtk: (temp) fix splitting top_left side in split
Before this change, it would crash when you had the following surfaces

             split1
               / \
              /   \
            surf1  \
                  split2
                   / \
               surf2  surf3

and you'd want to split `surf1` again. Splitting `surf2` or `surf3`
would be fine, but surf1 would break things.
2023-11-30 21:44:52 -08:00
Thorsten Ball
ba65b61fa9 gtk: restore detachable-tabs feature after adding splits 2023-11-30 21:44:52 -08:00
Thorsten Ball
3fef4fce56 gtk: move surface destroy through deref 2023-11-30 21:44:52 -08:00
Thorsten Ball
236e57a1f4 gtk: restore focus-grabbing after closing one side in split 2023-11-30 21:44:52 -08:00
Thorsten Ball
a18fb4a661 gtk: fix closing of windows that contains splits 2023-11-30 21:44:52 -08:00
Thorsten Ball
0065bae0d4 gtk: get closing of tabs working again (closing windows still broken) 2023-11-30 21:44:52 -08:00
Thorsten Ball
8cf9d97ac3 gtk: fix replacing of splits, remove dead code 2023-11-30 21:44:52 -08:00
Thorsten Ball
ecbe910714 gtk: fix closing of surfaces by releasing the ref to gl_area 2023-11-30 21:44:52 -08:00
Thorsten Ball
956fcf7349 gtk: fix compilation error after rebase 2023-11-30 21:44:52 -08:00
Mitchell Hashimoto
ec2aa8e322 apprt/gtk: maintain container pointers 2023-11-30 21:44:52 -08:00
Mitchell Hashimoto
06b40a8b89 apprt/gtk: closing tabs works again 2023-11-30 21:44:52 -08:00
Mitchell Hashimoto
cdd76a3b0b apprt/gtk: alternate approach to setting pane children 2023-11-30 21:44:52 -08:00
Mitchell Hashimoto
17445a7d87 apprt/gtk: nested splits are good 2023-11-30 21:44:51 -08:00
Mitchell Hashimoto
4c1300ab69 apprt/gkt: a lot of things are broken 2023-11-30 21:44:51 -08:00
Mitchell Hashimoto
79a9d417d1 apprt/gtk: working on new Split 2023-11-30 21:44:51 -08:00
Mitchell Hashimoto
83b0096dfc apprt/gtk: get rid of one newsurface call 2023-11-30 21:44:51 -08:00
Mitchell Hashimoto
f1547465cc apprt/gtk: new surface options down to just a couple 2023-11-30 21:44:51 -08:00
Mitchell Hashimoto
97b9708dd1 apprt/gtk: remove tab option from surface 2023-11-30 21:44:16 -08:00
Mitchell Hashimoto
14570b8a6c apprt/gtk: get rid of title label option, we can infer it on container 2023-11-30 21:44:16 -08:00