807 Commits

Author SHA1 Message Date
Mitchell Hashimoto
ed7ac8aa21 macos: better enable timing depending on process launch time 2024-09-24 16:38:17 -07:00
Mitchell Hashimoto
1ad904478d Tap events, core API to handle global keybinds 2024-09-24 16:29:02 -07:00
Qwerasd
92d310a660 macOS: prevent ctrl-return key equivalent
macOS 15 adds this as a default key equivalent to show the context menu,
this is annoying, so we capture the event and tell macOS we handled it.
2024-09-23 16:55:11 -06:00
Mitchell Hashimoto
826ba6e46e Merge pull request #2286 from ghostty-org/push-uknuvwouqqnu
macos: enable dead code stripping
2024-09-22 11:05:45 -07:00
Mitchell Hashimoto
554dd6ff95 macos: enable dead code stripping
This is a recommended Xcode setting, the binary _seems_ to run fine.
It eliminates a warning from builds and reduces the binary size.
2024-09-22 10:21:51 -07:00
Mitchell Hashimoto
c63af5efaa macos: cannot call mouseEntered/Exited with blank NSEvent
Fixes #2283

macOS <= 14 crash with an invalid NSEvent error. macOS 15 seems to just
ignore the blank event. We just got lucky with this. Since we don't
override mouseEntered/Exited anymore we can remove this completely.

The regression was from: e89a4f74089b66c00043096589dc75fff5ab6674
2024-09-22 10:17:45 -07:00
Mitchell Hashimoto
261ce00552 apprt/macos,gtk: unfocused splits now highlight hovered links
Fixes #1547

The core change to make this work is to make the cursor position
callback support taking updated modifiers. On both macOS and GTK, cursor
position events also provide the pressed modifiers so we can pass those
in.
2024-09-21 15:16:14 -07:00
Mitchell Hashimoto
d090384600 macos: fix non-AppKit builds 2024-09-21 10:22:14 -07:00
Mitchell Hashimoto
7f56ea150d typos 2024-09-21 10:00:32 -07:00
Mitchell Hashimoto
f9bd009ce5 macos: unhide cursor on clipboard confirmation 2024-09-21 09:59:40 -07:00
Mitchell Hashimoto
c01bdc6d7c macos: use pointerStyle for SplitView Divider 2024-09-20 22:02:21 -07:00
Mitchell Hashimoto
0e1258b7fe macos: pointer style uses macOS 15 helpers 2024-09-20 22:02:21 -07:00
Mitchell Hashimoto
e89a4f7408 macos: use macOS 15 pointerVisibility to show/hide cursor 2024-09-20 22:02:20 -07:00
Mitchell Hashimoto
c6bbdfb7bf macos: remove EventSinkHostingView
This was breaking various other features:

  - Popovers stopped working
  - Split divider drag gestures stopped working

