Xiangbao Meng
8d8821004e
macOS: fix title misalignment in tabs ( #9168 )
...
While I was testing #9166 , noticed another edge case🤯 .
This appears both in Tahoe and Sequoia👇🏻
https://github.com/user-attachments/assets/9cecea35-1241-4f31-9c15-0f2a7a6f342a
2025-10-12 13:04:18 -07:00
Xiangbao Meng
47a8f8083d
macOS: Fix more macos-titlebar-style related issues ( #9163 )
...
### This PR depends on #9162
#1691 doesn't seem to be an issue anymore, but changing appearance while
Ghosty is active will result in similar nastiness.
https://github.com/user-attachments/assets/fcd7761e-a521-4382-8d7a-9d93dc0806bc
### Changes
- [Sequoia/Ventura] Fix flickering new tab icon, and it also didn't
respond to window's key status change correctly
- [Sequoia/Ventura] Fix after changing appearance, tab bar may disappear
or have inconsistent background colour
- Fix initial tint of reset zoom button on Sequoia/Ventura with
`macos-titlebar-style=tabs` and all `native/transparent` titlebars
- Fix title alignment with custom font with `native/transparent`
titlebar
2025-10-12 07:31:42 -07:00
Xiangbao Meng
cbc06a0abc
macOS: Support building with Xcode 16 ( #9162 )
...
With this you can test most of the old tab bar behaviour without using a
virtual machine
2025-10-12 07:25:18 -07:00
Mitchell Hashimoto
d3ee3c5b8a
macos: update permission request response should move state back to idle ( #9151 )
...
Previously, the permission request response would not move the state so
it'd stay in the titlebar.
2025-10-11 14:49:31 -07:00
Mitchell Hashimoto
ac2f040b31
macos: Show "Update and Restart" in the Command Palette ( #9131 )
...
If an update is available, you can now trigger the full download,
install, and restart from a single command palette action. This allows
for a fully keyboard-driven update process.
While an update is being installed, an option to cancel or skip the
current update is also shown as an option, so that can also be
keyboard-driven.
This currently can't be bound to a keyboard action, but that may be
added in the future if there's demand for it.
**AI Disclosure:** Amp was used considerably. I reviewed all the code
and understand it.
## Demo
https://github.com/user-attachments/assets/df6307f8-9967-40d4-9a62-04feddf00ac2
2025-10-10 13:40:35 -07:00
Mitchell Hashimoto
cd7621167f
macos: update accessory in the titlebar should not move the window
...
This is annoyingly easy to trigger, just disable this.
2025-10-10 10:20:35 -07:00
Mitchell Hashimoto
bac2419343
macos: fix unit tests for notFound change
2025-10-10 09:45:34 -07:00
Xiangbao Meng
c8ea42b894
macOS: Fix New Tab behaviours ( #9124 )
...
- Fix `macos-dock-drop-behavior = new-tab` not working, which also
affects `open /path/to/directory -a Ghostty.app`
- Fix 'New Tab' in dock icon not working **when Ghostty's not active**
### Issue preview with `1.2.2(12187)`
https://github.com/user-attachments/assets/18068cc2-c25d-4360-97ab-cec22d5d3ff4
2025-10-10 09:31:55 -07:00
Mitchell Hashimoto
207eccffda
macos: Sparkle notFound acknowledgement should only be called on dismiss ( #9126 )
...
This was causing the "no update found" message to never really appear in
the real world.
2025-10-10 09:30:12 -07:00
Xiangbao Meng
2bf9c777d7
Fix macos-titlebar-tabs related issues ( #9090 )
...
### This pr fixes multiple issues related to `macos-titlebar-tabs`
- [Window title clipping **on
Tahoe**](https://github.com/ghostty-org/ghostty/discussions/9027#discussion-8981483 )
- Clipped tab bar **on Tahoe** when creating new ones in fullscreen
> Sequoia doesn't seem to have this issue (at least I didn't reproduce
myself)
- [Title missing **on Tahoe** after dragging a tab into a separate
window](https://github.com/ghostty-org/ghostty/discussions/9027#discussioncomment-14617088 )
- [Clipped tab bar **on Tahoe** after dragging from one tab group to
another](https://github.com/ghostty-org/ghostty/discussions/9027#discussioncomment-14626078 )
- [Stretched tab bar after switching system
appearance](https://github.com/ghostty-org/ghostty/discussions/9027#discussioncomment-14626918 )
### Related issues
I checked all of the open sub-issues in #2349 , most of them should be
fixed in latest main branch (I didn't reproduce)
- [#1692 ](https://github.com/ghostty-org/ghostty/issues/1692 )
@peteschaffner
- [#1945 ](https://github.com/ghostty-org/ghostty/issues/1945 ) this one I
reproduce only on Tahoe, and fixed in this pr, @injust
- [#1813 ](https://github.com/ghostty-org/ghostty/issues/1813 ) @jacakira
- [#1787 ](https://github.com/ghostty-org/ghostty/issues/1787 )
@roguesherlock
- [#1691 ](https://github.com/ghostty-org/ghostty/issues/1691 ) ~**haven't
found a solution yet**(building zig on VM is a pain**)~
> Tried commenting out `isOpaque` check in
`TitlebarTabsVenturaTerminalWindow`, which would fix the issue, but I
see the note there about transparency issue.
>
> After commenting it out, it worked fine for me with blur and opacity
config, so **I might need some more background on this**. Didn't include
this change yet.
>
> [See screenshot
here](https://github.com/user-attachments/assets/eb17642d-b0de-46b2-b42a-19fb38a2c7f0 )
### Minor improvements
- Match window title style with `window-title-font-family` and focus
state
<img width="843" height="198" alt="image"
src="https://github.com/user-attachments/assets/0138c4fa-1a4b-4bab-a415-b32695899ccf "
/>
---------
Co-authored-by: Mitchell Hashimoto <m@mitchellh.com >
2025-10-10 09:21:29 -07:00
Mitchell Hashimoto
e0ee10e902
macos: re-enable real update check
2025-10-10 08:44:25 -07:00
Mitchell Hashimoto
9dac88248f
macos: ax for update info
2025-10-10 08:38:50 -07:00
Mitchell Hashimoto
47f3c94640
macos: many more unit tests for update work
2025-10-10 08:34:45 -07:00
Mitchell Hashimoto
6993947a3a
macOS: Make a lot of things more robust
2025-10-10 08:27:30 -07:00
Mitchell Hashimoto
ba8eae027e
macos: fixed width for downloading/extracting, better padding
2025-10-10 07:19:25 -07:00
Mitchell Hashimoto
f124bb4975
macos: Fallback to standard driver when no unobtrusive targets exist
2025-10-09 17:38:24 -07:00
Mitchell Hashimoto
f2e5b8fb2d
macos: setup the standard sparkle driver for no-window scenario
...
If there are no windows, we use the standard sparkle driver to drive
the standard window-based update UI.
2025-10-09 08:57:48 -07:00
Mitchell Hashimoto
bbf875216f
macos: fix driver for retry to trigger update check again
2025-10-09 08:51:33 -07:00
Mitchell Hashimoto
a2fbaec613
macos: do not build updaters into iOS
2025-10-08 22:18:36 -07:00
Mitchell Hashimoto
49eb65df77
macos: show release notes link
2025-10-08 22:05:03 -07:00
Mitchell Hashimoto
abab6899f9
macos: better update descriptions
2025-10-08 21:45:48 -07:00
Mitchell Hashimoto
bce49a0843
macos: hook up our new update controller
2025-10-08 21:41:18 -07:00
Mitchell Hashimoto
b4ab1cc1ed
macos: clean up the permission request
2025-10-08 21:21:27 -07:00
Mitchell Hashimoto
9e17255ca9
macos: "OK" should dismiss error
2025-10-08 21:16:07 -07:00
Mitchell Hashimoto
95a9e63401
macos: not found state dismisses on click, after 5s
2025-10-08 21:13:34 -07:00
Mitchell Hashimoto
a55de09944
macos: update simulator to test various scenarios in UI
2025-10-08 21:09:06 -07:00
Mitchell Hashimoto
59829f5359
Sparkle user driver, drives updates to the view model.
2025-10-08 21:03:04 -07:00
Mitchell Hashimoto
f975ac8019
macOS: only show the update overlay if window doesn't support it
2025-10-08 15:39:56 -07:00
Mitchell Hashimoto
81e3ff90a3
macOS: Show update information as an overlay
2025-10-08 13:29:39 -07:00
Mitchell Hashimoto
fc347a6040
macOS: Move update view model over to App scope
2025-10-08 12:50:09 -07:00
Mitchell Hashimoto
09ba5a27a2
macOS: Unobtrusive update views
2025-10-08 12:50:09 -07:00
Daniel Wennberg
0b14026696
Expand ~ in macos-custom-icon
2025-10-04 00:13:23 -07:00
Mitchell Hashimoto
77114d7927
macos: avoid any zero-sized content size increments
...
Fixes #9016
2025-10-03 13:35:40 -07:00
Andreas Deininger
a667b740ee
Fix typos
2025-10-03 18:52:26 +02:00
Mitchell Hashimoto
0cc3728803
macOS: Focus Terminal App Intent ( #8961 )
...
Closes #8791
Discussion: #8657
### Summary
This adds the FocusTerminalIntent App Intent and related function
(focusSurface), allows external tools (such as Shortcuts/Siri) to
programmatically move focus to a specific terminal window or tab.
### Verification
This functionality has been tested across following scenarios,
confirming correct focus behavior for:
- Split Window
- Tab Group
- Quick Terminal
### Note
It is not supported to move focus to a split that is hidden by a zoomed
split. The same applies to the CloseTerminalIntent.
### AI Disclosure
This pull request was made with assistance from Claude Code.
I reviewed all AI-generated code and wrote the final output manually.
2025-09-30 06:55:49 -07:00
himura467
c58a8b27b6
chore: update iOS membership exceptions
2025-09-30 07:14:09 +09:00
himura467
373be61482
docs
2025-09-30 06:36:29 +09:00
himura467
b3d0b6a965
refactor: no need to set from for moveFocus probably
2025-09-30 05:58:21 +09:00
himura467
bc3d0b7cbc
fix: the renderer's cursor remains in an unfocused state (block_hollow)
2025-09-30 05:21:56 +09:00
Mitchell Hashimoto
958751e12c
Workaround for #8669 ( #8838 )
...
Changing `supportedModes` to `background` seems to have fixed #8669 .
> Debugging AppIntents with Xcode is a pain. I had to delete all the
local builds to make it take effect. The build product of `zig` might
cause confusion if none of your changes reflect in the Shortcuts app.
There were too many ghosts on my computer. 👻 👻 👻
- Tahoe
https://github.com/user-attachments/assets/88d0d567-edf5-4a7e-b0a3-720e50053746
- Sequoia
https://github.com/user-attachments/assets/a77f1431-ca92-4450-bce9-5f37ef232d4f
2025-09-29 09:30:01 -07:00
himura467
a6dd7bbeee
refactor: improve asynchronous delay by delegating window/app activation process to animateIn
2025-09-29 02:02:42 +09:00
himura467
7ab0a7814b
docs(BaseTerminalController)
2025-09-29 01:56:00 +09:00
himura467
337ecdd0b3
refactor(focusSurface): check app status in advance
2025-09-29 00:02:43 +09:00
himura467
8151f4bbf5
feat: focusSurface for quick terminal
2025-09-29 00:00:41 +09:00
himura467
9d33545a55
feat: focus terminal in basic cases
2025-09-28 19:20:00 +09:00
Lars
9072bab6b8
Update iOS membership exceptions
2025-09-23 16:50:13 +02:00
Lars
131f4fb8b1
Convert Sources to folder references
2025-09-23 09:30:49 +02:00
Lars
8beeebc21d
Force Ghostty to be active if not
2025-09-22 15:27:27 +02:00
Lars
8600954526
Workaround for #8669
2025-09-22 14:52:10 +02:00
Mitchell Hashimoto
4d761c96e5
macos: quick terminal stores the last closed size by screen
...
Fixes #8713
This stores the last closed state of the quick terminal by screen
pointer. We use a weak mapping so if a screen is unplugged we'll clear
the memory. We will not remember the size if you unplug and replug in a
monitor.
2025-09-19 13:01:29 -07:00