mirror of
https://github.com/Toxblh/MTMR.git
synced 2026-01-11 17:38:38 +00:00
experimental: run applescript on separate serial queue
This commit is contained in:
parent
b73f8865a9
commit
e9c69f6461
@ -15,7 +15,7 @@ class AppleScriptTouchBarItem: CustomButtonTouchBarItem {
|
|||||||
}
|
}
|
||||||
self.script = script
|
self.script = script
|
||||||
button.bezelColor = .clear
|
button.bezelColor = .clear
|
||||||
DispatchQueue.main.async {
|
DispatchQueue.appleScriptQueue.async {
|
||||||
var error: NSDictionary?
|
var error: NSDictionary?
|
||||||
guard script.compileAndReturnError(&error) else {
|
guard script.compileAndReturnError(&error) else {
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
@ -42,8 +42,11 @@ class AppleScriptTouchBarItem: CustomButtonTouchBarItem {
|
|||||||
DispatchQueue.main.async {
|
DispatchQueue.main.async {
|
||||||
self.title = scriptResult
|
self.title = scriptResult
|
||||||
self.forceHideConstraint.isActive = scriptResult == ""
|
self.forceHideConstraint.isActive = scriptResult == ""
|
||||||
|
#if DEBUG
|
||||||
|
print("did set new script result title \(scriptResult)")
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
DispatchQueue.main.asyncAfter(deadline: .now() + self.interval) { [weak self] in
|
DispatchQueue.appleScriptQueue.asyncAfter(deadline: .now() + self.interval) { [weak self] in
|
||||||
self?.refreshAndSchedule()
|
self?.refreshAndSchedule()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -66,3 +69,7 @@ extension SourceProtocol {
|
|||||||
return NSAppleScript(source: source)
|
return NSAppleScript(source: source)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extension DispatchQueue {
|
||||||
|
static let appleScriptQueue = DispatchQueue(label: "mtmr.applescript")
|
||||||
|
}
|
||||||
|
|||||||
@ -262,10 +262,12 @@ class TouchBarController: NSObject, NSTouchBarDelegate {
|
|||||||
return {}
|
return {}
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
var error: NSDictionary?
|
DispatchQueue.appleScriptQueue.async {
|
||||||
appleScript.executeAndReturnError(&error)
|
var error: NSDictionary?
|
||||||
if let error = error {
|
appleScript.executeAndReturnError(&error)
|
||||||
print("error \(error) when handling \(item) ")
|
if let error = error {
|
||||||
|
print("error \(error) when handling \(item) ")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case .shellScript(executable: let executable, parameters: let parameters):
|
case .shellScript(executable: let executable, parameters: let parameters):
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user