4514 Commits

Author SHA1 Message Date
Krzysztof Wolicki
5698607a1c Clean pkg/fontconfig/build.zig 2024-01-07 20:54:22 +01:00
Krzysztof Wolicki
9964a55d47 Update source for zig-build-macos-sdk for pkg/apple-sdk 2024-01-07 20:48:00 +01:00
Krzysztof Wolicki
12f4210558 Update required zig version to 0.12.0-dev.2063+804cee3b9 2024-01-07 20:42:30 +01:00
Krzysztof Wolicki
54e866d16e Change source of mach_glfw to experimental branch in fork 2024-01-07 19:25:06 +01:00
Krzysztof Wolicki
f917be968d Merge branch 'mitchellh:main' into main 2024-01-07 19:13:06 +01:00
Krzysztof Wolicki
ddebb31b8a Add include paths to more modules in pkg/ 2024-01-07 19:07:16 +01:00
Krzysztof Wolicki
6c7c5eecce Add include paths to freetype module 2024-01-07 18:45:07 +01:00
Krzysztof Wolicki
9e14a7ea62 Add include paths to modules in pkg/ 2024-01-07 17:39:39 +01:00
Krzysztof Wolicki
eb4ede8b6f Update sources for zig-objc and zig-js 2024-01-07 17:37:42 +01:00
Mitchell Hashimoto
e1a28dcabf Merge pull request #1245 from mitchellh/clear-screen-consume
core: clear_screen binding doesn't consume on alt screen
2024-01-07 08:04:59 -08:00
Mitchell Hashimoto
383b7c5870 core: clear_screen binding doesn't consume on alt screen
The clear_screen binding does nothing on the alternate screen already,
but we were still marking the action as "performed" which caused the
binding to be consumed.

This meant that alt screen applications like neovim, tmux, etc. couldn't
see "cmd+k" (default binding for clear_screen on macOS) without the
Ghostty user unbinding it completely.

We already have other bindings that do not consume only when they do not
perform, such as `previous_tab` and `next_tab`. This extends the
framework we built for that to this action.
2024-01-07 07:54:42 -08:00
Krzysztof Wolicki
5bb25536e1 Update source for libxev 2024-01-07 15:00:31 +01:00
Krzysztof Wolicki
5776c54225 Update changed build.zig 2024-01-07 15:00:17 +01:00
Mitchell Hashimoto
76f760c7eb Merge pull request #1241 from mitchellh/monaspace-ligs
font: insert blank cells for multi-cell ligatures for styling
2024-01-06 19:40:47 -08:00
Mitchell Hashimoto
f447e6f9df font: insert blank cells for multi-cell ligatures for styling
Up to this point, every font I've experienced with ligatures has
replaced the codepoints that were replaced for combining with a space.
For example, if a font has a ligature for "!=" to turn it into a glyph,
it'd shape to `[not equal glyph, space]`, so it'd still take up two
cells, allowing us to style both.

Monaspace, however, does not do this. It turns "!=" into `[not equal
glyph]` so styles like backgrounds, underlines, etc. were not extending.

This commit detects multi-cell glyphs and inserts synthetic blank cells
so that styling returns. I decided to do this via synthetic blank cells
instead of introducing a `cell_width` to the shaper result because this
simplifies the renderers to assume each shaper cell is one cell. We can
change this later if we need to.

Annoyingly, this does make the shaper slightly slower for EVERYONE to
accomodate one known font that behaves this way. I haven't benchmarked
it but my belief is that the performance impact will be negligible
because to figure out cell width we're only accessing subsequent cells
so they're likely to be in the CPU cache and also 99% of cells are going
to be width 1.
2024-01-06 19:22:25 -08:00
Mitchell Hashimoto
1403db8835 Merge pull request #1239 from jcollie/nix-fix-build
In some cases, 'self' would not be passed to the package. It's not necessary so remove it.
2024-01-06 15:19:22 -08:00
Jeffrey C. Ollie
6626c315d7 In some cases, 'self' would not be passed to the package. It's not necessary so remove it. 2024-01-06 16:30:40 -06:00
Mitchell Hashimoto
0369a6d5a7 Merge pull request #1238 from mitchellh/macos-shell
macOS: detect changed shell (via `chsh`) immediately without requiring system restart
2024-01-06 12:40:02 -08:00
Mitchell Hashimoto
d65fbba39e config: do not load command from SHELL when launched from desktop
Fixes #139

From the issue:

Looking into this now, I think I figured out the broken logic. When launching
from open, the parent process of Ghostty is launchd which appears to set your
SHELL env var to your configured shell when logging in. That's why a restart
fixes it. However, I believe directory services (the macOS equivalent to
/etc/passwd) is updated in real time.

Ghostty does read directory services but at a lower priority than SHELL.
This logic makes sense for CLI-launched terminals but not desktop-launched.
From a CLI you want the terminal you're launching to probably inherit the shell
from the CLI you launched it from. (Note that using open explicitly forces a
launchd-style launch so it quacks as if it was double-clicked on the desktop).

