From d08cac5a3ac9be6e0251e1a482dde099624d21d0 Mon Sep 17 00:00:00 2001 From: Beingpax Date: Mon, 14 Jul 2025 22:33:45 +0545 Subject: [PATCH] Move hotkey monitoring to HotkeyManager init --- VoiceInk/HotkeyManager.swift | 9 +++++---- VoiceInk/Views/ContentView.swift | 2 -- VoiceInk/Views/Onboarding/OnboardingTutorialView.swift | 1 - 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/VoiceInk/HotkeyManager.swift b/VoiceInk/HotkeyManager.swift index 66f41c5..88eb3a3 100644 --- a/VoiceInk/HotkeyManager.swift +++ b/VoiceInk/HotkeyManager.swift @@ -116,10 +116,11 @@ class HotkeyManager: ObservableObject { self.selectedHotkey2 = HotkeyOption(rawValue: UserDefaults.standard.string(forKey: "selectedHotkey2") ?? "") ?? .none self.whisperState = whisperState self.miniRecorderShortcutManager = MiniRecorderShortcutManager(whisperState: whisperState) - } - - func startHotkeyMonitoring() { - setupHotkeyMonitoring() + + Task { @MainActor in + try? await Task.sleep(nanoseconds: 100_000_000) + self.setupHotkeyMonitoring() + } } private func setupHotkeyMonitoring() { diff --git a/VoiceInk/Views/ContentView.swift b/VoiceInk/Views/ContentView.swift index 15e35c7..3e91955 100644 --- a/VoiceInk/Views/ContentView.swift +++ b/VoiceInk/Views/ContentView.swift @@ -191,8 +191,6 @@ struct ContentView: View { .frame(minWidth: 940, minHeight: 730) .onAppear { hasLoadedData = true - // Initialize hotkey monitoring after the app is ready - hotkeyManager.startHotkeyMonitoring() } .onReceive(NotificationCenter.default.publisher(for: .navigateToDestination)) { notification in print("ContentView: Received navigation notification") diff --git a/VoiceInk/Views/Onboarding/OnboardingTutorialView.swift b/VoiceInk/Views/Onboarding/OnboardingTutorialView.swift index 4a4428e..f73b8bd 100644 --- a/VoiceInk/Views/Onboarding/OnboardingTutorialView.swift +++ b/VoiceInk/Views/Onboarding/OnboardingTutorialView.swift @@ -161,7 +161,6 @@ struct OnboardingTutorialView: View { } } .onAppear { - hotkeyManager.startHotkeyMonitoring() animateIn() isFocused = true }