6 Commits

Author SHA1 Message Date
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
Mitchell Hashimoto
a2ba7b4948 macos: don't swallow flagsChanged events, breaks system bindings
Fixes #2419
2024-10-09 10:17:39 -07: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
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
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