Mitchell Hashimoto
eec77e271c
macos: change our minimum version to macOS 13
...
macOS 12 is officially EOL by Apple and the project only supports
officially supported versions of macOS. Once publicly released, users on
older macOS versions will have to use older released builds.
2024-10-09 14:41:57 -07:00
Mitchell Hashimoto
a2ba7b4948
macos: don't swallow flagsChanged events, breaks system bindings
...
Fixes #2419
2024-10-09 10:17:39 -07:00
Mitchell Hashimoto
8994a8c627
macos: implement key sequence UI
2024-10-08 21:58:53 -07:00
Mitchell Hashimoto
5c1ffbb642
apprt: implement key_sequence action
2024-10-08 21:55:00 -07:00
Mitchell Hashimoto
392875381a
macos: become aware of new split directions left and up
2024-10-07 15:34:47 -10:00
Mitchell Hashimoto
163e6cccca
macos: quick terminal window blur settings take effect properly
...
Fixes #2410
2024-10-07 14:58:47 -10:00
Mitchell Hashimoto
ed2cd6d436
macos: remove the ability to bind fn/globe
...
This was recently introduced a few days ago. Unfortunately, this doesn't
work as expected. The "function" modifier is not actually the fn key
but used by macOS to represent a variety of "functional" key presses.
This breaks other bindings such as #2411 .
I can't find a source on the internet that reliably tells me how we
can detect fn key presses, but I do find a number of sources that tell
us we can't.
2024-10-07 14:36:12 -10:00
Mitchell Hashimoto
fe3f8439a7
macos: send mouse cursor position events for right mouse dragged
...
Fixes #2407
2024-10-07 10:50:04 -10:00
Mitchell Hashimoto
715df3f263
macos: global keybind event tap only handles events when app is inactive
...
Fixes #2403
2024-10-07 05:46:16 -10:00
Mitchell Hashimoto
227eda1d09
macos: notify core of mouse exit
2024-10-06 15:20:17 -10:00
Mitchell Hashimoto
c49b896f22
Merge pull request #2398 from ghostty-org/app-focus
...
Make core app-focus aware, used to determine global keybind behavior
2024-10-06 10:47:46 -10:00
Mitchell Hashimoto
e56cfbdc8b
macos: set the proper app focus state
2024-10-06 10:06:17 -10:00
Mitchell Hashimoto
2e0a514384
Merge pull request #2395 from ghostty-org/mods
...
Hyperlink state improvements (no mouse move, blurred splits/windows on macOS)
2024-10-06 09:40:49 -10:00
Mitchell Hashimoto
e3dd0edc4f
macos: use local event listener to propagate modifier changes to all
...
Related to #1547
Concretely, if you are highlighting a link and then release the
modifier, the other surfaces will be notified of this change.
2024-10-05 10:33:15 -10:00
Mitchell Hashimoto
f9e6d6efa6
macos: forward key events to the app when no windows exist
2024-10-05 10:05:06 -10:00
Mitchell Hashimoto
6fdfa9d491
Make the function/globe key available as a modifier on macOS
2024-10-05 09:39:55 -10:00
Mitchell Hashimoto
1ae9322959
macos: non-native fs keeps track of screen number for change screen comp
...
Fixes #2370
Comparing NSScreens directly was fragile. It appears that AppKit/Cocoa
can return different instances of NSScreen for the same screen for
unknown reasons between calls to windowDidChangeScreen. I don't fully
understand why this happens.
In any case, our comparison was not safe. Instad, we now keep track of
of the CGDirectDisplayID for each screen and compare those instead.
2024-10-05 06:21:30 -10:00
Mitchell Hashimoto
9971d7a93d
macos: toggle_visibility needs to sync to the correct menu item
2024-10-05 06:05:13 -10:00
Mitchell Hashimoto
c973ca6e03
macos: move show/hide all terminal windows
...
I don't think "View" was the right place.
Also, the menu was incorrectly bound to the quick terminal variable.
2024-10-04 06:35:20 -10:00
Lucy Davinhart
a109b8d755
Implements initial-window=false for macOS
...
Closes https://github.com/ghostty-org/ghostty/issues/2361
2024-10-03 19:09:37 +01:00
Mitchell Hashimoto
28ec11e52b
docs updates
2024-10-02 10:52:59 -07:00
Roland Peelen
9e00eeff86
Review Feedback - formatting / docs
2024-10-02 10:33:36 -07:00
Roland Peelen
af48c1af0c
Refactor to hide only BaseTerminalController windows
...
This also slightly changes the code, as the duplication of the for loop
was making it harder to read now. I think technically slightly less
efficient, but this is hardly a hot code path, so should be fine imo.
2024-10-02 10:33:36 -07:00
Roland Peelen
4aac4ecd98
Add hiding toggle, hook up to menu / shortcut
2024-10-02 10:33:36 -07:00
Mitchell Hashimoto
78b9636d15
macos: apply background opacity to quick terminal
...
Fixes #2331
2024-09-30 21:18:47 -07:00
Mitchell Hashimoto
46cbe59076
macos: quick terminal supports fullscreen
...
Fixes #2330
The quick terminal now supports fullscreen. The fullscreen mode is
always non-native due to the quick terminal being a titleless, floating
window.
When the quick terminal loses focus and animates out, it will always
exit fullscreen mode.
2024-09-30 21:07:16 -07:00
Mitchell Hashimoto
7a5a9c2a58
macos: quick terminal app activation tweaks to avoid bringing up other windows
...
Fixes #2336
The comments explain the issues here.
2024-09-30 20:45:54 -07:00
Mitchell Hashimoto
22b9f24978
macos: clarify comments, clean up notifications for fullscreen
2024-09-30 20:10:23 -07:00
Mitchell Hashimoto
639434df33
macos: exit native fullscreen if we try to enter non-native
2024-09-30 15:01:44 -07:00
Mitchell Hashimoto
93f0b9dce9
macos: only exit on screen change if the screen really changed
2024-09-30 14:48:05 -07:00
Mitchell Hashimoto
ef5b835dc4
macos: only hide dock on the screen with the dock
2024-09-30 14:25:33 -07:00
Mitchell Hashimoto
408c33e174
macos: handle non-native fullscreen changing screens
2024-09-30 14:14:01 -07:00
Mitchell Hashimoto
35462331ae
macos: non-native fs sets frame async to account for style changes
...
Fixes #1996
2024-09-30 10:44:26 -07:00
Mitchell Hashimoto
ba9ae0c0be
macos: only get fullscreen mode on AppKit
2024-09-30 10:37:33 -07:00
Mitchell Hashimoto
045ecacd8c
macos: fullscreen mode can be changed at runtime
2024-09-30 10:31:11 -07:00
Mitchell Hashimoto
5f9d4f9733
macos: fullscreen=true with non-native fullscreen works
...
Fixes #1377
2024-09-30 10:02:50 -07:00
Mitchell Hashimoto
718fa6042c
macos: new fullscreen implementation
2024-09-30 09:42:46 -07:00
Mitchell Hashimoto
332e1a1494
macos: new FullscreenMode/Style architecture for fullscreen impls
2024-09-29 21:31:58 -07:00
Mitchell Hashimoto
19012cb6f5
macos: quick terminal restores focus to previous application
2024-09-29 15:33:12 -07:00
Mitchell Hashimoto
c70e0b2634
macos: use orderOut which handles all of our focus logic for us
2024-09-29 15:06:54 -07:00
Mitchell Hashimoto
c8a40a7791
macos: quick terminal close focuses next window on same screen/space
...
Previously, we'd find the next Ghostty window anywhere. Now we find the
one on the same screen/space to avoid moving the focus to a different screen.
2024-09-29 14:56:03 -07:00
Mitchell Hashimoto
83505bb4c0
macos: ensure quick terminal becomes key and focused after animation in
2024-09-29 10:44:16 -07:00
Mitchell Hashimoto
e47e7a8b8b
macos: quick terminal always brings Ghostty to the front
2024-09-29 09:31:56 -07:00
Mitchell Hashimoto
4f9d49b380
macos: handle multiple monitors properly
2024-09-28 20:52:22 -07:00
Mitchell Hashimoto
bcdbb5899b
macos: only define quick terminal configs for AppKit
2024-09-28 19:14:27 -07:00
Mitchell Hashimoto
76a2041cbf
macos: make quick terminal animation 0.2 instead of 0.3
2024-09-28 19:11:40 -07:00
Mitchell Hashimoto
1d727320b4
macos: if initializing new surface tree, move focus to it
2024-09-28 19:11:16 -07:00
Mitchell Hashimoto
61dd395251
macos: show alert if new tab is attempted from quick term
2024-09-28 18:46:52 -07:00
Mitchell Hashimoto
11d5ec7dc1
config: support quick terminal position
2024-09-28 18:42:25 -07:00
Mitchell Hashimoto
13eb8ac6e2
macos: ability to interrupt animation, track it in menu
2024-09-28 15:29:57 -07:00