Mitchell Hashimoto
0e4b91de88
macos: stylistic changes
2023-09-28 08:34:27 -07:00
Gregory Anders
1fbd5e5590
macos: add keyEquivalent overload to also return modifier string
2023-09-28 08:28:46 -07:00
Gregory Anders
4837d840f6
macos: create modifier flags as OptionSet instead of from array
...
Nit picky change, but the OptionSet class (which NSEvent.ModifierFlags
is an instance of) has an API for incrementally setting values without
needing to create an array.
2023-09-28 08:28:46 -07:00
Mitchell Hashimoto
57213547cd
macos: custom fullscreen menu item to respect non-native fullscreen
...
Related to #392
2023-09-27 18:34:04 -07:00
Mitchell Hashimoto
f4886bb80e
macos: read from clipboard uses UTF-8 encoded string, proper byte count
2023-09-25 17:26:23 -07:00
Mitchell Hashimoto
300ba32ad0
macos: enum does not need to be a string
2023-09-22 15:48:41 -07:00
Mitchell Hashimoto
1eb0dbb548
macos: more robust cursor visibility handling
...
Fixes #519
The core issue here was that `mouseEntered` was called AFTER
`cursorUpdate` (by Cocoa) so we were messing up our NSCursor state. To
fix this more robustly, all cursor state should ONLY be handled by
cursorUpdate and mouseEntered/Exit goes through that system now.
2023-09-22 15:47:08 -07:00
Mitchell Hashimoto
7f549c5b41
macos: detect mouseEntered/Exit on frame change
2023-09-21 09:42:17 -07:00
Mitchell Hashimoto
d12f07ceda
macos: mouse tracking area should always send
...
Without this, non-first-responder views would not receive mouse
entered/exit events. This would break some of our mouse hiding state.
See comments for more info.
2023-09-21 09:30:42 -07:00
Mitchell Hashimoto
960edee559
macos: background-opacity getter
2023-09-20 22:05:23 -07:00
Mitchell Hashimoto
3ad39dd5e4
macos: sync NSAppearance for app based on window-theme setting
2023-09-20 21:54:50 -07:00
Mitchell Hashimoto
6cee9e57f6
macos: prevent mouseEntered/Exited processing if already in that state
...
See the comment in the code.
Fixes #494
2023-09-20 08:53:31 -07:00
Mitchell Hashimoto
5a02635d2c
macos: async style clipboard reading
2023-09-19 10:36:17 -07:00
Mitchell Hashimoto
d911c49f44
macos: remove unnecessary call
2023-09-17 12:01:36 -07:00
SoraTenshi
833be445ba
Spawn alert box on new tab if decorations disabled
...
Stray spaces
Fix check for windowDecoration
2023-09-17 11:58:11 -07:00
Mitchell Hashimoto
2b380ad37e
macos: stylistic changes
2023-09-17 11:57:36 -07:00
Mitchell Hashimoto
f8fea2f65b
macos: show warning in debug mode
2023-09-15 15:40:41 -07:00
Mitchell Hashimoto
724900f143
macos: implement setCursorVisibility
2023-09-14 19:37:30 -07:00
Mitchell Hashimoto
cb2931cb27
rename cursor shape to mouse shape for OSC 22
2023-09-14 11:12:17 -07:00
Mitchell Hashimoto
3356146bb4
macos: support cursor style
2023-09-14 10:40:40 -07:00
Mitchell Hashimoto
c1fe1f6646
macos: AppState config must be published and observed
...
Fixes #440
We previously weren't observing changes so they weren't being
automatically propagated. We were using an old pointer which at best
returned the wrong value and at worst crashed. I was able to make it
crash eventually, too.
This changes the fields to be properly published and observed and as a
result the config is immediately available to all users.
2023-09-13 15:06:41 -07:00
Mitchell Hashimoto
999d17c49d
macos: integrate needsConfirmQuit to quit if all windows are at prompt
2023-09-11 15:44:28 -07:00
Mitchell Hashimoto
2f0905b60c
macos: reload config MUST go through Zig core
2023-09-11 15:20:31 -07:00
Mitchell Hashimoto
711e3a5043
macos: add reload configuration to the Ghostty menu bar
2023-09-11 13:49:20 -07:00
Mitchell Hashimoto
db799d53e6
macos: UI for configuration errors
2023-09-11 13:21:13 -07:00
Mitchell Hashimoto
f0ee2fb454
macos: log configuration errors
2023-09-11 09:39:58 -07:00
Mitchell Hashimoto
2b04a7114b
macos: use the configured unfocused split opacity
2023-09-10 18:52:40 -07:00
Mitchell Hashimoto
8bec01f237
macos: disable hit testing for unfocused split rectangle
2023-09-10 16:02:09 -07:00
Mitchell Hashimoto
ef5c5d1c0b
macos: add split zoom to menu
2023-09-10 09:30:42 -07:00
Mitchell Hashimoto
de564dad94
macos: fade unfocused splits
...
Fixes #353
2023-09-10 09:17:46 -07:00
Mitchell Hashimoto
303c5ca189
macos: split traversal uses direction to determine proper focus target
...
Fixes #415
2023-09-10 08:59:05 -07:00
Mitchell Hashimoto
e5cba11ad0
macos: key events for modifier-only keys
2023-09-09 09:22:15 -07:00
Will Pragnell
7d9598fe6e
macos: fix split focus when toggling fullscreen
2023-09-03 22:55:22 -07:00
Mitchell Hashimoto
e657a0f671
macos: close and refocus split work while zoomed
2023-09-02 16:47:48 -07:00
Mitchell Hashimoto
76ae039701
macos: new split on zoomed split unzooms
2023-09-02 16:37:22 -07:00
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
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
Mitchell Hashimoto
b7508cdc66
macos: setup delegate for app state, config reload callback
2023-08-31 11:56:15 -07:00
Mitchell Hashimoto
76053460d5
macos: sync File menu
2023-08-31 11:40:21 -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
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
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