OVH Cloud OVH Cloud

Titre de mon xterm (XFCE4)

9 réponses
Avatar
Rakotomandimby Mihamina
Bonjour,

J'utilise XFCE4, et j'utilise xfterm4 (qui en fait est un xterm) comme
console.

Avec ces consoles, j'administre localement une machine, et à distance,
plusieurs.

Il m'est utile d'avoir le hostname (+l'user en cours +le working dir).
Mettre tout cela dans le prompt me prend trop trop de place.

J'ai posé la question sur la ML XFCE, mais j'ai pas tout compris ...
(la discussion est en fin de post)

Est ce que le fait de mettre un 'printf (...)' suffit à regler le titre ?
C'est ce que j'ai compris dans ce qu'il m'a dit.

Parceque si je fais

print "\033]2;%n\007\033]1;\007"

Le titre est %n (et pas l'user en cours, par exemple ...)
Moi j'utilise zsh. XFCE4 4.0.6, sur une Debian testing.

Rakotomandimby Mihamina wrote:

> Hello,
> I would like to know what's the possibilities to display the title of an
> xfterm4 on 4.0.6 release
>
> The perfect would be to have the pissibilty to display the "$hostname :
> $PWD" on some xfterms (those which remote ssh remote servers) and on
> some xfterms i would set a simple title ("foo" , "bar", "whatever" ...)
>
> Would you help me to find out ?

terminal emulator titles are set by printing an escape sequence.

put sth. like

printf "\033]2;%s%s\007\033]1;\007" $HOST :`pwd`

in the dot-file your shell starts up automaticly.

From my .cshrc (but I guess you don't use tcsh)

if ($?DISPLAY || $TERM == xterm-color || $TERM == xterm) then
alias header 'printf "\033]2;%s%s\007\033]1;\007" $HOST
:`dirs`'
alias cd 'chdir \!* && header'
header
endif


--
ASPO Infogérance - http://aspo.rktmb.org/activites/infogerance
Unofficial FAQ fcolc - http://faq.fcolc.eu.org/
Linux User Group sur Orléans et alentours.
Tél: + 33 2 38 76 43 65 (France)

9 réponses

Avatar
Stephane Chazelas
2004-11-02, 11:56(+01), Rakotomandimby Mihamina:
[...]
print "33]2;%n0733]1;07"

Le titre est %n (et pas l'user en cours, par exemple ...)
Moi j'utilise zsh. XFCE4 4.0.6, sur une Debian testing.
[...]


print -P

pour /expander/ les prompt-sequences

Tu mets ca dans quoi, dans precmd() ?

--
Stephane

Avatar
Rakotomandimby Mihamina
On Tue, 02 Nov 2004 12:20:47 +0000, Stephane Chazelas wrote:

Tu mets ca dans quoi, dans precmd() ?


Dans .zshrc

je mets la ligne "print machin ..." dans .zshrc ...
--
ASPO Infogérance - http://aspo.rktmb.org/activites/infogerance
Unofficial FAQ fcolc - http://faq.fcolc.eu.org/
Linux User Group sur Orléans et alentours.
Tél: + 33 2 38 76 43 65 (France)

Avatar
Thomas Nemeth
Le mar 02 nov 2004 à 17:01, Rakotomandimby Mihamina a tapoté :
| On Tue, 02 Nov 2004 12:20:47 +0000, Stephane Chazelas wrote:
|
| > Tu mets ca dans quoi, dans precmd() ?
|
| Dans .zshrc
| je mets la ligne "print machin ..." dans .zshrc ...

Mauvaise réponse.

Stéphane voulait demander "à quel endroit de ton .zshrc".
Normalement ce genre de fonctionnalité se définit dans une fonction
appelée régulièrement lorsque tu manipules ton shell. Ici :

if [ "$TERM" = "xterm" -o "$TERM" = "Eterm" ]; then
precmd () {print -Pn "e]0;%n@%m (%l) : %~a"}
PS1="%S%m%s[%1~] "
RPS1=""
else
PS1="%m[%U%.%u] "
RPS1="%n H:%h %? %B%T %D{%a %d %b}%b"
fi
export PS1 RPS1

Comme tu le vois, ma barre de titre xterm est modifiée avant chaque
commande par la fonction precmd() avec un print -Pn "...".


Thomas
--
VB: Ta gueule. :) SC: Les arguments d'un Gnusien, c'est comme les paroles
d'un enfant à propos du monde qui l'entoure : c'est tellement naïf et
simpliste que ça en devient attendrissant.
-+- SC in GFA : C'est dommage que ca grandisse.. -+-
Avatar
Rakotomandimby Mihamina
On Tue, 02 Nov 2004 18:08:20 +0000, Thomas Nemeth wrote:
Mauvaise réponse.


:-)

Stéphane voulait demander "à quel endroit de ton .zshrc".


Et avec ma réponse je voulais dire que je le mettais "n'importe ou"

Normalement ce genre de fonctionnalité se définit dans une
fonction appelée régulièrement lorsque tu manipules ton shell.

Comme tu le vois, ma barre de titre xterm est modifiée avant chaque
commande par la fonction precmd() avec un print -Pn "...".


Merci.
--
ASPO Infogérance - http://aspo.rktmb.org/activites/infogerance
Unofficial FAQ fcolc - http://faq.fcolc.eu.org/
Linux User Group sur Orléans et alentours.
Tél: + 33 2 38 76 43 65 (France)

Avatar
Emmanuel Florac
Le Tue, 02 Nov 2004 18:08:20 +0000, Thomas Nemeth a écrit :


Comme tu le vois, ma barre de titre xterm est modifiée avant chaque
commande par la fonction precmd() avec un print -Pn "...".


Et puisqu'on y est, comment peut-on obtenir la même chose avec bash? Hein
dis?

--
De longs désirs, une longue admiration sans espérance, voilà le moyen
d'adorer les femmes, et de rendre l'amour une passion délicieuse!
N. Rétif de la Bretonne.

Avatar
Stephane Chazelas
2004-11-03, 03:03(+01), Emmanuel Florac:
Le Tue, 02 Nov 2004 18:08:20 +0000, Thomas Nemeth a écrit :


Comme tu le vois, ma barre de titre xterm est modifiée avant chaque
commande par la fonction precmd() avec un print -Pn "...".


Et puisqu'on y est, comment peut-on obtenir la même chose avec bash? Hein
dis?


Je crois que bash a une variable "PROMPT_COMMAND".

PROMPT_COMMAND=precmd
precmd() {
...
}

--
Stephane


Avatar
DominiX
ici même:,
Emmanuel Florac a écrit


Comme tu le vois, ma barre de titre xterm est modifiée avant
chaque commande par la fonction precmd() avec un print -Pn "...".


Et puisqu'on y est, comment peut-on obtenir la même chose avec bash?
Hein dis?


dans .bashrc
PROMPT_COMMAND='echo -ne
"33]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}07"'


-- dominix


Avatar
Emmanuel Florac
Le Tue, 02 Nov 2004 23:49:29 -1000, DominiX a écrit :


dans .bashrc
PROMPT_COMMAND='echo -ne
"33]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}07"'


Magnifique... Pour tcsh je pense avoir trouvé :)

--
Ce qu'il y a d'enivrant dans le mauvais goût c'est le plaisir
aristocratique de déplaire.
C. Baudelaire.

Avatar
Jean-Yves LENHOF
Le Tue, 02 Nov 2004 11:56:47 +0100, Rakotomandimby Mihamina a écrit :

Bonjour,

J'utilise XFCE4, et j'utilise xfterm4 (qui en fait est un xterm) comme
console.

Avec ces consoles, j'administre localement une machine, et à distance,
plusieurs.

Il m'est utile d'avoir le hostname (+l'user en cours +le working dir).
Mettre tout cela dans le prompt me prend trop trop de place.



Si c'est trop long tu peux mettre un retour à la ligne ds ton
prompt... (on a tous le meme problème ;-)

Un exemple :

PS1=`hostname`#`pwd`#`echo 'nr'`#


Cdlt,