10 points par xguru 28 일 전 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Introduction d’un moteur de rendu expérimental qui élimine les scintillements et les sauts d’écran du renderer existant
  • Même lorsque la conversation s’allonge, l’utilisation mémoire et CPU reste constante, et dans l’environnement terminal il devient possible de cliquer à la souris, déplacer le curseur et cliquer sur des éléments d’interface
  • Activation via la variable d’environnement CLAUDE_CODE_NO_FLICKER=1
  • En raison des limites structurelles du code ANSI des terminaux classiques, il fallait auparavant utiliser un code d’effacement complet de l’écran pour redessiner des lignes hors viewport, mais le nouveau renderer résout ce problème en virtualisant l’ensemble du viewport
  • Il reste des compromis comme l’absence de recherche native cmd-f, le copier-coller non pris en charge et des réglages physiques du défilement encore inachevés, ce qui le maintient au stade expérimental
  • Le contenu de la conversation se trouve dans le tampon d’écran alternatif plutôt que dans le scrollback, ce qui permet d’entrer en mode Transcript avec Ctrl+O puis d’utiliser une recherche de type less (/, n/N)
  • Le champ de saisie reste ancré en bas de l’écran même pendant le streaming de la sortie
  • Prise en charge des événements souris intégrés à l’application : ajustement de la position du curseur, expansion des résultats d’outils, ouverture d’URL/chemins de fichiers, sélection de texte par glisser-déposer, etc.

Pour les détails, voir Fullscreen rendering dans la documentation Claude Code (ci-dessous)

Rendu plein écran

  • Configurez la variable d’environnement CLAUDE_CODE_NO_FLICKER=1 au lancement, ou ajoutez export CLAUDE_CODE_NO_FLICKER=1 à ~/.zshrc / ~/.bashrc pour l’appliquer automatiquement à toutes les sessions
  • Claude Code v2.1.88 ou ultérieur requis ; il s’agit actuellement d’une research preview et le comportement peut évoluer en fonction des retours
  • L’appellation « plein écran » n’a aucun lien avec la maximisation de la fenêtre du terminal et fonctionne quelle que soit la taille de la fenêtre

Ce qui change par rapport à l’approche précédente

  • Le champ de saisie reste ancré en bas de l’écran même pendant le streaming de la sortie (si le champ reste fixe, le rendu plein écran est activé)
  • Comme le contenu de la conversation se trouve dans le tampon d’écran alternatif, cela change certains usages :
Avant Après
Parcourir le texte avec Cmd+F ou la recherche tmux Après Ctrl+O, rechercher avec /, ou écrire dans le scrollback natif avec [ puis utiliser Cmd+F
Sélectionner/copier avec le glisser natif du terminal Sélection intégrée à l’application, copie automatique au relâchement du bouton de la souris
Ouvrir une URL avec Cmd-clic Ouvrir en cliquant sur l’URL

Prise en charge de la souris

  • Clic dans l’invite de saisie : positionner le curseur n’importe où dans le texte
  • Clic sur un résultat d’outil replié : déplier ou replier (l’appel d’outil et le résultat se développent ensemble)
  • Clic sur une URL ou un chemin de fichier : les fichiers s’ouvrent avec l’application par défaut, les URL http:///https:// dans le navigateur
    • Dans les terminaux basés sur xterm.js, comme le terminal intégré de VS Code, la gestion est déléguée au gestionnaire de liens du terminal pour éviter une double ouverture
  • Cliquer-glisser : sélectionner du texte (double-clic : sélection d’un mot, triple-clic : sélection d’une ligne)
  • Molette de la souris : faire défiler la conversation
  • Quand le bouton de la souris est relâché, le texte sélectionné est automatiquement copié dans le presse-papiers ; désactivation possible via /config

Raccourcis de défilement

Raccourci Action
PgUp / PgDn Défilement d’un demi-écran vers le haut / le bas
Ctrl+Home Aller tout en haut de la conversation
Ctrl+End Aller au message le plus récent et réactiver le suivi automatique
Molette de la souris Défilement de quelques lignes
  • Sur les claviers sans touches dédiées, comme certains MacBook, Fn+↑/↓/←/→ remplace PgUp/PgDn/Home/End
  • En faisant défiler vers le haut, le suivi automatique (auto-follow) est mis en pause ; il reprend avec Ctrl+End ou en revenant tout en bas
  • Les raccourcis peuvent être personnalisés via les raccourcis clavier à l’aide de noms d’action comme scroll:pageUp, scroll:pageDown, etc. (voir la documentation Keybindings)
  • La variable d’environnement CLAUDE_CODE_SCROLL_SPEED permet d’ajuster le multiplicateur de vitesse de défilement à la molette (de 1 à 20, 3 recommandé par défaut dans l’esprit de vim)

Recherche et relecture de conversation (mode Transcript)

  • Avec Ctrl+O, l’entrée en mode Transcript permet une navigation et une recherche de style less
Touche Action
/ Ouvrir la recherche (Entrée : valider, Esc : annuler)
n / N Aller au résultat suivant / précédent
j/k ou / Défiler d’une ligne
g/G ou Home/End Aller en haut / en bas
Ctrl+U / Ctrl+D Défiler d’une demi-page
[ Écrire l’intégralité de la conversation dans le scrollback natif du terminal (Cmd+F possible)
v Enregistrer dans un fichier temporaire puis ouvrir avec $VISUAL/$EDITOR
Esc, q, Ctrl+O Quitter le mode Transcript

Points d’attention avec tmux

  • Pour utiliser le défilement à la molette dans tmux, il faut ajouter set -g mouse on dans ~/.tmux.conf
    • Sans mode souris, les événements de molette sont transmis à tmux ; le défilement clavier PgUp/PgDn fonctionne normalement
    • Si Claude Code démarre alors que le mode souris de tmux est désactivé, un message d’information ponctuel est affiché
  • Incompatible avec tmux -CC (mode d’intégration iTerm2)
    • Dans ce mode, le tampon d’écran alternatif et le suivi de la souris ne fonctionnent pas correctement, et un double-clic peut corrompre l’état du terminal
    • L’utilisation normale de tmux dans iTerm2 sans -CC fonctionne correctement

Comment conserver la sélection native du texte

  • Si la capture de la souris est gênante, vous pouvez définir en plus CLAUDE_CODE_DISABLE_MOUSE=1 pour activer uniquement l’anti-scintillement et la stabilité mémoire, sans capture de la souris
    CLAUDE_CODE_NO_FLICKER=1 CLAUDE_CODE_DISABLE_MOUSE=1 claude  
    
  • Quand la capture de la souris est désactivée, le défilement au clavier (PgUp, PgDn, Ctrl+Home, Ctrl+End) reste disponible, mais le positionnement du curseur par clic, l’expansion des résultats d’outils, le clic sur les URL et le défilement à la molette sont désactivés
  • En SSH ou à l’intérieur de tmux, la capture de la souris modifie le chemin d’accès au presse-papiers, et Claude Code indique via une notification le chemin utilisé après la copie

Research preview et retours

  • Le système a été testé sur les principaux émulateurs de terminal, mais des problèmes de rendu peuvent survenir sur des terminaux atypiques ou avec des configurations inhabituelles
  • En cas de problème, exécutez la commande /feedback dans Claude Code ou ouvrez une issue sur le dépôt GitHub de claude-code (en incluant le nom et la version de l’émulateur de terminal)
  • Pour le désactiver, retirez la variable d’environnement ou définissez CLAUDE_CODE_NO_FLICKER=0

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.