diff options
Diffstat (limited to 'menubar/model.swift')
| -rw-r--r-- | menubar/model.swift | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/menubar/model.swift b/menubar/model.swift index 760ff31..513f9fb 100644 --- a/menubar/model.swift +++ b/menubar/model.swift @@ -94,6 +94,8 @@ struct Row: Equatable { var location: String { "\(session) · \(window)" } var waiting: Bool { status == .blocked || status == .done } + /// Only an agent you have seen can be marked unread (done again). + var canMarkUnread: Bool { status == .idle } /// The row's title text: the agent's name, or its harness when unnamed. var label: String { @@ -286,6 +288,13 @@ func focus(_ paneId: String) { if !result.ok { log("jump: dingger focus --pane \(paneId) failed: \(result.output)") } } +/// Mark an idle agent unread: `dingger unread` returns once it shows as +/// done. +func markAgentUnread(_ paneId: String) { + let result = runReporting(dinggerBinary, ["unread", "--pane", paneId]) + log("unread: \(paneId) \(result.ok ? "marked" : "failed: \(result.output)")") +} + // MARK: rendering /// herdr-style summary: `×1 ✓3 ◐2` in priority order; `○` when every agent |
