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
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
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
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
de564dad94
macos: fade unfocused splits
...
Fixes #353
2023-09-10 09:17:46 -07:00
Mitchell Hashimoto
e5cba11ad0
macos: key events for modifier-only keys
2023-09-09 09:22:15 -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
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
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
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
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
d2dae7a696
macOS: inherit font size when creating new tab
...
This is one part of #281 .
2023-08-17 20:56:56 +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
3d23f26326
input, macos: initial work on keymapper and macos usage of it
2023-08-11 12:01:58 -07: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
d895887361
macos: enable copy/paste menu items in "Edit"
2023-08-05 14:50:18 -07:00
Mitchell Hashimoto
b11734bd67
default the title to the ghostty emoji
...
This only happens if the shell hasn't reported a pwd AND title.
2023-08-04 11:11:15 -07:00
Mitchell Hashimoto
9a079bb5b9
background-blur-radius for macOS
2023-07-03 20:43:53 -07:00
Mitchell Hashimoto
338f89679d
apprt: add C API for detecting background transparency per surface
2023-07-03 19:44:06 -07:00
Mitchell Hashimoto
de5468e214
scale x, speed up scrolling
2023-06-29 11:47:28 -07:00
Mitchell Hashimoto
32031701b8
core: do high precision scrolling Y calculations
2023-06-29 11:42:43 -07:00
Mitchell Hashimoto
9a40dc4630
macos: build scroll mods value
2023-06-29 11:06:34 -07:00
Mitchell Hashimoto
20f46d5c08
define precision scrolling and momentum structs, C API
2023-06-29 10:38:15 -07:00
Mitchell Hashimoto
e998e053b1
mac: fix split initial focus
...
When making a split, the window focus doesn't change so the new splits
were defaulting to "false" (not focused). Let's just assume when a
surface is created that it is in fact focused. This generally fixes the
issue.
If we ever programmatically create splits in background windows this
will probably fail so we should find a way on View init to detect if the
window has focus.
2023-05-27 14:37:00 -07:00
Mitchell Hashimoto
decaee61b2
apprt/embedded: support unmapped keys
2023-03-25 15:44:17 -07:00
Mitchell Hashimoto
f092cce69e
macos: translate ASCII keys
2023-03-25 15:26:04 -07:00
Mitchell Hashimoto
c01e8337bd
macos: reliable window focus tracking for surface
2023-03-15 21:29:20 -07:00
Mitchell Hashimoto
363a03a30d
macos: explicitly free surface resource on split/tab close
...
We don't wait for Swift to garbage collect. We just free the expensive
stuff (our surface) immediately.
2023-03-15 21:11:52 -07:00
Mitchell Hashimoto
b582691185
macos: hook up all the bindings so we're ready to handle focus event
2023-03-11 16:22:04 -08:00
Mitchell Hashimoto
a265e7ce20
macos: take over menu bar, separate close and close window
2023-03-10 14:27:55 -08:00
Mitchell Hashimoto
31378bcaa5
macos: redo all the split views
2023-03-08 22:14:29 -08:00
Mitchell Hashimoto
0388dc35bb
macos: set proper window title for focused split
2023-03-08 15:26:58 -08:00
Mitchell Hashimoto
6c857877e8
apprt/embedded: close surface callback
2023-03-08 15:05:15 -08:00
Mitchell Hashimoto
fa9ee0815f
apprt/embedded: newSplit callback
2023-03-08 14:56:50 -08:00
Mitchell Hashimoto
a754fe8c30
macos: little tweaks
2023-03-07 22:09:39 -08:00
Mitchell Hashimoto
1faca5972f
macos: change key window detection
2023-03-06 21:53:22 -08:00
Mitchell Hashimoto
1a3cd852f9
macos: massive reorg
2023-03-06 21:28:09 -08:00