BlueHuskyStudios/Howl
timeToLive, fadeOutAnimationDuration, afterHideCallback don't seem to be working
開放
#10 建立於 2023年10月3日
bughelp wanted
倉庫指標
- 星標
- (34 顆星)
- PR 合併指標
- (PR 指標待抓取)
描述
Have a really simple program where I am trying to show an HUD, but I can't seem to be able to get timeToLive, fadeOutAnimationDuration and afterHideCallback options to work,
despite whatever value I set the HUD disappears with no animations, fadeInAnimationDuration seems to work though.
also timeToLive does not seem to have any effect and the HUD disappears after the same time no matter what value I set.
afterHideCallback does not seem to trigger either.
import AppKit
import BezelNotification
func after(_ delay: TimeInterval, perform block: @escaping ()->(), on queue: DispatchQueue = OperationQueue.current?.underlyingQueue ?? .main) { // So this `queue` preserves the current queue and defaulted to the `main`. Also the caller can pass in the desired queue explicitly
queue.asyncAfter(deadline: .now() + delay, execute: block)
}
var showMuted: Bool = true
for argument in CommandLine.arguments {
if (argument == "un-muted") {
showMuted = false;
}
}
let app = NSApplication.shared
class AppDelegate: NSObject, NSApplicationDelegate {
func applicationDidFinishLaunching(_ notification: Notification) {
var path: String?
if (showMuted) {
path = Bundle.module.path(forResource: "mic.slash.fill", ofType: "png")
} else {
path = Bundle.module.path(forResource: "mic.fill", ofType: "png")
}
let bezelIcon = NSImage(contentsOfFile: path!)
BezelNotification.show(
messageText: "",
icon: bezelIcon,
timeToLive: .exactly(seconds: 2),
fadeInAnimationDuration: 0,
fadeOutAnimationDuration: 0
)
after(2) {
app.terminate(self)
}
}
}
let delegate = AppDelegate()
app.delegate = delegate
app.run()