[object Object]

← back to Ticket System

desktop-bar: add 🟡 'Gather my yellows' one-click focus to dots dropdown (path-A navigator)

8a374eeb8ec7ebc5cdc25af644714a338bb7b44a · 2026-09-04 12:44:17 -0700 · Steve Abrams

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01STupyqBoLfTPHaTr1Gi42b

Files touched

Diff

commit 8a374eeb8ec7ebc5cdc25af644714a338bb7b44a
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Fri Sep 4 12:44:17 2026 -0700

    desktop-bar: add 🟡 'Gather my yellows' one-click focus to dots dropdown (path-A navigator)
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01STupyqBoLfTPHaTr1Gi42b
---
 desktop-bar/TicketBar.swift | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/desktop-bar/TicketBar.swift b/desktop-bar/TicketBar.swift
index e5047f9e..b0fc2d3c 100644
--- a/desktop-bar/TicketBar.swift
+++ b/desktop-bar/TicketBar.swift
@@ -615,6 +615,14 @@ private final class BarController: NSObject, NSApplicationDelegate, NSWindowDele
       focusAll.target = self
       menu.addItem(focusAll)
     }
+    // Path-A "gather all my yellows in one place" — yellow-only quick jump
+    // (needs-direction tabs), distinct from the 3-color "want me" action above.
+    let yellowCount = entries.filter { $0.color == "yellow" }.count
+    if yellowCount > 0 {
+      let focusYellow = NSMenuItem(title: "🟡 Gather my yellows (\(yellowCount))", action: #selector(focusAllYellow), keyEquivalent: "")
+      focusYellow.target = self
+      menu.addItem(focusYellow)
+    }
     menu.addItem(.separator())
     for color in BarController.dotOrder {
       let group = entries.filter { $0.color == color }
@@ -652,6 +660,13 @@ private final class BarController: NSObject, NSApplicationDelegate, NSWindowDele
     }
   }
 
+  // Path-A navigator: bring every 🟡 needs-direction terminal forward in one click.
+  @objc private func focusAllYellow() {
+    for entry in scanDots() where entry.color == "yellow" {
+      focusTerminal(tty: entry.tty)
+    }
+  }
+
   // Bring the iTerm2 window/tab/session whose tty matches to the front. The
   // scanner reports "ttys011"; iTerm reports "/dev/ttys011". No-ops silently if
   // iTerm2 isn't the terminal (that's fine).

← e95015f8 Record TK-11259 bounded monitoring cycle  ·  back to Ticket System  ·  auto-data-snapshot: 2026-09-04T13:35:12 (1 data files) — dat ce8f793d →