Skip to content

feat: Claude Code session state in tmux tabs - #4

Merged
Chikimuras merged 1 commit into
mainfrom
feat/claude-tmux-state
Oct 15, 2026
Merged

Chikimuras merged 1 commit into
mainfrom
feat/claude-tmux-state

Conversation

@Chikimuras

Copy link
Copy Markdown
Owner

Quoi

Porte depuis le Mac l'affichage de l'état des sessions Claude Code dans tmux.

  • tmux : pastille par fenêtre (🟡 en cours / 🔴 attend ta validation / 🟢 fini, pas encore vu), compteur toutes sessions dans status-right, vert effacé dès qu'on visite la fenêtre, prefix+a picker des fenêtres Claude, prefix+Tab prochaine session en attente (rouge > vert, en rotation), tmux-resurrect + continuum qui relancent claude --continue.
  • dotfiles/claude (nouveau package stow) : hooks tmux-state.sh, is-watched.sh (focus sway via swaymsg), notify.sh (notify-send + action « Aller » → retour au pane + focus kitty). Stow en --no-folding pour que ~/.claude ne devienne jamais un symlink vers le repo.
  • install/60-claude.sh : merge idempotent des hooks dans ~/.claude/settings.json (fichier géré par Claude Code, donc mergé plutôt que stowé).
  • desktop : libnotify-bin pour notify-send.

Vérifié en local

  • shellcheck -S warning sur tous les scripts touchés (hooks de dotfiles/ compris)
  • 60-claude.sh dans un HOME jetable : création, relance identique, contenu existant préservé, JSON invalide laissé intact, dry-run sans écriture
  • hooks Linux avec faux tmux/swaymsg/notify-send : détection du focus, vert non allumé sous tes yeux, notif + clic « Aller »

Pas encore vérifié

  • stow réel (absent sur le Mac) → job CI smoke
  • vraie session sway

⚠️ Conflit trivial attendu avec feat/yazi sur PACKAGES (50-stow.sh) et la ligne stow de ci.yml.

🤖 Generated with Claude Code

- tmux: per-window state dot (run/wait/done), cross-session counter,
  green cleared once seen, prefix+a picker, prefix+Tab next waiting session,
  tmux-resurrect/continuum restoring claude panes with --continue
- dotfiles/claude: hooks (tmux-state, is-watched via sway focus, notify-send
  with "Aller" action), stowed with --no-folding to keep ~/.claude out of the repo
- install/60-claude.sh: idempotent jq merge of the hooks into
  ~/.claude/settings.json (Claude-owned, so merged rather than stowed)
- desktop: libnotify-bin for notify-send

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Chikimuras
Chikimuras merged commit fafdeb2 into main Oct 15, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant