1411 Commits

Author SHA1 Message Date
Lukas
94f88c8b54 macOS: fix toggle_visibility behaviour with tabbed windows
This fixes regression of #5690, which kind of comes from #9576. 05b42919d5 (before #9576) has weird behaviours too, restored windows are not properly focused. With this pr, we only order `selectedWindow` front so we won't mess up with its selection state and the order of the tab group.
2025-11-28 10:14:07 +01:00
Mitchell Hashimoto
5c1679209d macos: add hover styles to search buttons, cursor changes 2025-11-27 13:01:51 -08:00
Lukas
dc08d057fe macOS: use ConcentricRectangle on Tahoe 2025-11-26 21:00:14 +01:00
Lukas
cbcd52846c macOS: fix search dragging animation when corner is not changed 2025-11-26 21:00:14 +01:00
Qwerasd
4b01163c79 fix(macos): use strings' utf-8 lengths for libghostty calls
Swift conveniently converts strings to UTF-8 encoded cstrings when
passing them to external functions, however our libghostty functions
also take a length and we were using String.count for that, which
returns the number of _characters_ not the byte length, which caused
searches with multi-byte characters to get truncated.

I went ahead and changed _all_ invocations that pass a string length to
use the utf-8 byte length even if the string is comptime-known and all
ASCII, just so that it's proper and if someone copies one of the calls
in the future for user-inputted data they don't reproduce this bug.

ref:
https://developer.apple.com/documentation/swift/string/count
https://developer.apple.com/documentation/swift/stringprotocol/lengthofbytes(using:)
2025-11-26 12:00:58 -07:00
avarayr
f5b923573d macOS: move search result counter inside text field
Move the search result counter (e.g. "1/30") inside the search text
field using an overlay, preventing layout shift when results appear.

