macos: add inset margin so overlay shadow isn't clipped
This commit is contained in:
@@ -273,7 +273,7 @@ final class ControlChannel: ObservableObject {
|
||||
proc.standardError = errPipe
|
||||
try proc.run()
|
||||
// Give ssh a brief moment; if it exits immediately, surface the error.
|
||||
try? Task.sleep(nanoseconds: 200_000_000) // 200ms
|
||||
Thread.sleep(forTimeInterval: 0.2) // 200ms
|
||||
if !proc.isRunning {
|
||||
let err = String(data: errPipe.fileHandleForReading.readDataToEndOfFile(), encoding: .utf8)?.trimmingCharacters(in: .whitespacesAndNewlines)
|
||||
throw ControlChannelError.sshFailed(err ?? "ssh exited")
|
||||
|
||||
@@ -184,8 +184,9 @@ final class VoiceWakeOverlayController: ObservableObject {
|
||||
|
||||
private func ensureWindow() {
|
||||
if self.window != nil { return }
|
||||
let borderPad = self.closeOverflow
|
||||
let panel = NSPanel(
|
||||
contentRect: NSRect(x: 0, y: 0, width: self.width + self.closeOverflow, height: 60 + self.closeOverflow),
|
||||
contentRect: NSRect(x: 0, y: 0, width: self.width + borderPad * 2, height: 60 + borderPad * 2),
|
||||
styleMask: [.nonactivatingPanel, .borderless],
|
||||
backing: .buffered,
|
||||
defer: false)
|
||||
@@ -211,7 +212,7 @@ final class VoiceWakeOverlayController: ObservableObject {
|
||||
private func targetFrame() -> NSRect {
|
||||
guard let screen = NSScreen.main else { return .zero }
|
||||
let height = self.measuredHeight()
|
||||
let size = NSSize(width: self.width + self.closeOverflow, height: height + self.closeOverflow)
|
||||
let size = NSSize(width: self.width + self.closeOverflow * 2, height: height + self.closeOverflow * 2)
|
||||
let visible = screen.visibleFrame
|
||||
let origin = CGPoint(
|
||||
x: visible.maxX - size.width - self.padding,
|
||||
@@ -395,6 +396,8 @@ private struct VoiceWakeOverlayView: View {
|
||||
}
|
||||
.padding(.top, self.controller.closeOverflow)
|
||||
.padding(.leading, self.controller.closeOverflow)
|
||||
.padding(.trailing, self.controller.closeOverflow)
|
||||
.padding(.bottom, self.controller.closeOverflow)
|
||||
.onAppear { self.textFocused = false }
|
||||
.onChange(of: self.controller.model.text) { _, _ in
|
||||
self.textFocused = self.controller.model.isEditing
|
||||
|
||||
Reference in New Issue
Block a user