11266 Commits

Author SHA1 Message Date
Jeffrey C. Ollie
dd3853abeb cli/gtk: move IPC/sendIPC to App/performIpc 2025-07-14 14:48:12 -05:00
Jeffrey C. Ollie
f5eb413c31 cli/gtk: clean ups and better error handling in GTK new-window IPC 2025-07-14 14:48:12 -05:00
Jeffrey C. Ollie
7d05f4c0c5 cli/gtk: don't set GHOSTTY_CLASS 2025-07-14 14:48:12 -05:00
Jeffrey C. Ollie
361d03b578 cli/gtk: remove --release and --debug flags, use optional for arguments 2025-07-14 14:48:12 -05:00
Jeffrey C. Ollie
58867b0717 cli/gtk: add some more C bits 2025-07-14 14:48:12 -05:00
Jeffrey C. Ollie
81358c8dca cli/gtk: replace @hasDecl for performAction-style API
Instead of using @hasDecl, use a performAction-stype API. The C
interface for interfacing with macOS (or any other apprt where Ghostty
is embedded) is unfinished.
2025-07-14 14:48:11 -05:00
Jeffrey C. Ollie
72e47cf8bc cli/gtk: move actual IPC code tp apprt 2025-07-14 14:48:11 -05:00
Jeffrey C. Ollie
824185f23e cli/gtk: add -e to +new-window
This adds the `-e` flag to the `+new-window` CLI action. This allows a
command to be passed from the CLI to the running instance of Ghostty.
Nothing is done with that command besides logging its presence.
2025-07-14 14:48:11 -05:00
Jeffrey C. Ollie
721702fce4 cli/gtk: move GTK-specific code to a new file in a subdirectory 2025-07-14 14:48:11 -05:00
Jeffrey C. Ollie
340d190bf0 cli/gtk: clarify +new-window documentation and improve instance discovery
- Add a `GHOSTTY_CLASS` environment variables to any command executed by
  Ghostty to make discovering the correct application ID easier.

- Add a flag to force the relelase application ID.

- Ensure that CLI flags to `+new-window` are mutually exclusive.

- Fix documentation about D-Bus activation requirements.
2025-07-14 14:48:11 -05:00
Jeffrey C. Ollie
7845399c00 cli/gtk: add +new-window action
This will (on GTK) use a D-Bus method call to tell a running
Ghostty instance to open a new window. If D-Bus activation is
configured properly, Ghostty does not need to be running first.

This could be extended to other platforms, e.g. AppleScript on macOS
eventually.

