8558 Commits

Author SHA1 Message Date
Anthony
379f373b9a CI: Update release-tag.yml to include the version in the source archive name and prefix 2025-01-01 13:55:22 -05:00
Mitchell Hashimoto
217f35ebeb Revert "macos: disable auto-updates for local (source) builds (#3273)"
This reverts commit b39850fd8b463f78c6fb450cd7a59e43bdf4b622, reversing
changes made to 64ea3a1a29677ca5f094f8058c40c549bb741bc5.
2025-01-01 13:55:22 -05:00
Jon Parise
692322d9b8 macos: disable Sparkle checks in Debug and Release
This approach uses Xcode's Info.plist preprocessing to conditionally set
`SUEnableAutomaticChecks=false` for the Debug and Release build schemes.
It is unset for the ReleaseLocal scheme.

When this Info.plist key is explicitly set to false (as it is for these
build schemes), we disable auto-updates at runtime. Otherwise, we apply
the behavior defined by our "auto-update" configuration.
2025-01-01 13:55:22 -05:00
Jon Parise
821a8f00c5 macos: disable auto-updates for local (source) builds
The auto-update prompt isn't useful for local (source) builds so disable
both update checks and automatic downloads.

There are multiple ways we could check if we've been built for source,
but the easiest and least intrusive approach is to check the value of
the 'GhosttyCommit' Info.plist key. Because it is only set as part of
the release build process, an empty key implies that we've been build
from source.
2025-01-01 13:55:22 -05:00
Gregory Anders
f9c9a80493 renderer: track if fg/bg/cursor color is explicitly set by an OSC
The renderer must track if the foreground, background, and cursor colors
are explicitly set by an OSC so that changes are not overridden when the
config file is reloaded.
2025-01-01 13:55:22 -05:00
Anund
0144d29813 testing: point Command.zig at ~more universal external binaries
The `Command.zig` tests reach outside the local source tree and look for
files on the host os machine. This introduces some portability issues
for the tests.

The nix build sandbox doesn't include `/usr/bin/env` making it error out
when `zig build test` runs `Command.zig` tests as part of a `nix build`.
Current ci and local development relies on `nix develop` sharing a host os
file system that includes `/usr/bin/env`.

Turns out `/tmp` and `/bin/sh` are available in the build sandbox in
nix so we swap these in to enable nixpkg builds to include testing
ghostty as part of any update cycle.
2025-01-01 13:55:22 -05:00
Anund
6877b1a894 testing: move cleanup of execveZ into the test code 2025-01-01 13:55:22 -05:00
Anund
ae443ae1bd testing: handle execveZ failing during test execution
Duplicating a test process via fork does unexepected things.
zig build test will hang
A test binary created via -Demit-test-exe will run 2 copies of the test suite
2025-01-01 13:55:22 -05:00
Mitchell Hashimoto
b976b10372 config: add title_report (default false) to configure CSI 21 t 2025-01-01 13:55:22 -05:00
Adam Wolf
bb3de9008d fix: scrollback limit not being parsed correctly 2025-01-01 13:55:22 -05:00
Maciej Bartczak
34e5f55165 Invalidate the timer when the surface is destroyed 2025-01-01 13:55:22 -05:00
Maciej Bartczak
e5bbd14295 Add delay before updating the title 2025-01-01 13:55:22 -05:00
Misaki Kasumi
73a4f0a1fd misc: add desktop entry fields to support xdg-terminal-exec 2025-01-01 13:55:22 -05:00
Sebastian Estrella
b93bc6be5b Add default Nix overlay 2025-01-01 13:55:22 -05:00
Richard Feldman
2faf08976d Fix markdown formatting for (blank) in docs
It currently has two backticks side by side, which end up rendering as actual backticks rather than a code-formatted blank space.
2025-01-01 13:55:22 -05:00
hustcer
9e1e2ab282 chore: Add milestone workflow to add milestone to merged PR and fixed Issues 2025-01-01 13:55:22 -05:00
Jeffrey C. Ollie
b55574afbd gtk/x11: link directly to libX11, no more dlopen 2025-01-01 13:55:22 -05:00
Tristan Partin
85609be719 apprt: add window-titlebar-{background,foreground} config options
This gives people finer-grained control over the coloring of their
window titlebars. Currently only implemented for GTK.

