Commit Graph

50 Commits (c8c36a6035e36cda9ba5431ff0d67c15bea7a92e)

Author SHA1 Message Date
Lars c8c36a6035
macOS: fix funky resolution in quick terminal 2025-11-06 16:13:05 +01: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 ba8eae027e
macos: fixed width for downloading/extracting, better padding 2025-10-10 07:19:25 -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 c90eb2e952
macos: AX for debug warning 2025-06-15 07:56:05 -07:00
Mitchell Hashimoto 77458ef308
macos: rename surfaceTree2 to surfaceTree 2025-06-05 07:05:13 -07:00
Mitchell Hashimoto 8b979d6dce
macos: handle surfaceTreeDidChange 2025-06-05 07:05:12 -07:00
Mitchell Hashimoto d1dce1e372
macos: restoration for new split tree 2025-06-05 07:05:11 -07:00
Mitchell Hashimoto e3bc3422dc
macos: handle split resizing 2025-06-05 07:05:11 -07:00
Mitchell Hashimoto 1707159441
new SplitTree 2025-06-05 07:05:11 -07:00
Mitchell Hashimoto 2caa8a3fe1
macOS: move window title handling fully to AppKit
Fixes #7236
Supersedes #7249

This removes all of our `focusedValue`-based tracking of the surface
title and moves it completely to the window controller. The window
controller now sets up event listeners (via Combine) when the focused
surface changes and updates the window title accordingly.

There is some complicated logic here to handle when we lose focus to
something other than a surface. In this case, we want our title to be
the last focused surface so long as it exists.
2025-05-06 14:57:19 -07:00
Mitchell Hashimoto 63b4cb4ead
macOS: fix responder chain 2025-04-21 10:17:02 -07:00
Mitchell Hashimoto 6d2685b5a2
add toggle command palette binding 2025-04-21 10:05:30 -07:00
Mitchell Hashimoto 8bd91e7104
macOS: hook up full action execution 2025-04-21 09:40:08 -07:00
Mitchell Hashimoto 0915a7af46
macOS: extract TerminalCommandPalette 2025-04-21 09:18:46 -07:00
Mitchell Hashimoto 5fab6faf04
macOS: hook up command palette C API to actual command palette 2025-04-21 08:32:42 -07:00
Mitchell Hashimoto be7fb45e9f
command palette SwiftUI view 2025-04-21 08:32:05 -07:00
Bryan Lee ea7c54d79d
Simplify let binding in `TerminalView` title logic 2025-01-09 06:30:47 +08:00
Bryan Lee 0651586339
Reduce ghost emoji flash in title bar 2025-01-09 06:30:46 +08:00
David Leadbeater 9db02fd152 Handle an empty path to mean no pwd
Fixes #3398
2024-12-28 00:09:05 +11:00
Mitchell Hashimoto 4d9143f634
macos: use the pwd apprt action to set the proxy icon URL 2024-11-13 13:11:32 -08:00
johnseth97 e11fb62627
Fixed type conversion garbage 2024-10-24 23:47:34 -04:00
johnseth97 f78ddabc15
refactored proxyIconURLDidChange to pwdDidChange 2024-10-24 23:01:54 -04:00
johnseth97 fc094ee924
Fixed formatting 2024-10-24 22:15:31 -04:00
johnseth97 8e223fdcd9
Reworked proxy icon, added config options. 2024-10-24 21:54:08 -04:00
Mitchell Hashimoto 50fb7331af
macos: base class for terminal controller 2024-09-28 10:41:51 -07:00
Mitchell Hashimoto bdd0070ffd
macos: render a terminal in the slide window 2024-09-27 18:36:06 -07:00
Mitchell Hashimoto 578aaa1ba6
macos: DraggableWindowView helper (unused currently) 2024-09-20 20:45:27 -07:00
Qwerasd 16919488da macOS: add `macos-titlebar-style = hidden`
Hides titlebar without removing the other typical window frame elements
2024-09-20 16:11:51 -06:00
Mitchell Hashimoto 6cf61f4d7b
macos: show debug build warning even with releasesafe for now 2024-08-31 21:37:22 -07:00
pnodet 7ff9af1520
style(macos): cleanup trailing spaces 2024-08-21 21:53:09 +02:00
Pete Schaffner cf6017e777 Revert "Revert "Merge pull request #1550 from peteschaffner/titlebar-unzoom-button""
This reverts commit 7f59d844c0.
2024-03-28 10:48:05 +01:00
Mitchell Hashimoto 7f59d844c0
Revert "Merge pull request #1550 from peteschaffner/titlebar-unzoom-button"
This reverts commit 6b7a1ce1eb, reversing
changes made to b68e1c6a5d.
2024-03-26 14:53:26 -07:00
Pete Schaffner 472a5c93ad Move un-zoom button into the tab/toolbar 2024-02-22 17:54:51 +01:00
Mitchell Hashimoto 875a774d4b
macos: remove AppState and unify onto Ghostty.App cross-platform 2024-01-14 19:35:57 -08:00
Mitchell Hashimoto 837b551a92
macos: invalid restorable state whenever surface tree changes
Related to #1177

This detects whenever the surface tree (splits) change in any way and
requests that the restorable state be invalided by macOS.
2024-01-10 21:24:47 -08:00
Gregory Anders 582df33083 macos: use Ghostty.AppState as @EnvironmentObject
This is a small cleanup change. This provides the Ghostty.AppState
object to any view that needs it within the TerminalSplit view hierarchy
without needing to explicitly define EnvironmentKeys.
2023-11-05 20:42:59 -06:00
Gregory Anders 9b14398153 macos: support resizing splits 2023-11-05 20:42:59 -06:00
Mitchell Hashimoto 04acaf8b20
macos: hook up paste protection delegate, cancel button 2023-11-04 20:47:16 -07:00
Mitchell Hashimoto b4c973cd23
macos: improved comments 2023-10-30 15:15:56 -07:00
Mitchell Hashimoto 1fcc5812be
macos: detect when surface tree becomes empty 2023-10-30 14:46:28 -07:00
Mitchell Hashimoto c18cf207d6
macos: rename all the 2-suffix 2023-10-30 14:40:45 -07:00
Mitchell Hashimoto c86faa37c2
macos: terminal controller owns split data 2023-10-30 14:31:04 -07:00
Mitchell Hashimoto 1b0fea044f
macos: move debug view 2023-10-30 12:01:10 -07:00
Mitchell Hashimoto ed1741730e
macos: base config plumbed through 2023-10-30 11:53:05 -07:00
Mitchell Hashimoto 61451942e8
macos: implement last surface close to close window 2023-10-30 09:53:59 -07:00
Mitchell Hashimoto 704c303cd1
macos: working on the new terminalmanager 2023-10-30 09:06:24 -07:00
Mitchell Hashimoto 3018377389
macos: wip 2023-10-30 09:06:24 -07:00