#!/bin/bash # CC SWARM MONITOR v2 — radni tiled prikaz case "${1:-help}" in view|loop) while true; do clear echo "╔════════════════════════════════════════════════════════════════════╗" echo "║ PGŽ SPORT — CC SWARM ($(date '+%Y-%m-%d %H:%M:%S')) ║" echo "╚════════════════════════════════════════════════════════════════════╝" for s in cc1 cc2 cc3 cc4 cc5 cc6; do echo echo "─── [$s] ───────────────────────────────────────────────────────" tmux capture-pane -t ${s}:0 -p 2>/dev/null | grep -v "^─*$" | grep -v "^$" | tail -5 | sed 's/^/ /' done echo echo "════════════════════════════════════════════════════════════════════" echo "Git: $(cd /opt/pgz-sport && git log --oneline -1 2>/dev/null)" echo "Refresh 30s | Ctrl+C izlaz" echo "════════════════════════════════════════════════════════════════════" sleep 30 done ;; tiled|tile) # Stvori SAMO display sesiju koja gleda svih 6 odjednom tmux kill-session -t swarm-view 2>/dev/null # Nova sesija tmux new-session -d -s swarm-view -x 240 -y 60 # Koristi watch da gleda capture-pane svakih 2s — to RADI bez nestanja tmux send-keys -t swarm-view:0 'watch -n 2 -t "echo === CC1 ===; tmux capture-pane -t cc1:0 -p | tail -8"' Enter # Split na 6 panela tmux split-window -h -t swarm-view:0 tmux send-keys -t swarm-view:0.1 'watch -n 2 -t "echo === CC2 ===; tmux capture-pane -t cc2:0 -p | tail -8"' Enter tmux split-window -v -t swarm-view:0.0 tmux send-keys -t swarm-view:0.2 'watch -n 2 -t "echo === CC3 ===; tmux capture-pane -t cc3:0 -p | tail -8"' Enter tmux split-window -v -t swarm-view:0.1 tmux send-keys -t swarm-view:0.3 'watch -n 2 -t "echo === CC4 ===; tmux capture-pane -t cc4:0 -p | tail -8"' Enter tmux split-window -v -t swarm-view:0.0 tmux send-keys -t swarm-view:0.4 'watch -n 2 -t "echo === CC5 ===; tmux capture-pane -t cc5:0 -p | tail -8"' Enter tmux split-window -v -t swarm-view:0.1 tmux send-keys -t swarm-view:0.5 'watch -n 2 -t "echo === CC6 ===; tmux capture-pane -t cc6:0 -p | tail -8"' Enter tmux select-layout -t swarm-view tiled echo "═════════════════════════════════════════════════" echo " Sesija swarm-view kreirana s 6 panela" echo "═════════════════════════════════════════════════" echo " Pogledaj: tmux attach -t swarm-view" echo " Detach: Ctrl+B pa D" echo "═════════════════════════════════════════════════" # Auto-attach tmux attach -t swarm-view ;; status|s) for s in cc1 cc2 cc3 cc4 cc5 cc6; do echo "=== $s ===" tmux capture-pane -t ${s}:0 -p 2>/dev/null | tail -8 echo done ;; git|log) cd /opt/pgz-sport echo "═══ COMMITS ═══" git log --oneline -20 ;; cc1|1) tmux attach -t cc1 ;; cc2|2) tmux attach -t cc2 ;; cc3|3) tmux attach -t cc3 ;; cc4|4) tmux attach -t cc4 ;; cc5|5) tmux attach -t cc5 ;; cc6|6) tmux attach -t cc6 ;; *) cat << 'HELP' ═══════════════════════════════════════════════════════════════════════ CC SWARM — PGŽ SPORT ═══════════════════════════════════════════════════════════════════════ bash swarm.sh tiled 6 panela live prikaz (ATTACHA ODMAH) bash swarm.sh view Auto-refresh 30s (cijela slika u 1 ekranu) bash swarm.sh status Brzi snapshot bash swarm.sh git Git log bash swarm.sh cc1..6 Attach na specifični agent Detach iz attached: Ctrl+B pa D Switch tmux panel: Ctrl+B pa strijelica ═══════════════════════════════════════════════════════════════════════ HELP ;; esac