When Ghostty develops a native API, that could be used instead to create
a new window.
2025-07-14 14:48:10 -05:00
Mitchell Hashimoto
ca5e361977 macos: restore tabs correctly into a single window (#7942)
Fixes #7941

I don't fully understand the fix here. Its code we've had for awhile it
was just in the wrong place after I refactored our window management.
The comment clearly states why its there but I don't know why it is
required.
2025-07-14 11:31:52 -07:00
Mitchell Hashimoto
02b08e0ec9 macos: restore tabs correctly into a single window
Fixes #7941

I don't fully understand the fix here. Its code we've had for awhile it
was just in the wrong place after I refactored our window management.
The comment clearly states why its there but I don't know why it is
required.
2025-07-14 11:22:38 -07:00
Mitchell Hashimoto
37c2c3a4ba build: update libxev to remove usingnamespace usage (#7935)
This drops our `usingnamespace` usage to one more library (zigimg via
libvaxis) which should get fixed soon. With that, we have zero
usingnamespace and we should be able to test incremental compilation
with Zig (no binary mode, so Sema only) amongst other future features.
2025-07-13 21:50:32 -07:00
Mitchell Hashimoto
355c8a4d16 build: update libxev to remove usingnamespace usage
This drops our `usingnamespace` usage to one more library (zigimg via
libvaxis) which should get fixed soon. With that, we have zero
usingnamespace and we should be able to test incremental compilation
with Zig (no binary mode, so Sema only) amongst other future features.
2025-07-13 21:36:37 -07:00
Mitchell Hashimoto
a40c2c3c16 build(deps): bump cachix/install-nix-action from 31.5.0 to 31.5.1 (#7933)
Bumps
[cachix/install-nix-action](https://github.com/cachix/install-nix-action)
from 31.5.0 to 31.5.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/cachix/install-nix-action/releases">cachix/install-nix-action's
releases</a>.</em></p>
<blockquote>
<h2>v31.5.1</h2>
<h2>What's Changed</h2>
<ul>
<li>nix: 2.30.0 -&gt; 2.30.1 by <a
href="https://github.com/xokdvium"><code>@​xokdvium</code></a> in <a
href="https://redirect.github.com/cachix/install-nix-action/pull/245">cachix/install-nix-action#245</a>
<strong>[SECURITY]</strong> Builds with Nix 2.30.0 on macOS were
executed with elevated privileges (root), instead of the build users. <a
href="https://github.com/NixOS/nix/security/advisories/GHSA-qc7j-jgf3-qmhg">https://github.com/NixOS/nix/security/advisories/GHSA-qc7j-jgf3-qmhg</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/xokdvium"><code>@​xokdvium</code></a>
made their first contribution in <a
href="https://redirect.github.com/cachix/install-nix-action/pull/245">cachix/install-nix-action#245</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/cachix/install-nix-action/compare/v31.5.0...v31.5.1">https://github.com/cachix/install-nix-action/compare/v31.5.0...v31.5.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c134e4c9e3"><code>c134e4c</code></a>
Merge pull request <a
href="https://redirect.github.com/cachix/install-nix-action/issues/245">#245</a>
from xokdvium/2.30.1</li>
<li><a
href="a55d6df62f"><code>a55d6df</code></a>
nix: 2.30.0 -&gt; 2.30.1</li>
<li>See full diff in <a
href="cebd211ec2...c134e4c9e3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cachix/install-nix-action&package-manager=github_actions&previous-version=31.5.0&new-version=31.5.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>
2025-07-13 21:22:33 -07:00
dependabot[bot]
1a826a1e51 build(deps): bump cachix/install-nix-action from 31.5.0 to 31.5.1
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 31.5.0 to 31.5.1.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Changelog](https://github.com/cachix/install-nix-action/blob/master/RELEASE.md)
- [Commits](cebd211ec2...c134e4c9e3)

---
updated-dependencies:
- dependency-name: cachix/install-nix-action
  dependency-version: 31.5.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 00:55:26 +00:00
Mitchell Hashimoto
1c0677faab nix: fix flake input (#7924)
Setting `zig/flake-compat` to follow `""` (the current flake, ghostty)
is incorrect and introduces an unnecessary dependency cycle. This causes
problems in my NixOS configuration, because I collect flake inputs
recursively and add them to my system closure to work around
https://github.com/NixOS/nix/issues/3995#issuecomment-1537108310.

The other change to `flake.lock` was done automatically by my version of
Nix (Lix 2.91.3).
2025-07-13 14:09:40 -07:00
Mitchell Hashimoto
cdfec43b66 Update iTerm2 colorschemes (#7926)
Upstream revision:
92f2065077
2025-07-13 14:09:30 -07:00
mitchellh
b43fa129d6 deps: Update iTerm2 color schemes 2025-07-13 00:15:37 +00:00
Naïm Camille Favier
c61e36b035 nix: use rev instead of ref for flake inputs
Works around https://git.lix.systems/lix-project/lix/issues/520
2025-07-13 00:40:19 +02:00
Naïm Camille Favier
ad3f837b36 nix: fix flake input
Setting `zig/flake-compat` to follow `""` (the current flake, ghostty)
is incorrect and introduces an unnecessary dependency cycle.
2025-07-13 00:32:15 +02:00
Mitchell Hashimoto
b5000dcd94 fix webdata build, run it in CI (#7921)
This fixes our build for `-Demit-webdata`. Turns out we weren't running
this in CI so this adds that there.
2025-07-12 07:03:08 -07:00
Mitchell Hashimoto
658567bbbd fix webdata build, run it in CI
This fixes our build for `-Demit-webdata`. Turns out we weren't 
running this in CI so this adds that there.
2025-07-12 06:46:00 -07:00
Merijntje Tak
eb9e6614e5 Add new translations for Dutch 2025-07-12 08:54:25 +02:00
Merijntje Tak
cbdaceb1cb Merge remote-tracking branch 'upstream/main' 2025-07-12 08:52:42 +02:00
Merijntje Tak
beaf665ea9 Update to imperative 2025-07-12 06:54:50 +02:00
Jeffrey C. Ollie
e67a62453d core/gtk: add apprt action to show native GUI warning when child exits (#7836)
Addresses #7649 for the core and GTK. macOS support will need to be
added later.

This adds an apprt action to show a native GUI warning of some kind when
the child process of a terminal exits.

Also adds a basic GTK implementation of this. In GTK it overlays an
Adwaita banner at the bottom of the window (similar to the banner that
shows up in at the top of windows in debug builds).
![Screenshot From 2025-07-08
14-49-59](https://github.com/user-attachments/assets/5de4c065-6b35-4ef5-ba26-171c40c0c5ee)
![Screenshot From 2025-07-08
14-50-14](https://github.com/user-attachments/assets/d6259aa1-6eb2-4c7f-9a9b-13dbad706a3e)
2025-07-11 23:14:18 -05:00
Jeffrey C. Ollie
5a5e0df574 i18n: update translations 2025-07-11 22:57:17 -05:00
Jeffrey C. Ollie
1abc3ba1da gtk: change child exited verbiage to be clearer and code cleanup 2025-07-11 22:56:22 -05:00
Jeffrey C. Ollie
9ee25e8a69 gtk: use close button in show_child_exited banner 2025-07-11 22:56:22 -05:00
Jeffrey C. Ollie
8cea111329 gtk: add some comments for show_child_exited 2025-07-11 22:56:21 -05:00
Jeffrey C. Ollie
49243db4b3 gtk: GtkBox not needed for show_child_exited 2025-07-11 22:56:21 -05:00
Jeffrey C. Ollie
7fd900647e show_child_exited: remove emojis 2025-07-11 22:56:21 -05:00
Jeffrey C. Ollie
f24ec13963 remove unused css class from gtk child exited widget 2025-07-11 22:56:21 -05:00
Jeffrey C. Ollie
bf0659f07b use checkmark for icon if child exits normally 2025-07-11 22:56:21 -05:00
Jeffrey C. Ollie
3d89a68fff fix error set for function return signature 2025-07-11 22:56:21 -05:00
Jeffrey C. Ollie
28c7083876 gtk show_child_edit: use different text for normal/abnormal exit
Without this, the only indication would be the difference between a red
or a green background which would be problematic for users with limited
vision or color blindness.
2025-07-11 22:56:21 -05:00
Jeffrey C. Ollie
5219bc51e5 show child exited: return a boolean if native GUI is shown
If a native GUI is shown by the runtime when a child exits, use the
returned boolean to determine if text should be show in the terminal to
avoid duplicating information.
2025-07-11 22:56:21 -05:00
Jeffrey C. Ollie
103772ee8f show child exited: make GTK banner transparent 2025-07-11 22:56:21 -05:00
Jeffrey C. Ollie
cd9174e7e8 show child exited: fix macos build 2025-07-11 22:56:20 -05:00
Jeffrey C. Ollie
033d8c3099 core/gtk: add apprt action to show native GUI warning when child exits
Addresses #7649 for the core and GTK. macOS support will need to be
added later.

This adds an apprt action to show a native GUI warning of some kind when
the child process of a terminal exits.

Also adds a basic GTK implementation of this. In GTK it overlays an
Adwaita banner at the bottom of the window (similar to the banner that
shows up in at the top of windows in debug builds).
2025-07-11 22:56:20 -05:00
trag1c
391290aa4a i18n: Update Korean Translations (#7885) 2025-07-11 21:29:52 +02:00
Merijntje Tak
1ed28d62e6 Update last revision date 2025-07-11 20:24:41 +02:00
Merijntje Tak
f91fb5645b Updated translation of "Command Palette", see discussion in PR. 2025-07-11 19:40:04 +02:00
Hojin You
c4e10a1ac1 Update po/ko_KR.UTF-8.po
remove extra space

Co-authored-by: trag1c <dev@jakubr.me>
2025-07-11 10:06:34 -04:00
Mitchell Hashimoto
6c0adaed0f renderer: Allow the renderer to draw transparent cells (#7913)
Fixes #5917

Allows the terminal to draw transparent cells even if they don't have
the same background color, on user demand, with the
`background-opacity-cells` feature

<img width="2560" height="1440" alt="transparent"
src="https://github.com/user-attachments/assets/8c076671-3603-41a1-957d-46ddaeffa1ff"
/>
2025-07-11 07:01:54 -07:00
nferhat
991426e84e renderer: Allow the renderer to draw transparent cells
Co-authored-by: Kat <65649991+00-kat@users.noreply.github.com>
2025-07-11 06:59:01 -07:00
Mitchell Hashimoto
4aa28988a6 build: zig build test runs Xcode tests on macOS (#7909)
Related to #7879

This commit updates `zig build test` to run Xcode tests, too. These run
in parallel to the Zig tests, so they don't add any time to the test.

The Xcode tests will _not_ run when: (1) the target is not macOS, or (2)
the `-Dtest-filter` option is non-empty. This makes it so that this
change doesn't affect non-macOS and doesn't affect the general dev cycle
because you usually will run `-Dtest-filter` when developing a core
feature.

I didn't add a step to only run Xcode tests because I find that when I'm
working in Xcode I'm probably going to run the tests from there anyways.
The integration with `zig build test` is just a convenience, especially
around CI.

Speaking of CI, this change also makes it so this will run in CI.
2025-07-10 21:21:46 -07:00
Mitchell Hashimoto
2dce107738 ci: downgrade back to Xcode 26 beta 1, the icon is broken in beta 3 (#7911) 2025-07-10 21:15:37 -07:00