aboutsummaryrefslogtreecommitdiff
path: root/menubar/main.swift
diff options
context:
space:
mode:
Diffstat (limited to 'menubar/main.swift')
-rw-r--r--menubar/main.swift12
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) {