Pete Schaffner
34f5bf4fe6
Move unzoom button logic into TerminalWindow
...
This fixed some bugs with keeping the correct button state when
reordering tabs
2024-02-23 22:30:03 +01:00
Pete Schaffner
dc60afc261
Get unzoom button working with standard title/tab bar
...
To do this I forced a toolbar, so that we would have a place to put the
button when no tabs were opened. I also took the opportunity to make the
standard title/tab bar meld better with the terminal's background color,
just as we do with titlebar tabs.
2024-02-23 15:08:35 +01:00
Pete Schaffner
021daeedb2
Hide zoom button in toolbar when not zoomed
...
Hiding it via its alphaValue would allow the button to still respond
to clicks…
2024-02-22 18:01:13 +01:00
Pete Schaffner
472a5c93ad
Move un-zoom button into the tab/toolbar
2024-02-22 17:54:51 +01:00
Troels Thomsen
a874280e4b
Avoid repainting new tab button for native tab bar
2024-02-16 13:57:11 -08:00
Mitchell Hashimoto
9e4cd0b51c
macos: minor reordering
2024-02-16 13:55:09 -08:00
Troels Thomsen
3bf18560bb
Set background color in title bar tab mode only
2024-02-16 21:53:26 +01:00
Troels Thomsen
05fe0e830b
Correct grammatical mistake
2024-02-16 21:52:46 +01:00
Troels Thomsen
41e94cf0be
Remove trailing whitespace
2024-02-15 23:39:14 +01:00
Mitchell Hashimoto
9bc972568c
macos: call occlusion callback for state change
2024-02-12 13:48:29 -08:00
Mitchell Hashimoto
118b51157a
macos: more robust surface focus state detection
...
Fixes #1500
This overhauls how we do focus management for surfaces to make it more
robust. This DID somehow all work before but was always brittle and was
a sketchy play with SwiftUI/AppKit behavior across macOS versions.
The new approach uses our window controller and terminal delegate
system to disseminate focus information whenever any surface changes
focus. This ensures that only ONE surface ever has focus in libghostty
because the controller ensures it is widely distributed.
2024-02-11 09:19:13 -08:00
Pete Schaffner
aad302f236
Make new tab icon respond to window's key status
2024-02-11 14:24:35 +01:00
Pete Schaffner
595c1e222b
Remove vibrant layer before re-adding it
2024-02-11 13:52:11 +01:00
Pete Schaffner
1bcec0d49f
Make new tab button images vibrant
...
This makes them blend better with the background in windows with
transparency.
2024-02-11 00:55:33 +01:00
Pete Schaffner
3b6bac0121
Make special blending mode class more generic
...
This allows us to specify what kind of context we'd like our vibrant
layer to exist in (light or dark).
2024-02-11 00:53:18 +01:00
Mitchell Hashimoto
49cc5e2f47
Merge pull request #1483 from peteschaffner/improve-titlebar-tabs-background-color
...
Improve titlebar unselected tabs background color
2024-02-10 07:52:24 -08:00
Mitchell Hashimoto
0e482b8519
macos: nitpicks
2024-02-10 07:52:02 -08:00
Mitchell Hashimoto
56b453a93f
macos: comment why we guard
2024-02-09 14:22:21 -08:00
Troels Thomsen
c3dbd32462
Keep shadows for native tab bar
2024-02-09 23:10:31 +01:00
Pete Schaffner
77e82b4d2a
Improve window buttons backdrop with window opacity
2024-02-09 22:46:49 +01:00
Pete Schaffner
20ed099940
Cache new tab button image to improve performance
2024-02-09 00:06:40 +01:00
Pete Schaffner
7e945a52f1
Move separator hiding back into updateConstraintsIfNeeded
...
I moved this into `update` when doing the tab bar background coloring
but the separators would still show briefly.
2024-02-08 18:16:17 +01:00
Pete Schaffner
95c8541efd
Color the new tab button image appropriately
2024-02-08 17:46:16 +01:00
Pete Schaffner
8831c601a4
Use draw rect to do the "plus darker" blending
...
This is a lot simpler and doesn't require adding Obj-C into the mix.
2024-02-08 16:38:07 +01:00
Pete Schaffner
33a8368a68
Make unselected tabs blend better with background color
...
This enables the standard effect created by a sytem tab bar, which
ensures unselected tabs blend with the window's/titlebar's background
color. This also ensures the `windowButtonsBackdrop` view matches the
color of the adjacent tab (be it selected or not).
2024-02-08 10:14:15 +01:00
Pete Schaffner
93fb852d9b
Add comments/docs and make method name clearer
2024-02-07 21:44:44 +01:00
Pete Schaffner
591c05641b
Use shallow search to improve performance
2024-02-07 21:39:36 +01:00
Pete Schaffner
bc946109b7
Hide tab bar shadows which improves light themes
...
In a light appearance there was a shadow cast on top of the inactive
tabs that looked bad. In a dark appearance the shadow manifests as a
solid line that required a faux border to look right. This removes both
and improves the aesthetics of the tab bar in light themes.
2024-02-07 11:11:34 +01:00
Pete Schaffner
e00197c1bd
Add extensions to help finding private subviews
2024-02-07 11:10:43 +01:00
Mitchell Hashimoto
3c0317bf9d
macos: small stylistic edits
2024-02-05 19:04:50 -08:00
Qwerasd
1d6b952c8f
fix(macOS): Improve updating of transparent titlebar tabs backgrounds
...
FAR from a perfect fix, as the background seen through the tabs during window drags will be behind by a frame or so still, but definitely a vast improvement over not updating at all.
2024-02-05 17:05:13 -05:00
Qwerasd
878b5be185
fix(macOS): Restore custom titlebar background
...
Required for when a transparent background is used in conjunction with non-native fullscreen.
2024-02-05 16:15:43 -05:00
Mitchell Hashimoto
7001ef2739
Merge pull request #1458 from qwerasd205/macos-fix-title-label
...
(macOS) Fixed/improved titlebar tabs custom title label handling
2024-02-04 15:41:38 -08:00
Mitchell Hashimoto
bd38689539
macos: make label fileprivate
2024-02-04 15:41:15 -08:00
Qwerasd
a121549f32
macOS: Improve custom title label centering and overflow appearance.
2024-02-04 17:56:08 -05:00
Qwerasd
fdab397c61
macOS: Simplify native title hiding logic for titlebar tabs.
2024-02-04 16:55:18 -05:00
Qwerasd
4d335a220f
fix(macOS): Adjust custom toolbar title to fix clipping problems.
2024-02-04 16:55:07 -05:00
Qwerasd
181d64338d
fix(macOS): Restore titlebar tabs when exiting non-native fullscreen
2024-02-03 20:03:34 -05:00
Qwerasd
f590aebdfa
fix(macOS): Use better hardcoded colors for light titlebar tabs window button backdrop
2024-02-02 02:00:02 -05:00
Mitchell Hashimoto
98ad832d86
macos: set window button backdrop color based on appearance
2024-02-01 21:41:29 -08:00
Mitchell Hashimoto
e5400bad06
config: add window-theme = auto for automatic choosing based on bg color
2024-02-01 20:49:28 -08:00
Mitchell Hashimoto
6482c25579
macos: titlebar tabs set window appearance based on bg luminance
...
Fixes #1427
2024-02-01 16:47:45 -08:00
Qwerasd
2944128e05
fix(macOS): restoring tabbed windows with titlebar tabs enabled
2024-01-31 20:07:35 -05:00
Mitchell Hashimoto
50125c0319
macos: whitespace
2024-01-31 15:44:34 -08:00
Mitchell Hashimoto
4a93181b79
macos: minor edits
2024-01-31 15:43:35 -08:00
Qwerasd
308f8cce36
macOS: center window title when titlebar tabs enabled
...
Uses a custom toolbar that populates itself with a centered text field and provides a method to set the text.
2024-01-31 16:16:41 -05:00
Mitchell Hashimoto
1a3d2d151e
macos: fix tabs vs spaces
2024-01-31 12:06:58 -08:00
Mitchell Hashimoto
fbac2d9810
macos: titlebar tab logic shuffling
2024-01-31 10:08:05 -08:00
Qwerasd
dacbdf3f38
fix(macOS): set titlebar background color to support transparent windows with titlebar tabs
2024-01-31 07:58:31 -05:00
Qwerasd
ba16d65d02
macOS: Added titlebar tabs
2024-01-30 18:48:36 -05:00