STEAD : Sympathetic Tk-based Editor for Average Dummies

ATTENTION (30/11/2012) :
STEAD N'EST PLUS MAINTENU DEPUIS PLUSIEURS ANNÉES !

Sommaire

Avertissement

Après de nombreuses années de services, stead-0.62-alpha (11/08/00) était la dernière version qui assurait la compatibilité de vos scripts de configuration (depuis 1993 !). Cette version qui nécessitait wish3.6 est en cours de réécriture complète. Cette réécriture passe par plusieurs phases :
  1. (fait) Réécriture du coeur de stead pour fournir des procédures de niveau intermédiaire (de l'ordre d'un widget texte amélioré).
    A titre d'exemple, il s'agit d'intégrer le mode de sélection rectangulaire au meme titre que les autres modes de sélection (car, word ou line), ou encore de développer une librairie de style pour faciliter l'écriture de code de colorisation ;
  2. (fait) Refaire les binding du widget Entry (comme pour XText)
  3. (partiel) Réécrire les différents modes pour en assurer l'homogénéité tout en les simplifiant ;
  4. (à faire) Rédéfinir le comportement souhaité pour le chargement des différents fichiers de configuration (modes, utilisateur) dxtk_labeledEntry'une manière multiplateforme ;
  5. (à faire) Réintroduire une gestion graphique des préférences ;
  6. (à faire) Reconstruire une aide (différente suivant le niveau d'utilisation/configuration/programmation de stead souhaité) ;
  7. Rééciture de **toutes** les anciennes fonctionnalités de stead-<old>.
  8. (Fait) création d'un nouveau mode Ruby.
  9. (à faire ;-) réecriture de stead entièrement en ruby/Tk au lieu de tcl/Tk !.
Parallèlement (ou orthogonalement :-) à ces phases, plusieurs voies sont à assurer :
  1. (ne sera jamais fait) port complet de stead sous MacOSX et sous Windoze (il s'agît ici de porter stead sous l'interface graphique native de MacO, sachant que je l'utilise tous les jours sous OSX avec l'interface X11).
  2. proposition d'un mode Scilab acceptable (fait ?),
  3. rajout progressive de nouvelles fonctionnalités (fait :-) .

Télécharger

Attention : plus de documentation à jour, ni de préférences graphiques !

La dernière version de stead est disponible en :
       http://www.ensta.fr/~diam/stead/distrib/stead-last.tgz
Quelques anciennes versions sont accessibles depuis :
       http://www.ensta.fr/~diam/stead/distrib/
(n'utiliser pas ce qu'il y dans le sous-répertoire "old_stead36/" sauf si vous savez ce que vous faites !)

Installation

Le shell TCL utilisé par stead est désormais tclkit au lieu de wish. Tclkit est (encore !) plus simple à installer que wish (exécutable mono-fichier précompilé pour de nombreuses plateformes disponible sur le site de tclkit-8.4.6.
Le fichier téléchargé doit être décompressé, nommé "tclkit" et accessible dans votre variable PATH.

On peut cependant toujours imposer son propre shell sans modifier stead grâce à la variable d'environnement STEAD_WISH (qu'on peut par exemple positionner à "my-wish8.5-perso".

Liste de Mailing

Une liste de mailing pour stead existe (de faible trafic), mais l'inscription et l'accès à l'archive ne semblent pas disponible depuis l'extérieur de l'ENSTA.

Par conséquent, pour vous inscrire, envoyez-moi simplement un petit mail à avec "STEAD : demande d'inscription" comme sujet.

Historique

Un historique plus détaillé des versions récentes (avec les dates...) est donné par le fichier texte CHANGES

Ancien "Lisez-moi" :

Tout ce qui suit est PERIME !


télechargement (download)    changement    license GPL


Qu'est-ce que STEAD : Sympathetic Tk-based Editor for Average Dummies

est un éditeur de texte qui se veut :


Préambule

Dans le "Lisez-moi" qui suit, je corrige un peu l'entousiasme en rappelant : Sa refonte est en cours, mais cela prend du temps (perdu :-).


Principales caractéristiques : "facile, puissant, configurable"

Exemples d'utilisation de STEAD :


- coller par impulsion sur le bouton 2 de la souris (convention X), mais
  aussi scroller par glissé du bouton 2 de la souris (convention tk) !

- convertir des fins de ligne Macintosh en fin de ligne unix :
  menu "Format/unix pipe..." tapez :
        tr \015 \012,
  ou via une commande de l'éditeur :
  menu "File/Issue TCL Command...<Meta-T>" et taper(Replace All) :
        ra  \015 \012
  (mais c'est aussi dans le menu "Format/End of lines...")

- rechercher des débuts de ligne : comme vi : ^ = début de ligne,
  $ = fin de ligne,

- remplacer 1 ou plusieurs lignes vides par une seule en remplacant
  "\n+" par "\n", (ou en tapant la commande TCL  ra "\n+" "\n" )

- supprimer les pages 2 à 60 d'un fichier postscript que vous aviez
  "presque" fini d'imprimer (voir doc. en ligne),

- insère 64 fois la ligne "popo" : Commande tcl
        ins popo\n 64
  de même que la commande :
        for {set i 80} {$i <= 2} {incr i -2} {ins popo$i\n}
  génère les lignes popo80, popo78, ...popo2

- Couper des colonnes, manipuler aisément des pseudos graphiques
  (signatures...)

- voir d'un coup d'oeil l'ensemble des sections, sous-sections,... d'un
  fichier Latex et s'y déplacer par un simple click souris !

- prévisualiser la sélection d'une formule LaTeX ou une figure sans
  avoir à compiler tous les fichiers ...

Limitations


Sa principale limitation est la relative lenteur de certaines
fonctionnalités pour les gros fichiers ( > 300k) : l'éditeur est
entièrement interprété et pas forcément bien optimisé
(ou plutot pas du tout...).

STEAD n'est PAS (pour l'instant) multi buffer : si vous éditer deux fois le même fichier et que vous sélectionner une partie du texte dans une fenêtre, la même partie ne se trouve PAS sélectionnée dans l'autre fenêtre. C'est à vous de gérer le risque d'incohérence.

Copyright et Cie (1993-2000 ENSTA)

La distribution de STEAD est sous licence GPL :


STEAD   (Sympathetic Tk-based Editor for Average Dummies)

Développé en 1993 à :
                         ENSTA/LEI/AMD
         Ecole Nationale Supérieure de Techniques Avancées
             Laboratoire  d'Électronique Informatique
             groupe  Architectures de Machines Dédiées

par :   Christian ARTIGUES
        Maurice DIAMANTINI
        

à partir de :

	- jedit editor of Jay Sekora,
	  ftp://shore.net/members/js/js.html

Et aussi des idées venant de :

	- Alpha de Pete Keleher : l'éditeur LaTeX, entre autre
		(shareware pour Macintosh)
	- David C. Black pour les ElectricAlias, (...tandem.com)
	- Beth de David Svoboda   (...ece.cmu.edu)
	- TkMan de Tom Phelps,  (...cs.Berkeley.edu)
	- TkMail de Paul Raines, (...bohr.physics.upenn.edu)
	- mxedit de Brent Welch, (...parc.xerox.com)

Ainsi que la communauté du NewsGroup : comp.lang.tcl

Télechargement et installation

Tout ce qui est nécessaire à l'installation de STEAD est composé des deux fichiers suivants :
  1. La dernière version "http://www.ensta.fr/~diam/stead/distrib/stead-last.tgz" de l'éditeur stead (de la forme "stead-v0.XX-alpha.tgz" mis à jour régulièrement, et indépendant de la plateforme) que vous pouvez décompacter, renommer, déplacer comme vous le souhaiter,

  2. L'interpréteur "wish3.6.tgz" précompilé pour plusieurs plateformes, ainsi que ses sources.
    Vous pouvez également le déplacer comme vous le souhaiter. "http://www.ensta.fr/~diam/stead/distrib/wish3.6.tgz"
Le fichier wish3.6.tgz contient les sources ainsi que les exécutables de wish3.6 prets à l'emploi pour les plateformes suivantes :
    i386-linux        (en fait tout X86 Intel et compagnie)
    i386-netbsd
    sparc-linux
    sparc-sunos4.1.4
    sparc-solaris2.5  (utilisable sous sparc-solaris2.7)
    hppa1.1-hpux9.01
    ppc-linux         (linuxppcR5 en standard,  linuxppcR4 sur demande)
    sgi-irix          (NEW 30/07/01  : merci Damien Mercier)
Vous pouvez toujours a posteriori supprimer des binaires (ou les sources) dont vous n'avez pas besoin. La version totale occupe (apres décompactage) de l'ordre de 5.3 Moctets pour wish3.6 et 1.7 Moctets pour stead.
L'installation est alors réduite au minimum : En principe, le reste se débrouille tout seul. "wish3.6" étant figé, seul stead évolue au gré des versions.

Si votre plateforme ne fait pas partie de celles proposées ci-dessus, Vous devez recompiler les sources de tk3.6 et tcl7.3 fournie avec la distrib de wish (dans le sous-répertoire "wish3.6/archives/src", et mettre à jour le script de lancement shell "wish3.6/wish3.6". (voir le fichier INSTALL.readme dans le répertoire "wish3.6/" précompilé)

Nota : si l'interpréteur porte un autre nom que "wish3.6", vous pouvez modifier d'en-tête du fichier <stead_dir>/bin/stead