Martin Emde
c384cd050e
Fix Mac window becomes unmovable after pane rearrangement
...
After rearranging panes, the window becomes permanently unmovable.
Grab handles temporarily set `window.isMovable = false` on hover to prevent
window dragging from interfering with pane dragging.
Override `viewWillMove(toWindow:)` to catch when the view is being removed from
the window. This lifecycle method is called before the window reference
becomes nil, allowing us to restore `window.isMovable`.
2026-01-01 15:56:25 -08:00
Ivan Buiko
c89627fe75
macOS: Add menu shortcut handling in macOS key event processing
...
Allow menu bar to flash for shortcuts and handle key equivalents before
checking for Ghostty key bindings
2026-01-01 12:47:16 -08:00
Mitchell Hashimoto
b3fbf11b0c
macOS: temporarily disable window.isMovable to fix #10110 ( #10125 )
...
Fixes #10110
2026-01-01 12:45:08 -08:00
Jon Parise
12024ed831
macos: simplify .keyDown guard condition
...
This condition is more naturally expressed as a `guard`.
2026-01-01 10:17:48 -05:00
Lukas
1249f3b88c
macOS: temporarily disable window.isMovable to fix #10110
2026-01-01 14:37:08 +01:00
Lukas
74fc48682a
macOS: remove unused file
2026-01-01 14:31:11 +01:00
Mitchell Hashimoto
18abcaa797
macos: remove tab hover event, seems native handles it
2025-12-31 06:15:04 -08:00
Mitchell Hashimoto
d4ba0fa27e
macos: last surface should close tab immediately not window
2025-12-30 15:07:28 -08:00
Mitchell Hashimoto
3e399a3d35
macos: detect surface tab bar hovers and focus them
2025-12-30 15:07:27 -08:00
Mitchell Hashimoto
f32d54bedb
macos: make surface grab handle visible in light mode ( #10111 )
2025-12-30 13:14:49 -08:00
Mitchell Hashimoto
c34bb5976a
macos: Ghostty.Command must copy string values
...
We were previously storing the C struct which contained pointers into
ephemeral memory that could cause segfaults later on.
2025-12-30 13:09:20 -08:00
Mitchell Hashimoto
43c7277a60
macos: make surface grab handle visible in light mode
2025-12-30 13:06:55 -08:00
John Xu
53c510ac40
macos: keep glass titlebar inset in sync on layout
2025-12-30 16:32:12 +08:00
Mitchell Hashimoto
a826892ef7
macos: make undo/redo work for final split dragged out
...
Fixes #10093
2025-12-29 11:15:19 -08:00
Mitchell Hashimoto
7512f6158b
macos: fix bugs
2025-12-29 10:47:00 -08:00
Mitchell Hashimoto
19f7b57cd1
macos: fixup focus issues when closing the new window
2025-12-29 10:36:24 -08:00
Mitchell Hashimoto
29edbbbc86
macos: open dragged windows where they are dropped
2025-12-29 10:21:21 -08:00
Mitchell Hashimoto
5ecd26727e
macos: allow pulling split out into its own window
2025-12-29 10:11:59 -08:00
Mitchell Hashimoto
89c515cab5
macos: new window from tree in TerminalController
2025-12-29 10:03:36 -08:00
Mitchell Hashimoto
25c413005b
macos: emit a notification when the surface drag ends outside area
2025-12-29 09:55:18 -08:00
Mitchell Hashimoto
c164e3bc02
macos: fix messy rebase
2025-12-29 07:13:25 -08:00
Mitchell Hashimoto
cfa3de5d9b
macos: change style
2025-12-29 06:55:01 -08:00
Mitchell Hashimoto
dbeeb952cc
macos: fix dragging point
2025-12-29 06:55:01 -08:00
Mitchell Hashimoto
e56dce3d84
macos: don't create drop zone at all if self dragging
2025-12-29 06:55:01 -08:00
Mitchell Hashimoto
e1f22472f6
macos: convert the transferable to a nsdraggingitem
2025-12-29 06:55:01 -08:00
Mitchell Hashimoto
7b743164ef
macos: fix iOS builds
2025-12-29 06:55:01 -08:00
Mitchell Hashimoto
be97b5bede
macOS: convert Surface dragging to use NSDraggingSource
2025-12-29 06:55:01 -08:00
Mitchell Hashimoto
9b7124cf62
macos: use preference key to detect self dragging
2025-12-29 06:55:01 -08:00
Mitchell Hashimoto
5245757875
macos: all sorts of cleanups
2025-12-29 06:55:01 -08:00
Mitchell Hashimoto
1dd8e3ef4a
macos: add GhosttyDelegate for global operations
2025-12-29 06:55:00 -08:00
Mitchell Hashimoto
9724541a33
macos: unify split callbacks into a single tagged enum
2025-12-29 06:55:00 -08:00
Mitchell Hashimoto
60bc5a9ae7
macos: clean up some SwiftUI nesting
2025-12-29 06:55:00 -08:00
Mitchell Hashimoto
5916755388
macos: drop splits across windows
2025-12-29 06:55:00 -08:00
Mitchell Hashimoto
8f8b5846c6
macos: hook up onDrop to move splits
2025-12-29 06:55:00 -08:00
Mitchell Hashimoto
d92fe44d0d
macos: fix various iOS build errors
2025-12-29 06:55:00 -08:00
Mitchell Hashimoto
485b861342
macos: drag preview is an image of the surface
2025-12-29 06:55:00 -08:00
Mitchell Hashimoto
5d8c9357c0
macos: move around some functions
2025-12-29 06:55:00 -08:00
Mitchell Hashimoto
0a80f77766
macos: wire up onDrop
2025-12-29 06:55:00 -08:00
Mitchell Hashimoto
43d87cf9f8
macos: setup drop UI on our split views
2025-12-29 06:55:00 -08:00
Mitchell Hashimoto
304e2612ab
macOS: work on drop destination
2025-12-29 06:55:00 -08:00
Mitchell Hashimoto
5045688623
macos: move grab handle to separate file
2025-12-29 06:55:00 -08:00
Mitchell Hashimoto
57bb636655
surfaceview as transferable
2025-12-29 06:55:00 -08:00
Mitchell Hashimoto
88adffd734
macOS: add handle to the top of surfaces that can be used to drag
...
UI only
2025-12-29 06:54:59 -08:00
Mitchell Hashimoto
ab232b3060
macos: move Ghostty surface view into dedicated folder
2025-12-29 06:54:59 -08:00
Mitchell Hashimoto
551031e41f
macOS: move NSGlassEffectView into TerminalViewContainer ( #10062 )
...
- Fixes #9991
> Modifying the subview of NSThemeFrame seems "dangerous" and
unpredictable.
- Provides correct `intrinsicContentSize` as previous
`NSHostingView<TerminalView>` did
> Fixes regression caused by #10046
> [!NOTE]
> AI Proofread some of my comments
2025-12-29 06:52:18 -08:00
Daniel Wennberg
b7a12effce
Only use macOS 26.0 workarounds on macOS 26.0
2025-12-28 09:47:22 -08:00
Mitchell Hashimoto
14f592b8d4
macOS: Don't duplicate command palette entries for terminal commands
...
This is a regression introduced when we added macOS support for custom
entries. I mistakingly thought that only custom entries were in the
config, but we do initialize it with all!
2025-12-26 11:03:50 -08:00
Lukas
6ab884d69f
macOS: fix intrinsicContentSize of TerminalViewContainer
2025-12-26 13:35:25 +01:00
Zongyuan Li
88e471e015
fix(iOS): fix iOS app startup failure
...
Fixes #7643
This commit address the issue with 3 minor fixes:
1. Initialize ghostty lib before app start, or global allocator will
be null.
2. `addSublayer` should be called on CALayer object, which is the
property 'layer' of UIView
3. According to apple's [document](https://developer.apple.com/documentation/metal/mtlstoragemode/managed?language=objc ),
managed storage mode is not supported by iOS. So always use shared
mode.
FYI, another [fix](https://github.com/mitchellh/libxev/pull/204 ) in libxev
is also required to make iOS app work.
2025-12-26 18:53:45 +08:00
Lukas
1c90af3569
macOS: move NSGlassEffectView into TerminalViewContainer
2025-12-26 11:44:30 +01:00