Signed-off-by: Tristan Partin <tristan@partin.io>
2025-01-01 13:55:22 -05:00
Misaki Kasumi
b73c7e46f9 cgroup: change suffix to .scope 2025-01-01 13:55:21 -05:00
XiaoYan Li
ab186ceb6b Fix the typing error when building on Linux
Co-authored-by: Gareth Widlansky <101901964+gerblesh@users.noreply.github.com>
2025-01-01 13:55:21 -05:00
Xiaoyan Li
a0b1bbab7b Use premultiplied alpha for renderer clearColor
Fixes #3324
2025-01-01 13:55:21 -05:00
Mohammadi, Erfan
7298d965c0 confirm-close-surface option can be set to always to always require confirmation
Fixes #3648
The confirm-close-surface configuration can now be set to always
ensuring a confirmation dialog is shown before closing a surface, even
if shell integration indicates no running processes.
2025-01-01 13:55:21 -05:00
Mitchell Hashimoto
200cf6b651 ci: our GTK tests were installing Cachix twice 2025-01-01 13:55:21 -05:00
Koray08
609ba944fa Replace 'w' with '\x15' 2025-01-01 13:55:21 -05:00
Koray08
ec3fe8d17f Add 'command delete' default to macOS 2025-01-01 13:55:21 -05:00
mitchellh
3dee60ae49 deps: Update iTerm2 color schemes 2025-01-01 13:55:21 -05:00
Mitchell Hashimoto
a053ebb941 Update the pre-approved issue template 2025-01-01 13:55:21 -05:00
Mitchell Hashimoto
447be5285e ci: install nix 2025-01-01 13:55:21 -05:00
Mitchell Hashimoto
3348c62270 run gtk matrix on small instances 2025-01-01 13:55:21 -05:00
Mitchell Hashimoto
ccb92abd23 prettier 2025-01-01 13:55:21 -05:00
Mitchell Hashimoto
a57b5c802e ci: test gtk via a matrix 2025-01-01 13:55:21 -05:00
Jeffrey C. Ollie
da3e5ccf06 gtk: add option to not link against libX11 2025-01-01 13:55:21 -05:00
Qingyao Sun
b663ac1eaf Clarify how to read logs on macOS 2025-01-01 13:55:21 -05:00
Jelle Besseling
33df3365af docs: Add info about adjustments to adjustment config options 2025-01-01 13:55:21 -05:00
Ronit Gandhi
160c262696 docs: add guide for setting quick terminal toggle keybind 2025-01-01 13:55:21 -05:00
Hisam Fahri
4d0feaa191 Update Config.zig 2025-01-01 13:55:21 -05:00
Matt Mirus
d53b93891e chore: undo unintentional change
I think this must have snuck in due to my fork falling behind the
upstream.
2025-01-01 13:55:21 -05:00
Matt Mirus
c86de63e18 docs: correct default value of gtk-single-instance
`desktop` is the default value of `gtk-single-instance`; `detect` is not a valid value.
2025-01-01 13:55:21 -05:00
Finn Voorhees
153caa4ec6 Add MDItemKeywords 2025-01-01 13:55:21 -05:00
Leigh Oliver
c7491566da fix(gtk): fix segfault/bus error on ctrl+d 2025-01-01 13:55:21 -05:00
Kat
ac8eac01e2 Use source in the example for sourcing Zsh shell integration 2025-01-01 13:55:21 -05:00
Felix Salcher
dfd778522a deinit buffer 2025-01-01 13:55:21 -05:00
AP Darkly
02b34f44f6 fix probable typo in Config.zig
Based on both context and observed behavior, "now" was intended to be "not" in the paragraph describing the behavior of `focus-follows-mouse` is set to `true`.
2024-12-28 07:32:26 -05:00
Mitchell Hashimoto
6cbd69da78 Update docs generators to include proper edit on github links (#3651)
Ref: https://github.com/ghostty-org/website/pull/197

The "Edit on Github" links currently on
[ghostty.org](https://ghostty.org/) link to the downstream MDX files.
This has lead to multiple folks editing the downstream MDX files.

Preview:

https://website-git-edit-on-github-link-override-ghostty.vercel.app/docs/config/reference#auto-update-channel
2024-12-27 21:05:27 -08:00
Mitchell Hashimoto
1fa2e699d1 Modify cmd+9 behaviour (#3587)
Fixes #3528 

**Note:**
Not sure if this is what OP requested regarding displaying user defined
shortcuts as hints, but we currently relabel all tabs, but only consider
labels for tabs from 1 to 9. Applying this simple patch should allow for
displaying shortcut hints for tabs beyond 9
<details><summary>Patch</summary>

```diff
diff --git a/macos/Sources/Features/Terminal/TerminalController.swift b/macos/Sources/Features/Terminal/TerminalController.swift
index 7fd1802d..242e5711 100644
--- a/macos/Sources/Features/Terminal/TerminalController.swift
+++ b/macos/Sources/Features/Terminal/TerminalController.swift
@@ -155,13 +155,6 @@ class TerminalController: BaseTerminalController {
         tabListenForFrame = windows.count > 1
 
         for (tab, window) in zip(1..., windows) {
-            // We need to clear any windows beyond this because they have had
-            // a keyEquivalent set previously.
-            guard tab <= 9 else {
-                window.keyEquivalent = ""
-                continue
-            }
-
             let action = "goto_tab:\(tab)"
             if let equiv = ghostty.config.keyEquivalent(for: action) {
                 window.keyEquivalent = "\(equiv)"
```

</details>
2024-12-27 21:00:42 -08:00
Brandon Romano
16e4529f69 Update docs generators to include proper edit on github links
Ref: https://github.com/ghostty-org/website/pull/197
2024-12-27 20:59:50 -08:00
Rohit-Bevinahally
2555f09d88 modify cmd+9 behaviour 2024-12-27 20:14:28 -08:00
Mitchell Hashimoto
bee2188014 apprt/gtk: color popovers when window-theme=ghostty (#3569)
This looks better than the regular dark color. It also happens to match
what Ptyxis does. It does not support non-libadwaita builds.

Before:

![image](https://github.com/user-attachments/assets/8c400bdf-05b3-4629-925d-fd8ce9554ae7)

After:

![image](https://github.com/user-attachments/assets/d958eb6a-102d-4d91-970b-fcaca7f2386c)

It will look even better whenever we fix the separator colors 😄
2024-12-27 13:39:41 -08:00
Tristan Partin
bf46ab8d2d apprt/gtk: color popovers when window-theme=ghostty
This looks better than the regular dark color. It also happens to match
what Ptyxis does. It does not support non-libadwaita builds.

Signed-off-by: Tristan Partin <tristan@partin.io>
2024-12-27 14:32:02 -06:00
Mitchell Hashimoto
8111f5b995 Fix DESTDIR handling for terminfo installation (#3426)
## Description:

Fix `DESTDIR` handling when installing terminfo database files by using
`install_path` instead of `install_prefix`. This ensures files are
correctly installed under `$DESTDIR/$prefix` during packaging.

## Changes:

- Replace `b.install_prefix` with `b.install_path` for terminfo database
installation paths

- This change properly respects the `DESTDIR` environment variable
during installation

## Testing:

I've verified this fix by:

1. Setting `DESTDIR=/tmp/ghostty`

2. Building with: 
```bash
DESTDIR=/tmp/ghostty \
zig build \
  --prefix /usr \
  --system /tmp/offline-cache/p \
  -Doptimize=ReleaseFast \
  -Dcpu=baseline
```

3. Confirming files are correctly installed to:

```
/tmp/ghostty/usr/share/terminfo/ghostty.terminfo
/tmp/ghostty/usr/share/terminfo/ghostty.termcap
```

The files are now properly installed under `$DESTDIR/$prefix` path
structure as expected.

cc @BratishkaErik - Since you suggested this fix in #3152, would you
mind reviewing this implementation?

Fixes #3152
2024-12-27 12:09:37 -08:00