feat(04-02): i3bar widget with per-session colors, workspace prefix, wait type and duration

- One i3bar block per session (individual colors: red/green/gray)
- Workspace prefix: 10-vmux[W], 3-auth[? 3m]
- Wait type markers:  permission, ? question, ! generic
- Wait duration: [ 30s], [? 3m], [? 1h15m]
- Standalone mode only (separate bar, no i3status wrapping)
- Removed isTerminal and i3status wrapping code
This commit is contained in:
Pierre Martin
2026-03-23 23:04:37 +01:00
parent 221a4447e2
commit fd246f046b
3 changed files with 176 additions and 203 deletions

View File

@@ -5,7 +5,6 @@ import (
"fmt"
"log"
"os"
"os/exec"
"path/filepath"
"strconv"
"strings"
@@ -147,11 +146,7 @@ func main() {
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
os.Exit(1)
}
i3statusCmd := ""
if _, err := exec.LookPath("i3status"); err == nil {
i3statusCmd = "i3status"
}
runI3Bar(sockPath, i3statusCmd)
runI3Bar(sockPath)
case "daemon":
runDaemon(sockPath)
@@ -203,6 +198,7 @@ func (p *realI3TreeProvider) GetTree() (i3.Tree, error) {
return i3.GetTree()
}
func printUsage() {
fmt.Fprintf(os.Stderr, `Usage: vmux <command> [args...]