summaryrefslogtreecommitdiff
path: root/macos/Sources
AgeCommit message (Collapse)Author
2025-10-11macos: update permission request response should move state back to idle (#9151)Mitchell Hashimoto
Previously, the permission request response would not move the state so it'd stay in the titlebar.
2025-10-10macos: Show "Update and Restart" in the Command Palette (#9131)Mitchell Hashimoto
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-10macos: update accessory in the titlebar should not move the windowMitchell Hashimoto
This is annoyingly easy to trigger, just disable this.
2025-10-10macOS: Fix New Tab behaviours (#9124)Xiangbao Meng
- 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-10macos: Sparkle notFound acknowledgement should only be called on dismiss (#9126)Mitchell Hashimoto
This was causing the "no update found" message to never really appear in the real world.
2025-10-10Fix `macos-titlebar-tabs` related issues (#9090)Xiangbao Meng
### 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-10macos: re-enable real update checkMitchell Hashimoto
2025-10-10macos: ax for update infoMitchell Hashimoto
2025-10-10macOS: Make a lot of things more robustMitchell Hashimoto
2025-10-10macos: fixed width for downloading/extracting, better paddingMitchell Hashimoto
2025-10-09macos: Fallback to standard driver when no unobtrusive targets existMitchell Hashimoto
2025-10-09macos: setup the standard sparkle driver for no-window scenarioMitchell Hashimoto
If there are no windows, we use the standard sparkle driver to drive the standard window-based update UI.
2025-10-09macos: fix driver for retry to trigger update check againMitchell Hashimoto
2025-10-08macos: do not build updaters into iOSMitchell Hashimoto
2025-10-08macos: show release notes linkMitchell Hashimoto
2025-10-08macos: better update descriptionsMitchell Hashimoto
2025-10-08macos: hook up our new update controllerMitchell Hashimoto
2025-10-08macos: clean up the permission requestMitchell Hashimoto
2025-10-08macos: "OK" should dismiss error Mitchell Hashimoto
2025-10-08macos: not found state dismisses on click, after 5sMitchell Hashimoto
2025-10-08macos: update simulator to test various scenarios in UIMitchell Hashimoto
2025-10-08Sparkle user driver, drives updates to the view model.Mitchell Hashimoto
2025-10-08macOS: only show the update overlay if window doesn't support itMitchell Hashimoto
2025-10-08macOS: Show update information as an overlayMitchell Hashimoto
2025-10-08macOS: Move update view model over to App scopeMitchell Hashimoto
2025-10-08macOS: Unobtrusive update viewsMitchell Hashimoto
2025-10-04Expand `~` in `macos-custom-icon`Daniel Wennberg
2025-10-03macos: avoid any zero-sized content size incrementsMitchell Hashimoto
Fixes #9016
2025-10-03Fix typosAndreas Deininger
2025-09-30macOS: Focus Terminal App Intent (#8961)Mitchell Hashimoto
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-30docshimura467
2025-09-30refactor: no need to set from for moveFocus probablyhimura467
2025-09-30fix: the renderer's cursor remains in an unfocused state (block_hollow)himura467
2025-09-29refactor: improve asynchronous delay by delegating window/app activation ↵himura467
process to animateIn
2025-09-29docs(BaseTerminalController)himura467
2025-09-29refactor(focusSurface): check app status in advancehimura467
2025-09-29feat: focusSurface for quick terminalhimura467
2025-09-28feat: focus terminal in basic caseshimura467
2025-09-22Force Ghostty to be active if notLars
2025-09-22Workaround for #8669Lars
2025-09-19macos: quick terminal stores the last closed size by screenMitchell Hashimoto
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-19macos: set the app icon in syncAppearance to delay the icon updateMitchell Hashimoto
Fixes #8734 This forces the app icon to be set on another event loop tick from the main startup. In the future, we should load and set the icon completely in another thread. It appears that all the logic we have is totally thread-safe.
2025-09-19macos: correct SurfaceView supported send/receive types for servicesMitchell Hashimoto
Fixes #8785 This is the callback AppKit sends when it wants to know if our application can handle sending and receiving certain types of data. The prior implementaiton was incorrect and would erroneously claim support over combinations that we couldn't handle (at least, at the SurfaceView layer). This corrects the implementation. The services we expect still show up and the error in 8785 goes away.
2025-09-19macos: "new tab" service should set preferred parent to ensure tabMitchell Hashimoto
Fixes #8783 Our new tab flow will never have a previously focused window because its triggered by a service so we need to use the "preferred parent" logic we have to open this in the last focused window.
2025-09-18macos: implement bell-features=border on macOSMitchell Hashimoto
2025-09-18macos: bell-features=title works againMitchell Hashimoto
This was a regression we didn't fix before 1.2.
2025-09-18macos: opening filepaths should make proper file URLsMitchell Hashimoto
Fixes #8763
2025-09-18macos: set initial window in TerminalWindow awakeFromNibMitchell Hashimoto
Maybe fixes #8736 I thought `windowDidLoad` was early on because its before the window is shown but apparently not. Let's try `awakeFromNib` which is called just after the window is loaded from the nib. It is hard to get any earlier than that.
2025-09-18macos: window-position-x/y are from top-left cornerMitchell Hashimoto
Fixes #8672 Almost fully written by AI: https://ampcode.com/threads/T-86df68a3-578c-4a1c-91f3-788f8b8f0aae I reviewed all the code.
2025-09-18macos: custom progress bar to workaround macOS 26 ProgressView bugsMitchell Hashimoto
Fixes #8731 The progress view in macOS 26 is broken in ways we can't work around directly. Instead, we must create our own custom progress bar. Luckily, our usage of the progress view is very simple. Amp threads: https://ampcode.com/threads/T-88b550b7-5e0d-4ab9-97d9-36fb63d18f21 https://ampcode.com/threads/T-721d6085-21d5-497d-b6ac-9f203aae0b94