diff --git a/Package.resolved b/Package.resolved index b72596c..ea25a73 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,13 +1,13 @@ { - "originHash" : "a822c74d90bdc435362517f02e179a721c5923e400bda171f9bcb810be2acb0a", + "originHash" : "dce89fb308aeee4a257ece79b39fd6592e4aab3871cef977744e05beedfd13fd", "pins" : [ { "identity" : "menuhub", "kind" : "remoteSourceControl", "location" : "https://github.com/mstallone/menuhub", "state" : { - "revision" : "4350830925635a9d201d0a0ba2d5b2169da6c0ac", - "version" : "0.2.0" + "revision" : "3883159ab8deb0d5b1c73800d0ca4bb3dba40289", + "version" : "0.3.0" } }, { diff --git a/Package.swift b/Package.swift index 6476fac..494bcda 100644 --- a/Package.swift +++ b/Package.swift @@ -5,16 +5,15 @@ let package = Package( name: "MXSwipe", platforms: [.macOS(.v26)], dependencies: [ - .package(url: "https://github.com/sparkle-project/Sparkle", exact: "2.9.4"), - .package(url: "https://github.com/mstallone/menuhub", exact: "0.2.0"), + .package(url: "https://github.com/mstallone/menuhub", exact: "0.3.0"), ], targets: [ .executableTarget( name: "MXSwipe", dependencies: [ "SystemEvents", - .product(name: "Sparkle", package: "Sparkle"), .product(name: "MenuHub", package: "menuhub"), + .product(name: "MenuHubSparkle", package: "menuhub"), ], path: "Sources/MXSwipe", swiftSettings: [.swiftLanguageMode(.v6)], diff --git a/Sources/MXSwipe/main.swift b/Sources/MXSwipe/main.swift index edb2b3f..6ccd97a 100644 --- a/Sources/MXSwipe/main.swift +++ b/Sources/MXSwipe/main.swift @@ -1,8 +1,8 @@ import AppKit import MenuHub +import MenuHubSparkle import OSLog import ServiceManagement -import Sparkle let appName = "MXSwipe" @@ -19,7 +19,6 @@ final class AppDelegate: NSObject, NSApplicationDelegate { private static let logger = Logger(subsystem: "com.mattstallone.mxmasterinput", category: "App") private let session = MXMasterSession() - private let updater = SPUStandardUpdaterController(startingUpdater: true, updaterDelegate: nil, userDriverDelegate: nil) private var hub: MenuHub? private var connection: Task? private var retry: Task? @@ -41,7 +40,7 @@ final class AppDelegate: NSObject, NSApplicationDelegate { func applicationDidFinishLaunching(_ notification: Notification) { UserDefaults.standard.register(defaults: ["autoEnable": true]) - hub = MenuHub(symbol: "computermouse") { self.section } + hub = MenuHub(symbol: "computermouse", updater: SparkleUpdater()) { self.section } NSWorkspace.shared.notificationCenter.addObserver(self, selector: #selector(systemDidWake), name: NSWorkspace.didWakeNotification, object: nil) if isEnabled { connect() } @@ -69,7 +68,6 @@ final class AppDelegate: NSObject, NSApplicationDelegate { .action(isEnabled ? "Turn Gestures Off" : "Turn Gestures On") { self.toggleEnabled() }, .separator, .action("Open at Login", isOn: SMAppService.mainApp.status == .enabled) { self.toggleLogin() }, - .action("Check for Updates…", isEnabled: updater.updater.canCheckForUpdates) { self.updater.checkForUpdates(nil) }, ] return MenuSection(header: header, items: items, isActive: status.isActive) } diff --git a/Tools/make-readme-assets.swift b/Tools/make-readme-assets.swift index 413bc75..f8cdba3 100644 --- a/Tools/make-readme-assets.swift +++ b/Tools/make-readme-assets.swift @@ -18,13 +18,12 @@ let barHeight: CGFloat = 24 /// The menu as MXSwipe shows it on its own, with the mouse connected. @MainActor func makeMenu() -> NSMenu { - let mxswipe = Member(pid: 1, name: "MXSwipe", launched: Date(), yieldsIcon: false, revision: 0, + let mxswipe = Member(pid: 1, name: "MXSwipe", launched: Date(), yieldsIcon: false, checksForUpdates: true, revision: 0, isActive: true, header: MenuHeader(title: "MX Master 4", detail: .battery(83)), items: [ - .action("Turn Gestures Off") {}, .separator, - .action("Open at Login", isOn: true) {}, .action("Check for Updates…") {}, + .action("Turn Gestures Off") {}, .separator, .action("Open at Login", isOn: true) {}, ]) let menu = NSMenu() - MenuHub.populate(menu, with: [mxswipe], version: "0.3.0", target: nil) + MenuHub.populate(menu, with: [mxswipe], version: "0.3.2", canCheckForUpdates: true, target: nil) return menu } diff --git a/assets/menu-dark.png b/assets/menu-dark.png index d9b2dbd..6c69410 100644 Binary files a/assets/menu-dark.png and b/assets/menu-dark.png differ diff --git a/assets/menu-light.png b/assets/menu-light.png index 138d8d4..657a81c 100644 Binary files a/assets/menu-light.png and b/assets/menu-light.png differ