In conclusion, I believe the correct logic is to invert the priority on SHELL
vs directory services when Ghostty detects it was launched from launchd. We
already have this detection logic in Ghostty because we use it for a number of
other things as well, so this should be easy to fix. I'll work on it later
today.
2024-01-06 12:31:01 -08:00
Mitchell Hashimoto
8a816dc5ef os: mac app launched with bundle env var is treated as desktop launch 2024-01-06 12:30:44 -08:00
Mitchell Hashimoto
0c40c99887 Merge pull request #1235 from jcollie/nix-full-version
Include the git commit hash in the Nix package.
2024-01-06 10:50:29 -08:00
Jeffrey C. Ollie
f09901f236 Include '-nix' in the version string to distinguish Nix builds. 2024-01-06 00:08:30 -06:00
Mitchell Hashimoto
c93436ad5d Merge pull request #1236 from mitchellh/apple-emoji
Prefer Apple Emoji on macOS, don't crash on unknown Freetype error
2024-01-05 21:48:00 -08:00
Jeffrey C. Ollie
0200f79554 Include the git commit hash in the Nix package. 2024-01-05 23:44:53 -06:00
Mitchell Hashimoto
efd196e5c9 pkg/freetype: unknown errors should be reported, not unreachable 2024-01-05 21:08:39 -08:00
Mitchell Hashimoto
962be81f71 core: add Apple Color Emoji on macOS if its available 2024-01-05 21:03:37 -08:00
Krzysztof Wolicki
710b02a2ab Merge branch 'main' of github.com:mitchellh/ghostty 2024-01-06 05:42:55 +01:00
Mitchell Hashimoto
58e9eb80ab Merge pull request #1233 from mitchellh/shell-alloc
termio: support XDG data dirs greater than 4k for fish shell integration
2024-01-05 14:29:57 -08:00
Mitchell Hashimoto
48f316ebd2 termio: support XDG data dirs greater than 4k for fish shell integration
Fixes #1228
2024-01-05 14:27:12 -08:00
Mitchell Hashimoto
c0ba361708 Merge pull request #1232 from mitchellh/service_window
macos: Address window spawning and ordering issues from service.
2024-01-05 12:33:17 -08:00
Mitchell Hashimoto
42c10de814 macos: move active state to delegate 2024-01-05 12:32:18 -08:00
Vivek Roy
3aad646be2 macos: Address window spawning and ordering issues from service. 2024-01-06 00:35:34 +05:30
Mitchell Hashimoto
5a56b6ccad Merge pull request #1231 from mitchellh/macos-winsize
macos: set initial window size in controller window init
2024-01-05 09:55:45 -08:00
Mitchell Hashimoto
9bf13c6236 macos: set initial window size in controller window init
Fixes #1227
Fixes #1206

This moves the logic that respects `window-width` and `window-height` to
the controller window initialization. This is where it should've been
all the time but we previously didn't use a controller architecture so
we did our best to use heuristics in the view to do this.

This location now ensures that this only happens on window
initialization and only if we have one surface.
2024-01-05 09:42:50 -08:00
Mitchell Hashimoto
095394e562 Merge pull request #1226 from mitchellh/boehs/1213
Fix #1213 (create dir if needed for settings)
2024-01-05 09:03:14 -08:00
Mitchell Hashimoto
cf18e23256 config: create the config dir recursively for edit 2024-01-05 09:01:30 -08:00
Mitchell Hashimoto
a62061aec6 config: use dirname so we don't have to alloc a new dir for edit 2024-01-05 07:54:20 -08:00
Mitchell Hashimoto
f679489a65 Merge pull request #1224 from gpanders/windows-crlf
cli: strip CR in line iterator
2024-01-05 07:40:22 -08:00
Gregory Anders
5fe2d03e96 cli: strip CR in line iterator 2024-01-05 09:37:55 -06:00
Evan Boehs
3a93831e39 Fix #1213 (create dir if needed for settings) 2024-01-05 10:36:26 -05:00
Mitchell Hashimoto
929552354c update README about zig version 2024-01-05 07:32:53 -08:00
Mitchell Hashimoto
20300f46da Merge pull request #1220 from jcollie/gtk-open-config-menu
Add 'Open Config' menu to the GTK runtime and synchronize config-related keybindings across platforms.
2024-01-04 22:04:54 -08:00
Mitchell Hashimoto
198c7e3203 Merge pull request #1219 from mitchellh/config-change
renderer: reload background, foreground, cursor-color at runtime
2024-01-04 21:55:53 -08:00
Mitchell Hashimoto
be176bb8bd renderer: reload background, foreground, cursor-color at runtime
Fixes #1212
2024-01-04 21:47:12 -08:00
Jeffrey C. Ollie
698954031a Add 'Open Config' menu to the GTK runtime and synchronize config-related keybindings across platforms. 2024-01-04 23:30:22 -06:00
Mitchell Hashimoto
6c529c92f2 Merge pull request #1217 from widberg/main
Windows Fixes
2024-01-04 19:48:28 -08:00
Mitchell Hashimoto
38c5258d6e termio/exec: small change 2024-01-04 19:48:08 -08:00
Mitchell Hashimoto
e06cddb4b6 Merge pull request #1216 from imabadparent/add-codenewroman-nerd-font-to-quirks
quirks: add CodeNewRoman Nerd Font to quirks
2024-01-04 19:37:22 -08:00
widberg
2e79b5c63d Use cmd.exe instead of sh on Windows 2024-01-04 21:24:24 -05:00
widberg
cc29f06863 Don't build with LTO on Windows 2024-01-04 21:24:15 -05:00