diff options
Diffstat (limited to 'menubar/main.swift')
| -rw-r--r-- | menubar/main.swift | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/menubar/main.swift b/menubar/main.swift index 1b6ce4f..135c099 100644 --- a/menubar/main.swift +++ b/menubar/main.swift @@ -88,10 +88,12 @@ final class Menubar: NSObject, NSApplicationDelegate, NSMenuDelegate { item.menu = menu panel = PanelController( onClick: { [weak self] paneId in self?.jump(to: paneId) }, + onMarkUnread: { [weak self] paneId in self?.markUnread(paneId) }, onToggleFull: { [weak self] in self?.toggleFull() }, onRestore: { [weak self] in self?.restore(sessions: []) }, onDismissRestore: { [weak self] in self?.dismissRestore() }) - searchWindow = SearchController(onJump: { [weak self] paneId in self?.jump(to: paneId) }) + searchWindow = SearchController(onJump: { [weak self] paneId in self?.jump(to: paneId) }, + onMarkUnread: { [weak self] paneId in self?.markUnread(paneId) }) Settings.ensureFile() reloadSettings() refresh() @@ -258,6 +260,14 @@ final class Menubar: NSObject, NSApplicationDelegate, NSMenuDelegate { } } + private func markUnread(_ paneId: String) { + log("unread: \(paneId)") + DispatchQueue.global().async { + markAgentUnread(paneId) + DispatchQueue.main.async { self.refresh() } + } + } + // MARK: menu (rebuilt from fresh data every time it opens) func menuNeedsUpdate(_ menu: NSMenu) { |
