mirror of
https://github.com/AgentSeal/codeburn.git
synced 2026-05-19 16:13:56 +00:00
Merge pull request #126 from getagentseal/fix/menubar-disable-appnap
fix(menubar): opt out of App Nap so refresh loop keeps ticking
This commit is contained in:
commit
2ffd5b46c1
1 changed files with 10 additions and 0 deletions
|
|
@ -30,11 +30,21 @@ final class AppDelegate: NSObject, NSApplicationDelegate, NSPopoverDelegate {
|
|||
private let store = AppStore()
|
||||
let updateChecker = UpdateChecker()
|
||||
private var refreshTask: Task<Void, Never>?
|
||||
/// Held for the lifetime of the app to opt out of App Nap and Automatic Termination.
|
||||
/// Without this the 15s refresh Task gets suspended whenever the user is interacting with
|
||||
/// another app, and the status bar label freezes until they click the menubar icon (which
|
||||
/// calls NSApp.activate and wakes the app back up).
|
||||
private var backgroundActivity: NSObjectProtocol?
|
||||
|
||||
func applicationDidFinishLaunching(_ notification: Notification) {
|
||||
// Menubar accessory -- no Dock icon, no app switcher entry.
|
||||
NSApp.setActivationPolicy(.accessory)
|
||||
|
||||
backgroundActivity = ProcessInfo.processInfo.beginActivity(
|
||||
options: [.userInitiated, .automaticTerminationDisabled, .suddenTerminationDisabled],
|
||||
reason: "CodeBurn menubar polls AI coding cost every 15 seconds while idle in the background."
|
||||
)
|
||||
|
||||
restorePersistedCurrency()
|
||||
setupStatusItem()
|
||||
setupPopover()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue