Merge pull request #2275 from ghostty-org/sipointer

macos: show clickable mouse pointer when hovering over secure input
This commit is contained in:
Mitchell Hashimoto
2024-09-20 14:08:24 -07:00
committed by GitHub
5 changed files with 49 additions and 5 deletions

View File

@ -92,7 +92,10 @@ jobs:
# codesigning. IMPORTANT: this must NOT run in a Nix environment.
# Nix breaks xcodebuild so this has to be run outside.
- name: Build Ghostty.app
run: cd macos && xcodebuild -target Ghostty -configuration Release
run: |
cd macos
sudo xcode-select -s /Applications/Xcode_16.0.app
xcodebuild -target Ghostty -configuration Release
# We inject the "build number" as simply the number of commits since HEAD.
# This will be a monotonically always increasing build number that we use.
@ -240,7 +243,10 @@ jobs:
# codesigning. IMPORTANT: this must NOT run in a Nix environment.
# Nix breaks xcodebuild so this has to be run outside.
- name: Build Ghostty.app
run: cd macos && xcodebuild -target Ghostty -configuration Release
run: |
cd macos
sudo xcode-select -s /Applications/Xcode_16.0.app
xcodebuild -target Ghostty -configuration Release
# We inject the "build number" as simply the number of commits since HEAD.
# This will be a monotonically always increasing build number that we use.

View File

@ -140,7 +140,10 @@ jobs:
# codesigning. IMPORTANT: this must NOT run in a Nix environment.
# Nix breaks xcodebuild so this has to be run outside.
- name: Build Ghostty.app
run: cd macos && xcodebuild -target Ghostty -configuration Release
run: |
cd macos
sudo xcode-select -s /Applications/Xcode_16.0.app
xcodebuild -target Ghostty -configuration Release
# We inject the "build number" as simply the number of commits since HEAD.
# This will be a monotonically always increasing build number that we use.
@ -321,7 +324,10 @@ jobs:
# codesigning. IMPORTANT: this must NOT run in a Nix environment.
# Nix breaks xcodebuild so this has to be run outside.
- name: Build Ghostty.app
run: cd macos && xcodebuild -target Ghostty -configuration Release
run: |
cd macos
sudo xcode-select -s /Applications/Xcode_16.0.app
xcodebuild -target Ghostty -configuration Release
# We inject the "build number" as simply the number of commits since HEAD.
# This will be a monotonically always increasing build number that we use.
@ -490,7 +496,10 @@ jobs:
# codesigning. IMPORTANT: this must NOT run in a Nix environment.
# Nix breaks xcodebuild so this has to be run outside.
- name: Build Ghostty.app
run: cd macos && xcodebuild -target Ghostty -configuration Release
run: |
cd macos
sudo xcode-select -s /Applications/Xcode_16.0.app
xcodebuild -target Ghostty -configuration Release
# We inject the "build number" as simply the number of commits since HEAD.
# This will be a monotonically always increasing build number that we use.

View File

@ -160,6 +160,9 @@ jobs:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: XCode Select
run: sudo xcode-select -s /Applications/Xcode_16.0.app
# GhosttyKit is the framework that is built from Zig for our native
# Mac app to access.
- name: Build GhosttyKit

View File

@ -39,6 +39,7 @@ struct SecureInputOverlay: View {
.onTapGesture {
isPopover = true
}
.backport.pointerStyle(.link)
.padding(.top, 10)
.padding(.trailing, 10)
.popover(isPresented: $isPopover, arrowEdge: .bottom) {

View File

@ -23,3 +23,28 @@ extension Backport where Content: Scene {
}
}
}
extension Backport where Content: View {
func pointerStyle(_ style: BackportPointerStyle) -> some View {
if #available(macOS 15, *) {
return content.pointerStyle(style.official)
} else {
return content
}
}
enum BackportPointerStyle {
case grabIdle
case grabActive
case link
@available(macOS 15, *)
var official: PointerStyle {
switch self {
case .grabIdle: return .grabIdle
case .grabActive: return .grabActive
case .link: return .link
}
}
}
}