mirror of
https://github.com/Toxblh/MTMR.git
synced 2026-01-11 09:28:38 +00:00
Merge pull request #75 from ReDetection/experimental-private-queue
experimental: run applescript on separate serial queue
This commit is contained in:
commit
fd537bcdfe
@ -15,7 +15,7 @@ class AppleScriptTouchBarItem: CustomButtonTouchBarItem {
|
||||
}
|
||||
self.script = script
|
||||
self.isBordered = false
|
||||
DispatchQueue.main.async {
|
||||
DispatchQueue.appleScriptQueue.async {
|
||||
var error: NSDictionary?
|
||||
guard script.compileAndReturnError(&error) else {
|
||||
#if DEBUG
|
||||
@ -42,8 +42,11 @@ class AppleScriptTouchBarItem: CustomButtonTouchBarItem {
|
||||
DispatchQueue.main.async {
|
||||
self.title = 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()
|
||||
}
|
||||
}
|
||||
@ -66,3 +69,7 @@ extension SourceProtocol {
|
||||
return NSAppleScript(source: source)
|
||||
}
|
||||
}
|
||||
|
||||
extension DispatchQueue {
|
||||
static let appleScriptQueue = DispatchQueue(label: "mtmr.applescript")
|
||||
}
|
||||
|
||||
@ -257,12 +257,14 @@ class TouchBarController: NSObject, NSTouchBarDelegate {
|
||||
return {}
|
||||
}
|
||||
return {
|
||||
DispatchQueue.appleScriptQueue.async {
|
||||
var error: NSDictionary?
|
||||
appleScript.executeAndReturnError(&error)
|
||||
if let error = error {
|
||||
print("error \(error) when handling \(item) ")
|
||||
}
|
||||
}
|
||||
}
|
||||
case .shellScript(executable: let executable, parameters: let parameters):
|
||||
return {
|
||||
let task = Process()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user