[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [hs mais pas de rep ailleurs] pb avec screen



* Philippe Monroux <spam.monroux-listes@wanadoo.fr> [2004-10-27 08:14] :
> Bonjour, 
> 
> J'utilise screen avec, mettons :
> screen -t em 0 emacs
> et un shell en 1
> 
> Emacs est en serveur de gnuclient.
> 
> Quand je fais sous le fenêtre 1 : 
> screen -X "gnuclient FICHIER" select 0
> 
> il me répond tjrs
> 
> -X unknow command "gnuclient FICHIER"
> 
> Comment avoir l'édition de FICHIER  dans la fenêtre 0 avec celle-ci en
> avant automatiquement (raise) ?

Il ne faut pas procéder ainsi AMA, mais plutôt modifier ta commande
d'édition standard pour appeler consécutivement le changement d'écran et
l'envoi dans Emacs :

- tu définis un petit script ~/bin/emacs contenant :

#!/bin/sh

echo $WINDOW > ~/tmp/emacsclient-caller
screen -r -X select 1
emacsclient "$@"

  cela va t'envoyer dans le screen d'Emacs lors de l'édition d'un
  fichier et sauvegarder le screen d'origine (j'utilise emacsclient
  plutôt que gnuclient, mais cele ne devrait rien changer)

- puis dans ton .emacs, tu ajoutes ceci :

(add-hook 'server-done-hook
          (lambda ()
            (shell-command
             "screen -r -X select `cat ~/tmp/emacsclient-caller`")))

  qui devrait te replacer dans le screen d'avant l'édition de ton
  fichier quand tu as terminé celle-ci (je ne sais pas si cela
  fonctionne avec gnuclient, le hook est peut-être différent, mais
  l'idée est là).

Tu peux ensuite par exemple définir EDITOR sur ~/bin/emacs, ainsi les
programmes utilisant cette variable enverront leur fichier directement
dans Emacs (comme mutt par exemple). AMHA Cela donne une combinaison
d'outils très efficace.

Ah, un dernier conseil, j'ai eu pas mal de problèmes avec les caractères
accentués, Emacs, screen et les terminfo et je les ai (à peu près)
régler en passant un "-T linux" au lancement du vrai binaire emacs
(depuis le .screenrc donc).

Le Wiki Emacs a plus d'informations sur ce problème (c'est là que
j'avais trouvé cette solution) :

http://www.emacswiki.org/cgi-bin/wiki/EmacsClient (pour EmacsClient)
http://www.emacswiki.org/cgi-bin/wiki/ScreenServer (pour GnuClient)


Fred

-- 
Comment poser les questions de manière intelligente ?
http://www.gnurou.org/documents/smart-questions-fr.html
Comment signaler efficacement un bug ?
http://www.chiark.greenend.org.uk/~sgtatham/bugs-fr.html



Reply to: