Barre d'état de l'écran GNU - comment afficher les noms de session shell?

15

Disons que j'ai plusieurs "onglets" de shell (ou écrans? Sessions?) Nommés bash1, bash2, etc. ouverts dans l'écran GNU. Je veux que la barre d'état (c'est-à-dire la ligne de légende) affiche les noms comme "bash1 | bash2 | ..", avec l'onglet actuellement ouvert et le dernier onglet ouvert clairement marqué.

Comment puis-je y arriver avec mon .screenrc?

ARV
la source
Je ne vois rien dans la page de manuel de l'écran (au moins pour 4.00.02) qui énumère la fenêtre précédente. Fenêtre actuelle sûre (% t)
Ricky Beam

Réponses:

21

Modifiez ou créez (s'il n'est pas présent) /etc/screenrcou ( ~/.screenrc) et ajoutez le code ci-dessous

autodetach on 
startup_message off 
hardstatus alwayslastline 
shelltitle 'bash'

hardstatus string '%{gk}[%{wk}%?%-Lw%?%{=b kR}(%{W}%n*%f %t%?(%u)%?%{=b kR})%{= w}%?%+Lw%?%? %{g}][%{d}%l%{g}][ %{= w}%Y/%m/%d %0C:%s%a%{g} ]%{W}'

shelltitle 'bash'peut être modifié une fois l'écran créé. ( Ctrla+ A) le nom de la session peut être changé en SESSSIONNAMEavec :sessionname SESSIONNAME.

GC 13
la source
Ouais, ça le fait. Besoin de le personnaliser un peu - je ne veux pas voir le temps, etc. Je le découvrirai plus tard. Merci!
ARV
@ARV, oui, il peut être personnalisé par l'utilisateur.
GC 13
Ceci, sans temps, etc.:'%{wk}%?%-Lw%?%{=b kR}(%{W}%n*%f %t%?(%u)%?%{=b kR})%{= w}%?%+Lw%?%? %{g}]'
Phlippie Bosman
1

L'onglet auquel vous faites référence est Window(corrigez-moi si je me trompe). Vous devriez essayer http://byobu.co/ qui est un wrapper autour screenet tmux.

Je suis sûr qu'il vient avec une ligne de légende, mettant en évidence la fenêtre actuelle par défaut, mais je ne me souviens pas qu'il soit possible de marquer la dernière fenêtre ouverte.

MAIS sérieusement, vous devriez essayer tmux.

yegle
la source