For now we document the top part of the window is draggable... we
can look into removing that limitation later.
2024-09-20 22:01:01 -07:00
Mitchell Hashimoto
2c44e20860 macos: EventSinkHostingView must not override mouse events
This breaks split resizing. Removing this doesn't seem to have negative
effects for hidden titlebars (which it was originally made for).
2024-09-20 21:40:30 -07:00
Mitchell Hashimoto
44e39326b3 Merge pull request #2276 from qwerasd205/macos-titlebar-hidden
macOS: add `macos-titlebar-style = hidden`
2024-09-20 20:50:27 -07:00
Mitchell Hashimoto
578aaa1ba6 macos: DraggableWindowView helper (unused currently) 2024-09-20 20:45:27 -07:00
Mitchell Hashimoto
962aa49a45 macos: remove nstitlecontainerview hidden 2024-09-20 19:18:01 -07:00
Qwerasd
16919488da macOS: add macos-titlebar-style = hidden
Hides titlebar without removing the other typical window frame elements
2024-09-20 16:11:51 -06:00
Mitchell Hashimoto
df24d8e1a6 macos: show clickable mouse pointer when hovering over secure input
This only works on macOS 15 because it uses the new `pointerStyle` API.
I don't have the interest to backport this to older macOS versions but
I'm happy to accept a PR if someone else wants to do it.
2024-09-20 09:56:44 -07:00
Mitchell Hashimoto
df5cd719d6 macos: rename overlay config to indication 2024-09-19 20:00:46 -07:00
Mitchell Hashimoto
08a2a71ab8 macos: copy 2024-09-19 19:57:03 -07:00
Mitchell Hashimoto
fa9df4f6f0 macos: persist secure input state across restarts 2024-09-19 19:54:53 -07:00
Mitchell Hashimoto
a513a02328 config: config to disable auto secure input and secure input overlay 2024-09-19 17:20:54 -07:00
Mitchell Hashimoto
ced8395c77 macos: copy changes 2024-09-19 17:06:49 -07:00
Mitchell Hashimoto
9f03aae764 ios: disable secure input 2024-09-19 16:56:46 -07:00
Mitchell Hashimoto
6b85a152d8 macos: fix deployment target back to 12.0 2024-09-19 16:43:43 -07:00
Mitchell Hashimoto
1ed1c73c1a macos: enable secure input on password input 2024-09-19 16:38:32 -07:00
Mitchell Hashimoto
c3d6356a87 macos: show secure input overlay when it is enabled 2024-09-19 16:24:42 -07:00
Mitchell Hashimoto
c0e0eff468 core: add toggle_secure_input keybinding 2024-09-19 10:20:30 -07:00
Mitchell Hashimoto
0c38f40f0a macos: secure input manager, global option in app 2024-09-19 10:11:31 -07:00
Mitchell Hashimoto
498804b571 macos: right-click actions on surface should target surface under click
Fixes #2263
2024-09-18 13:43:57 -07:00
Qwerasd
2852c771b1 macos: fix various titlebar tabs problems in macOS 15.0
- Toolbar overflow indicator showing
- Doubled title on single-tab windows
- Tabs not properly placed in bar on restore of saved window
2024-09-16 22:54:00 -06:00
Mitchell Hashimoto
bcfe7d0f6c macos: update comment on why we don't start updater 2024-09-10 21:55:58 -07:00
Mitchell Hashimoto
359272a5f5 macos: start Sparkle after loading config 2024-09-10 21:54:40 -07:00
hanna
fd9d38481b refactor: attempted autoupdate configuration 2024-09-10 21:40:17 -07:00
Mitchell Hashimoto
6cf61f4d7b macos: show debug build warning even with releasesafe for now 2024-08-31 21:37:22 -07:00
Mitchell Hashimoto
90d24f9e82 macos: get updated surface size metrics immediately on resize
Fixes #2149

Previously, the way we were getting the updated surface size would use
outdated (previous) values because the resize event was not processed by
the surface before the SwiftUI view processed the resize overlay. And
since the property we used wasn't `@Published`, we didn't get notified
when we got that updated value.
2024-08-29 14:56:30 -07:00
Mitchell Hashimoto
3ba0787ec2 macOS: save dSYM files
The focus of this commit is to store the dSYM files associated with
official macOS builds. dSYM files allow us to map crash reports to
source.

The dSYM files are primarily uploaded to our official blob storage where
all releases are also stored. We also upload the dSYM files to Sentry
since I'm experimenting with using that for crash reproting (note:
manual crash reporting, no automatic network traffic).

This commit also changes our blob URLs for releases to use the full
Git SHA rather than a build number. This is much easier to trace back.
2024-08-28 21:33:32 -07:00
Mitchell Hashimoto
80327402b8 Merge pull request #2120 from edmz/last_tab
macos: jump to last_tab
2024-08-26 20:22:52 -07:00
Mitchell Hashimoto
866a7dfcf1 macos: remove unused gotolasttab 2024-08-26 20:17:19 -07:00
Mitchell Hashimoto
18419d3589 Clamp initial window size configurations to screen size
Fixes #2145
2024-08-26 10:09:05 -07:00
Mitchell Hashimoto
90d21a6a65 macos: do not open a window on reopen if terminal manager has any
Fixes #2135. See the comment on how this is possible.
2024-08-22 19:58:41 -07:00
pnodet
7ff9af1520 style(macos): cleanup trailing spaces 2024-08-21 21:53:09 +02:00
Eduardo Dominguez
262902a28d macos: jump to last_tab 2024-08-19 12:19:00 -06:00
Mitchell Hashimoto
affe12d68c ios: add focusInstant field to surface 2024-08-11 11:10:35 -07:00
Mitchell Hashimoto
2e0e8897e7 macos: avoid showing overlay if gained focus recently 2024-08-11 11:07:07 -07:00
Mitchell Hashimoto
4680c87c8b macos: pause resize overlay until 500ms passes 2024-08-11 10:34:53 -07:00
Mitchell Hashimoto
448382b49d macos: add iOS field necessary 2024-08-10 21:08:59 -07:00
Mitchell Hashimoto
0e2012617e macos: truncate tail of resize view 2024-08-10 21:01:29 -07:00