From 1e214f2cbe2244f179b15059b7dbf1bd64e660d4 Mon Sep 17 00:00:00 2001 From: Matthias Grandl Date: Mon, 1 Jan 2024 11:16:04 +0100 Subject: [PATCH] add NSDistributedNotificationCenter for better sketchybar support Co-authored-by: Nikita Bobko closes https://github.com/nikitabobko/AeroSpace/issues/76 closes https://github.com/nikitabobko/AeroSpace/pull/80 --- src/command/WorkspaceCommand.swift | 1 + src/focused.swift | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/command/WorkspaceCommand.swift b/src/command/WorkspaceCommand.swift index 9676985d..9300ab2a 100644 --- a/src/command/WorkspaceCommand.swift +++ b/src/command/WorkspaceCommand.swift @@ -1,4 +1,5 @@ import Common +import Foundation struct WorkspaceCommand : Command { let info: CmdStaticInfo = WorkspaceCmdArgs.info diff --git a/src/focused.swift b/src/focused.swift index f5ad7507..6d48f26c 100644 --- a/src/focused.swift +++ b/src/focused.swift @@ -29,10 +29,14 @@ private var _focusedWorkspaceName: String = focusedMonitorInaccurate?.activeWork var focusedWorkspaceName: String { // todo change to focused monitor get { _focusedWorkspaceName } set { - if newValue != _focusedWorkspaceName { + let changed = newValue != _focusedWorkspaceName + _focusedWorkspaceName = newValue + if changed { + // Firing Notification for e.g Sketchybar Integration + DistributedNotificationCenter.default().postNotificationName(NSNotification.Name("bobko.aerospace.focusedWorkspaceChanged"), object: nil) + previousFocusedWorkspaceName = _focusedWorkspaceName } - _focusedWorkspaceName = newValue } } var previousFocusedWorkspaceName: String? = nil