Files

2.1 KiB

phase, plan, subsystem, tags, requires, provides, affects, tech-stack, key-files, key-decisions, patterns-established, requirements-completed, duration, completed
phase plan subsystem tags requires provides affects tech-stack key-files key-decisions patterns-established requirements-completed duration completed
04-notifications-et-i3bar 02 cli
i3bar
i3status
json-protocol
phase provides
04-01 shortName function, Notifier, FocusTimer
i3bar JSON widget with session status
i3status wrapping for combined output
CLI vmux i3bar subcommand
added patterns
i3bar JSON protocol
i3status wrapper
TTY detection for mode selection
created modified
i3bar.go
i3bar_test.go
main.go
TTY detection: standalone mode in terminal, wrapped mode when called by i3bar
Format: vmux: auth[!] portal[W] neia[I] with shortName from notify.go
i3bar JSON protocol: header + infinite array of block arrays
I3-03
5min 2026-03-23

Plan 04-02 Summary

Widget i3bar avec liste courte des sessions, wrapping i3status, détection TTY pour mode standalone/wrapped

Performance

  • Duration: 5 min
  • Tasks: 3 (2 code + 1 human-verify)
  • Files modified: 3

Accomplishments

  • formatI3BarBlocks : format compact vmux: auth[!] portal[W]
  • runI3Bar : standalone (TTY) ou wrapped (pipe/i3bar)
  • 10 tests unitaires pour le formatage
  • TTY detection pour éviter le fallback i3status texte brut

Task Commits

  1. Task 1: Formatage i3bar + tests - a28e8d6
  2. Task 2: Boucle i3bar + CLI - 221a444
  3. Task 3: Human verification - approved
  4. Fix TTY detection - uncommitted (sera commité avec la validation globale)

Files Created/Modified

  • i3bar.go — I3BarBlock, formatI3BarBlocks, queryVmuxBlock, runI3Bar (standalone + wrapped)
  • i3bar_test.go — 10 tests unitaires
  • main.go — case "i3bar" + isTerminal()

Decisions Made

  • Mode standalone quand stdout est un TTY, wrapped quand c'est un pipe
  • Pas de dépendance externe pour la détection TTY (os.ModeCharDevice)

Deviations from Plan

  • Ajout de isTerminal() pour fixer le bug i3status plain text

Next Phase Readiness

  • Dernière phase. Projet v1 complet.

Phase: 04-notifications-et-i3bar Completed: 2026-03-23