Mitchell Hashimoto
e2282f1f4d
macos: zoomed splits put an emoji in the title bar
2023-09-02 16:33:33 -07:00
Mitchell Hashimoto
4570356e57
turn zoom into a toggle rather than an explicit zoom/unzoom
2023-09-02 16:03:51 -07:00
Mitchell Hashimoto
70bdc21d22
macos: support zoomed splits
2023-09-02 15:51:10 -07:00
Mitchell Hashimoto
1626c8cd3a
macos: hacks for split focus to work correctly on macos 12
2023-09-02 09:15:50 -07:00
Will Pragnell
f6e2b50732
macos: fix non-native-fullscreen menu & dock visibility bugs
2023-09-01 21:45:45 -07:00
Will Pragnell
86122624e0
macos: add visible-menu non-native-fullscreen option
2023-09-01 21:45:45 -07:00
Mitchell Hashimoto
e0015a0d00
macos: hacks to grab surface focus on macOS 12
...
See comment in code.
2023-09-01 16:23:30 -07:00
Karol Bakunowski
d7072cd29e
macos: default to sRGB color space
2023-09-01 15:05:16 -07:00
Mitchell Hashimoto
d945640401
macos: break reference cycle to window to allow window to free memory
...
Fixes #366
The comment in the Swift code explains what was happening here:
> I don't know if this is the right place, but because of WindowAccessor in our
> SwiftUI hierarchy, we have a reference cycle between view and window and windows
> are never freed. When the window is closed, the window controller is deinitialized,
> so we can use this opportunity detach the view from the window and break the cycle.
An alternate solution would be to make our reference back to the window
"weak" but we appear to not be able to do that with SwiftUI property
wrappers such as `@State` and `@Binding` and so on.
2023-09-01 09:12:03 -07:00
Mitchell Hashimoto
b7508cdc66
macos: setup delegate for app state, config reload callback
2023-08-31 11:56:15 -07:00
Mitchell Hashimoto
10aaf8bd35
macos: sync all remaining menu items
2023-08-31 11:44:43 -07:00
Mitchell Hashimoto
76053460d5
macos: sync File menu
2023-08-31 11:40:21 -07:00
Mitchell Hashimoto
22b925223a
macos: sync many more menu items
2023-08-31 11:33:58 -07:00
Mitchell Hashimoto
c7071a1da2
macos: complete lookup table for key equivalents
2023-08-31 11:14:07 -07:00
Mitchell Hashimoto
52396304ff
macos: begin syncing menuitem key equivalents
2023-08-30 22:45:29 -07:00
Mitchell Hashimoto
c71979804e
apprt/embedded: ghostty_surface_binding_action can now run any action
2023-08-30 21:46:38 -07:00
Will Pragnell
55d5350a65
macos: fix non-native fullscreen dock/menubar bugs
2023-08-26 19:35:19 -07:00
Thorsten Ball
be114e792f
macOS: fix cascading windows when using tabs and closing windows
...
This fixes two things:
1. Issue #294 : cascade point for new windows is set when creating new tabs
2. Cascade point was *not* reset when closing windows, which lead to a
big "gap" appearing when, say, opening 5 windows, closing 4, opening
a new window.
2023-08-19 20:21:20 +02:00
Thorsten Ball
a76aea4d0a
macOS: new split can inherit font size
2023-08-19 09:59:04 +02:00
Thorsten Ball
2e9b787668
macOS: new window can inherit font size
...
This is the second part of #281 and adds the same mechanism that was
added for tabs in #296 for windows.
It works exactly the same way.
2023-08-19 09:29:56 +02:00
Mitchell Hashimoto
4f5460475c
Merge pull request #296 from mitchellh/mrn/macos-inherit-font-size
...
macOS: inherit font size when creating new tab
2023-08-18 09:22:06 -07:00
Mitchell Hashimoto
a18503fc01
macos: can always set base config on new tab
2023-08-18 09:21:47 -07:00
Mitchell Hashimoto
79971c62a6
macos: pass around a base surface_config_s rather than a new tab
2023-08-18 09:09:43 -07:00
Thorsten Ball
cda87a6963
embedded: use separate struct to pass options to new_tab_cb
2023-08-18 06:50:47 +02:00
Thorsten Ball
12311e9707
macOS: simplify code for new tab
2023-08-18 06:26:15 +02:00
Thorsten Ball
3e7c4475a1
macOS: move newTab code to PrimaryWindowManager
2023-08-17 20:57:00 +02:00
Thorsten Ball
d2dae7a696
macOS: inherit font size when creating new tab
...
This is one part of #281 .
2023-08-17 20:56:56 +02:00
Thorsten Ball
0597b03fa2
macOS: remove dead code from PrimaryWindowController
...
I think this is a left-over from the refactor that moved this field to
the `PrimaryWindowManager`.
2023-08-17 07:04:46 +02:00
Mitchell Hashimoto
721087be76
macos: send the left/right status of modifier keys
2023-08-14 12:40:48 -07:00
Mitchell Hashimoto
d5df8aea9a
apprt/embedded: handle repeat events
2023-08-11 12:02:00 -07:00
Mitchell Hashimoto
1e1ad7deb9
macos: use the new self-hosted translation
2023-08-11 12:02:00 -07:00
Mitchell Hashimoto
57a527b0c9
macos: detect keyboard layout change and reload the keymap
2023-08-11 12:01:59 -07:00
Mitchell Hashimoto
3d23f26326
input, macos: initial work on keymapper and macos usage of it
2023-08-11 12:01:58 -07:00
Mitchell Hashimoto
688ab84661
apprt/embedded: allow noting that selection clipboard is not supported
2023-08-09 14:52:22 -07:00
Mitchell Hashimoto
afc6a9976f
apprt/embedded: support selection clipboard
2023-08-09 14:29:39 -07:00
Kevin Hovsäter
22b8173164
Fix typos
2023-08-08 14:27:34 +02:00
Mitchell Hashimoto
22296b377a
Revert "Merge pull request #244 from mitchellh/alt-as-esc"
...
This reverts commit c139279d479682c17f63d9b57c2d56608d09d16a, reversing
changes made to 4ed21047a734d7c586debe0026e3b6ea90ed1622.
We do want to do this but this broke bindings.
2023-08-07 17:06:40 -07:00
Mitchell Hashimoto
67cbabd605
make keyboard modifiers left/right-aware throughout core
2023-08-07 14:33:56 -07:00
Mitchell Hashimoto
5f5a23acc4
macos: help menu goes to the github repo
2023-08-05 15:03:17 -07:00
Mitchell Hashimoto
d895887361
macos: enable copy/paste menu items in "Edit"
2023-08-05 14:50:18 -07:00
Mitchell Hashimoto
2f6159b16d
macos: quit menu should say "Ghostty"
2023-08-05 13:04:06 -07:00
Mitchell Hashimoto
bbe171f314
macos: remove unimplemented menu items
2023-08-05 11:59:57 -07:00
Thorsten Ball
1908895303
macos: re-add Edit submenu to main menu
...
This menu got list in #215 and with it we lost the ability to use the
macOS emoji picker via the `Cmd+Ctrl Space` shortcut, for example.
This adds a standard Edit menu back to the main menu.
2023-08-05 20:51:43 +02:00
Mitchell Hashimoto
2752995ec5
macos: Cmd-Q without any window focus works
...
Previously, this would crash. Once the crash was fixed, it would hang
because we would only show confirmation if the terminal window had
focus.
This introduces some medium complexity logic to work around this:
1. If we are the key window, then show the confirmation dialog. Done.
2. Otherwise, if any other window is a terminal window and is key,
they're going to take it so we do nothing.
3. Otherwise, if we are the first terminal window in the application
windows list, we show it even if we're not focused.
2023-08-05 10:43:56 -07:00
Mitchell Hashimoto
7c98f991db
macos: new tab menu/shortcut works even if no windows are present
2023-08-04 17:45:57 -07:00
Mitchell Hashimoto
8c01160afa
macos: "+" button ensures tab is added to same window group
2023-08-04 17:39:40 -07:00
Mitchell Hashimoto
bb7c67b967
macos: implement newWindowForTab for "+" button
2023-08-04 17:35:57 -07:00
Mitchell Hashimoto
994d456223
set the title of the window
2023-08-04 17:24:28 -07:00
Mitchell Hashimoto
9105637697
macos: reorganize, rename, put files in groups
2023-08-04 17:17:18 -07:00
Mitchell Hashimoto
bf190ba442
macos: merge AppController and AppDelegate, organize groups
2023-08-04 17:05:52 -07:00