This PR was authored with Claude Code.
2025-11-26 13:04:05 -05:00
Mitchell Hashimoto
5b4394d211 macos: end_search for ending search 2025-11-26 08:57:24 -08:00
Mitchell Hashimoto
c51170da9c add end_search binding 2025-11-26 08:50:06 -08:00
Mitchell Hashimoto
f7b14a0142 macos: debounce search requests with length less than 3 2025-11-26 08:50:06 -08:00
Mitchell Hashimoto
339abf97f7 macos: can allow single char searches now 2025-11-26 08:50:06 -08:00
Mitchell Hashimoto
1bb2d4f1c2 macos: only end search if we previously had one 2025-11-26 08:50:05 -08:00
Mitchell Hashimoto
93656fca5a macos: show progerss correctly for search 2025-11-26 08:50:05 -08:00
Mitchell Hashimoto
0e974f85ed macos: fix iOS build 2025-11-26 08:50:05 -08:00
Mitchell Hashimoto
c20af77f98 macos: handle search progress/total apprt actions 2025-11-26 08:50:05 -08:00
Mitchell Hashimoto
d4a2f3db71 macos: search overlay shows search progress 2025-11-26 08:50:05 -08:00
Mitchell Hashimoto
7835ad0ea4 macos: more menu items 2025-11-26 08:50:05 -08:00
Mitchell Hashimoto
3f7cfca4b4 macos: add find menu item 2025-11-26 08:50:05 -08:00
Mitchell Hashimoto
949a8ea53f macos: dummy search state for iOS 2025-11-26 08:50:05 -08:00
Mitchell Hashimoto
cfbc219f5c macos: enter and shift+enter move the results 2025-11-26 08:50:04 -08:00
Mitchell Hashimoto
efc05523e0 macos: enter goes to next result 2025-11-26 08:50:04 -08:00
Mitchell Hashimoto
3ce19a02ba macos: hook up the next/prev search buttons 2025-11-26 08:50:04 -08:00
Mitchell Hashimoto
ad8a6e0642 search thread needs to take an allocated needle 2025-11-26 08:50:04 -08:00
Mitchell Hashimoto
5ee000f58f macos: search input starts the search up 2025-11-26 08:50:04 -08:00
Mitchell Hashimoto
081d73d850 macos: changes to SearchState trigger calls to internals 2025-11-26 08:50:04 -08:00
Mitchell Hashimoto
56d4a7f58e macos: start_search refocuses the search input 2025-11-26 08:50:04 -08:00
Mitchell Hashimoto
c61d28a3a4 macos: esc returns focus back to surface 2025-11-26 08:50:04 -08:00
Mitchell Hashimoto
b7e70ce534 apprt: end_search 2025-11-26 08:50:04 -08:00
Mitchell Hashimoto
bc44b187d6 macos: hook up start_search apprt action to open search 2025-11-26 08:50:04 -08:00
Mitchell Hashimoto
b87d57f029 macos: search overlay 2025-11-26 08:50:03 -08:00
Lukas
2a627a4665 macOS: fix the animation of showing&hiding command palette 2025-11-25 11:22:14 +01:00
Vinícius Soares
92aa960381 Add flag for quick terminal 2025-11-23 12:43:11 -03:00
Lukas
6f75cc56f6 macOS: Only change the icon if needed
Fixes #9666
2025-11-22 16:48:39 +01:00
Lukas
2f1427f529 macOS: match scroller’s appearance with surface’s background 2025-11-17 18:20:24 +01:00
Lukas
011fc77caa macOS: Fix dictation icon's position while speaking 2025-11-16 12:17:31 +01:00
Mitchell Hashimoto
caf5040a6d macOS: find correct tab bar when in fullscreen (#9596)
Fixes #9597
2025-11-15 14:13:30 -08:00
Lukas
8d1dd332c6 macOS: fix misplaced frame modifier
As per #9504, this was supposed to be on `ZStack`, not on the overlay. See also #9503. I cherry-picked it in the wrong place before.
2025-11-15 10:14:43 +01:00
Lukas
b124b78313 macOS: find correct tab bar when in fullscreen
Fixes #9593
2025-11-15 08:10:05 +01:00
Daniel Wennberg
49bf73458b don't autohide scrollers 2025-11-14 07:40:51 -08:00
Daniel Wennberg
d48f855a48 macOS: set scrollbar size to .small 2025-11-14 07:36:54 -08:00
Mitchell Hashimoto
5ab23e6493 macOS: restore visiblity state when hiding quick terminal (#9576)
Fixes #8414 and a case where `toggle_visibility` is not working after
hiding using `cmd+h`


https://github.com/user-attachments/assets/be28c2d9-b416-467f-9fe9-7b7c97278330
2025-11-14 07:29:46 -08:00
Lukas
1486be0cdf macOS: add more cursor style and fixes #8409 2025-11-13 18:20:09 +01:00
Lukas
bcb5112b24 macOS: restore visiblity state when hiding quick terminal 2025-11-13 11:30:43 +01:00
Mitchell Hashimoto
eff3619878 macos: Require fullScreenMode on fullscreenStyle 2025-11-11 09:21:15 -08:00
Lukas
2debeb0f13 macOS: save effective fullscreen styles 2025-11-11 18:16:40 +01:00
Lukas
8437be8ee1 macOS: 'restore' non native fullscreen styles 2025-11-11 18:11:15 +01:00
Mitchell Hashimoto
791d8f8200 macos: add a "restart later" option to the installing state 2025-11-11 07:27:03 -08:00
Lukas
f5bddb346c macOS: support close_all_windows action 2025-11-10 17:54:46 +01:00
Lukas
7ca858d404 macOS: move focus if command palette is not showing 2025-11-10 10:11:34 +01:00
Lukas
7e3aba7c99 macOS: remove readyToInstall state in update capsule
There is a sparkle-related 'issue' with the previous implementation. When you download/install in the `updateAvailable` state, if you don't install it, then check the updates again. Sparkle loses its downloaded stage in the delegate (it's normal when I use the sparkle source code). This time, when you click install in the `updateAvailable` state, it just uses the previous downloaded package and starts to install, without calling `showReady(toInstallAndRelaunch:)`.

I think removing `readyToInstall` in our customed ui, will reduce one step to install an update for most of the users out there, which makes sense, since the current package is pretty small, only takes a few seconds to download for a normal network, and they intended to install this update.
2025-11-09 20:24:24 +01:00
Lukas
52d3329f84 macOS: use unobtrusive when quick terminal is visible 2025-11-09 13:32:50 +01:00