aboutsummaryrefslogtreecommitdiff
path: root/xM
diff options
context:
space:
mode:
Diffstat (limited to 'xM')
-rw-r--r--xM/gen-icon.swift3
-rw-r--r--xM/main.swift10
2 files changed, 10 insertions, 3 deletions
diff --git a/xM/gen-icon.swift b/xM/gen-icon.swift
index 712e9e6..0f7477c 100644
--- a/xM/gen-icon.swift
+++ b/xM/gen-icon.swift
@@ -3,6 +3,9 @@
// Copyright (c) 2023, Přemysl Eric Janouch <p@janouch.name>
// SPDX-License-Identifier: 0BSD
//
+// As an odd regression, AppKit may be necessary for JIT linking.
+import AppKit
+
// NSGraphicsContext mostly just weirdly wraps over Quartz,
// so we do it all in Quartz directly.
import CoreGraphics
diff --git a/xM/main.swift b/xM/main.swift
index 91e3499..39b66c5 100644
--- a/xM/main.swift
+++ b/xM/main.swift
@@ -173,8 +173,11 @@ class RelayRPC {
func send(data: RelayCommandData, callback: Callback? = nil) {
self.commandSeq += 1
let m = RelayCommandMessage(commandSeq: self.commandSeq, data: data)
- if let callback = callback {
- self.commandCallbacks[m.commandSeq] = callback
+ self.commandCallbacks[m.commandSeq] = callback ?? { error, data in
+ if data == nil {
+ NSSound.beep()
+ Logger().warning("\(error)")
+ }
}
var w = RelayWriter()
@@ -842,11 +845,11 @@ relayRPC.onEvent = { message in
b.bufferName = data.new
- refreshBufferList()
if b.bufferName == relayBufferCurrent {
relayBufferCurrent = data.new
refreshStatus()
}
+ refreshBufferList()
if b.bufferName == relayBufferLast {
relayBufferLast = data.new
}
@@ -1203,6 +1206,7 @@ class WindowDelegate: NSObject, NSWindowDelegate {
b.highlighted = false
refreshIcon()
+ refreshBufferList()
}
// Buffer indexes rotated to start after the current buffer.