mirror of
https://github.com/Toxblh/MTMR.git
synced 2026-01-10 17:08:39 +00:00
Merge pull request #5 from ReDetection/master
Workaround for apple script
This commit is contained in:
commit
bb0c81ea76
@ -1,10 +1,9 @@
|
|||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
class AppleScriptTouchBarItem: NSCustomTouchBarItem {
|
class AppleScriptTouchBarItem: NSCustomTouchBarItem {
|
||||||
private let script: NSAppleScript
|
private let script: NSAppleScript!
|
||||||
private let queue = DispatchQueue(label: "apple script touchbar queue", qos: .utility, attributes: [], autoreleaseFrequency: .workItem, target: nil)
|
|
||||||
private let interval: TimeInterval
|
|
||||||
private let button = NSButton(title: "", target: nil, action: nil)
|
private let button = NSButton(title: "", target: nil, action: nil)
|
||||||
|
private let interval: TimeInterval
|
||||||
|
|
||||||
init?(identifier: NSTouchBarItem.Identifier, appleScript: String, interval: TimeInterval) {
|
init?(identifier: NSTouchBarItem.Identifier, appleScript: String, interval: TimeInterval) {
|
||||||
guard let script = NSAppleScript(source: appleScript) else {
|
guard let script = NSAppleScript(source: appleScript) else {
|
||||||
@ -16,7 +15,7 @@ class AppleScriptTouchBarItem: NSCustomTouchBarItem {
|
|||||||
self.view = button
|
self.view = button
|
||||||
button.bezelColor = .clear
|
button.bezelColor = .clear
|
||||||
button.title = "compile"
|
button.title = "compile"
|
||||||
queue.async {
|
DispatchQueue.main.async {
|
||||||
var error: NSDictionary?
|
var error: NSDictionary?
|
||||||
guard script.compileAndReturnError(&error) else {
|
guard script.compileAndReturnError(&error) else {
|
||||||
print(error?.description ?? "unknown error")
|
print(error?.description ?? "unknown error")
|
||||||
@ -39,7 +38,7 @@ class AppleScriptTouchBarItem: NSCustomTouchBarItem {
|
|||||||
DispatchQueue.main.async {
|
DispatchQueue.main.async {
|
||||||
self.button.title = scriptResult
|
self.button.title = scriptResult
|
||||||
}
|
}
|
||||||
queue.asyncAfter(deadline: .now() + self.interval) { [weak self] in
|
DispatchQueue.main.asyncAfter(deadline: .now() + self.interval) { [weak self] in
|
||||||
self?.refreshAndSchedule()
|
self?.refreshAndSchedule()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user