Mohammad Al-Ahdal
3c8d9ae5a3
Fix: aerospace no longer resizes quick terminal and instead treats it as float
2024-10-24 03:00:17 -06:00
Max
553687b5e2
feat: make too big tab indices go to last tab
2024-10-23 20:27:13 +02:00
Mitchell Hashimoto
df7120d130
macos: use notification to detect when quick terminal shows/hides
...
Fixes #2474
2024-10-23 10:14:11 -07:00
johnseth97
7f898ce01f
Basic proxy icons showing
...
Removed changes that accidentally carried over from another local
branch.
Basic Proxy Icons showing
2024-10-23 00:40:38 -04:00
Ethan Johnson
1b6778b800
Merge branch 'ghostty-org:main' into macos-window-deocrations-rework
2024-10-21 17:43:37 -04:00
johnseth97
b1f0c490b3
Merge branch 'NSToolbar-Deprication-Warning-Fix' of github.com:johnseth97/ghostty into NSToolbar-Deprication-Warning-Fix
2024-10-21 08:56:01 -04:00
Ethan Johnson
a53b4f684e
Merge branch 'ghostty-org:main' into macos-window-deocrations-rework
2024-10-19 20:40:44 -04:00
johnseth97
96a0ca613a
Fixing deprecation warnings, experiencing new errors.
2024-10-19 18:53:29 -04:00
Mitchell Hashimoto
1134a9cbea
Merge pull request #2461 from JoshuaBrest/main
...
feat: Update MacOS about dialog
2024-10-19 14:16:54 -07:00
Mitchell Hashimoto
85db4d0277
macos: personal nitpicks and improvements
2024-10-19 14:07:04 -07:00
Josh
cc42dc57b9
fix: add text-selection back in the about dialoge.
2024-10-19 11:52:12 -07:00
Josh
d291fcfd52
style: add line break in the caption of the about dialog.
2024-10-19 11:45:24 -07:00
Josh
4b08b3f8d8
refactor: hide buttons when URLs are invalid and change variable mutability and visibility.
2024-10-19 11:23:04 -07:00
Mitchell Hashimoto
70acb0d76e
macos: clamp window size to screen size on screen parameter changes
...
Fixes #2462
This sets up a listener for screen parameter changes. This only triggers
when a screen is added, removed, or a parameter such as its resolution
changes. This doesn't trigger when a window is simply moved from one
screen to another.
On parameter change, we ensure that the window is within the bounds of
the screen. As an exception, if the window was previously already
outside the bounds of the screen, we don't move it back in.
2024-10-19 10:13:16 -07:00
Josh
42bf37af32
feat: Update about menu design to match macOS.
2024-10-19 00:31:43 -07:00
johnseth97
def3a62fb9
Modified window-decorations = none
option on macos
2024-10-19 01:03:05 -04:00
Mitchell Hashimoto
75b8dc19d4
Merge pull request #2430 from ghostty-org/push-qqxqmpquyyut
...
macos: retry focusing the quick terminal to handle focus on other screen
2024-10-09 15:25:55 -07:00
Mitchell Hashimoto
94d30eaea3
macos: retry focusing the quick terminal to handle focus on other screen
...
Fixes #2409
This is one of the weirder macOS quirks (bugs? who knows!) I've seen
recently. The bug as described in #2409 : when you have at least two
monitors ("screens" in AppKit parlance), Ghostty on one, a focused app
on the other, and you toggle the quick terminal, the quick terminal
does not have focus.
We already knew and accounted for the fact that
`window.makeKeyAndOrderFront(nil)` does not work until the window is visible
and on the target screen. To do this, we only called this once the
animation was complete. For the same NSScreen, this works, but for
another screen, it does not.
Using one DispatchQueue.async tick also does not work. Based on testing,
it takes anywhere from 2 to 5 ticks to get the window focus API to work
properly. Okay.
The solution I came up with here is to retry the focus operation every
25ms up to 250ms. This has worked consistently for me within the first 5
ticks but it is obviously a hack so I'm not sure if this is all right.
This fixes the issue but if there's a better way to do this, I'm all
ears!
2024-10-09 15:13:54 -07:00
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
163e6cccca
macos: quick terminal window blur settings take effect properly
...
Fixes #2410
2024-10-07 14:58:47 -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
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
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
408c33e174
macos: handle non-native fullscreen changing screens
2024-09-30 14:14:01 -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
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
Mitchell Hashimoto
1570ef01a7
rename slide to quick terminal
2024-09-28 15:20:35 -07:00
Mitchell Hashimoto
e3b340c6d3
macos: set initial terminal dimensions
2024-09-28 15:08:27 -07:00
Mitchell Hashimoto
1977e220f5
macos: slide terminal exit and close window don't kill the window
2024-09-28 10:51:40 -07:00
Mitchell Hashimoto
50fb7331af
macos: base class for terminal controller
2024-09-28 10:41:51 -07:00
Mitchell Hashimoto
bdc2c02f23
macos: when sliding out the terminal, cycle focus
2024-09-27 18:36:06 -07:00
Mitchell Hashimoto
cadb960ef9
core: slide terminal keybinding action
2024-09-27 18:36:06 -07:00
Mitchell Hashimoto
d18e1c879b
macos: restrict resizing based on sliding terminal position
2024-09-27 18:36:06 -07:00
Mitchell Hashimoto
63456d28a5
macos: make sliding logic a bit more extensible
2024-09-27 18:36:06 -07:00