Cette page a pour objectif de recenser les besoins/envies de chacun pour les futures versions de Editt.
dc À partir de la version 1.0.7 (je suis désolé, on est déja à la version 1.0.8 !), je propose ces petits changements issus d'un 'diff -u editt_avt.tcl editt_aps.tcl' où j'ai appelé editt_avt.tcl la version originale 1.0.7 et editt_aps.tcl la version modifiée.
Il s'agit d'une première tentative pour définir de raccourcis à la emacs.
--- editt_avt.tcl 2004-12-25 13:59:49.000000000 +0100
+++ editt_aps.tcl 2004-12-25 14:00:39.000000000 +0100
@@ -439,6 +439,7 @@
set EditorData(options,workingDir) "~"
set options(useDefaultExtension) 1
set EditorData(options,useDefaultExtension) 1
+ set EditorData(options,useEmacsStyle) 0
} else {
set toolbar1 $EditorData(options,showToolbar1)
set toolbar2 $EditorData(options,showToolbar2)
@@ -461,6 +462,7 @@
set options(workingDir) $EditorData(options,workingDir)
set options(serverWish) $EditorData(options,serverWish)
set options(useDefaultExtension) $EditorData(options,useDefaultExtension)
+ set options(useEmacsStyle) $EditorData(options,useEmacsStyle)
}
set EditorData(indentString) [string repeat " " $EditorData(options,indentSize)]
Editt::CreateFonts
@@ -2660,6 +2662,11 @@
-command {set EditorData(options,useDefaultExtension) $Editt::options(useDefaultExtension)
}
}
+ {checkbutton "Raccourcis emacs" {all option} "Utiliser des raccourcis \" la emacs\"" {}
+ -variable Editt::options(useEmacsStyle)
+ -command {set EditorData(options,useEmacsStyle) $Editt::options(useEmacsStyle);Editt::setBindings}
+ }
+
}
"Aide" {} {} 0 {
{command "Index" {} "Index de l'aide" {} -command "showManEntry $Editt::TxtWidget"}
@@ -3056,7 +3063,6 @@
wm withdraw $top
wm overrideredirect $top 1
-
set splashscreen [label $top.x -image spl]
pack $splashscreen
BWidget::place $top 0 0 center
@@ -3113,24 +3119,80 @@
bind $TxtWidget <KeyRelease> {Editt::OnKeyRelease ; break}
bind $TxtWidget <KeyPress> {[Editt::OnKeyPress %A ] }
bind $TxtWidget <ButtonRelease> Editt::OnMouseRelease
- # Sans Caps-Lock :
- bind $TxtWidget <Control-o> "Editt::openFile; break"
- bind $TxtWidget <Control-s> "Editt::saveFile; break"
- bind $TxtWidget <Control-x> "Editt::cut; break"
- bind $TxtWidget <Control-c> "Editt::copy; break"
- bind $TxtWidget <Control-v> "Editt::paste; break"
- bind $TxtWidget <Control-z> "Editt::undo; break"
- bind $TxtWidget <Control-r> "Editt::redo; break"
- bind $TxtWidget <Control-a> "Editt::selectAll; break"
- # Avec Caps-Lock :
- bind $TxtWidget <Control-O> "Editt::openFile; break"
- bind $TxtWidget <Control-S> "Editt::saveFile; break"
- bind $TxtWidget <Control-X> "Editt::cut; break"
- bind $TxtWidget <Control-C> "Editt::copy; break"
- bind $TxtWidget <Control-V> "Editt::paste; break"
- bind $TxtWidget <Control-Z> "Editt::undo; break"
- bind $TxtWidget <Control-R> "Editt::redo; break"
- bind $TxtWidget <Control-A> "Editt::selectAll; break"
+ if {$EditorData(options,useEmacsStyle)==0} {
+ # annulation comportement emacs
+ bind $TxtWidget <Control-x><Control-f> ""
+ bind $TxtWidget <Control-x><Control-s> ""
+ bind $TxtWidget <Alt-w> ""
+ bind $TxtWidget <Control-y> ""
+ bind $TxtWidget <Control-underscore> ""
+ bind $TxtWidget <Control-x><Control-u> ""
+ bind $TxtWidget <Control-x><Control-h> ""
+
+ bind $TxtWidget <Control-X><Control-F> ""
+ bind $TxtWidget <Control-X><Control-S> ""
+ bind $TxtWidget <Alt-W> ""
+ bind $TxtWidget <Control-Y> ""
+ bind $TxtWidget <Control-X><Control-U> ""
+ bind $TxtWidget <Control-X><Control-H> ""
+ # Sans Caps-Lock :
+ bind $TxtWidget <Control-o> "Editt::openFile; break"
+ bind $TxtWidget <Control-s> "Editt::saveFile; break"
+ bind $TxtWidget <Control-x> "Editt::cut; break"
+ bind $TxtWidget <Control-c> "Editt::copy; break"
+ bind $TxtWidget <Control-v> "Editt::paste; break"
+ bind $TxtWidget <Control-z> "Editt::undo; break"
+ bind $TxtWidget <Control-r> "Editt::redo; break"
+ bind $TxtWidget <Control-a> "Editt::selectAll; break"
+ # Avec Caps-Lock :
+ bind $TxtWidget <Control-O> "Editt::openFile; break"
+ bind $TxtWidget <Control-S> "Editt::saveFile; break"
+ bind $TxtWidget <Control-X> "Editt::cut; break"
+ bind $TxtWidget <Control-C> "Editt::copy; break"
+ bind $TxtWidget <Control-V> "Editt::paste; break"
+ bind $TxtWidget <Control-Z> "Editt::undo; break"
+ bind $TxtWidget <Control-R> "Editt::redo; break"
+ bind $TxtWidget <Control-A> "Editt::selectAll; break"
+ } else {
+ # annulation des comportements "Windows"
+ bind $TxtWidget <Control-o> ""
+ bind $TxtWidget <Control-s> ""
+ bind $TxtWidget <Control-x> ""
+ bind $TxtWidget <Control-c> ""
+ bind $TxtWidget <Control-v> ""
+ bind $TxtWidget <Control-z> ""
+ bind $TxtWidget <Control-r> ""
+ bind $TxtWidget <Control-a> ""
+ # Avec Caps-Lock :
+ bind $TxtWidget <Control-O> ""
+ bind $TxtWidget <Control-S> ""
+ bind $TxtWidget <Control-X> ""
+ bind $TxtWidget <Control-C> ""
+ bind $TxtWidget <Control-V> ""
+ bind $TxtWidget <Control-Z> ""
+ bind $TxtWidget <Control-R> ""
+ bind $TxtWidget <Control-A> ""
+ # annulation de certains comportements par dfaut
+ bind Text <Control-h> ""
+ bind Text <Control-x> ""
+
+ # seuls les principaux bindings sont pour l'instant voqus
+ # j'utilise Alt la place de Meta
+ bind $TxtWidget <Control-x><Control-f> "Editt::openFile; break"
+ bind $TxtWidget <Control-x><Control-s> "Editt::saveFile; break"
+ bind $TxtWidget <Alt-w> "Editt::copy; break"
+ bind $TxtWidget <Control-y> "Editt::paste; break"
+ bind $TxtWidget <Control-underscore> "Editt::undo; break"
+ bind $TxtWidget <Control-x><Control-u> "Editt::undo; break"
+ bind $TxtWidget <Control-x><Control-h> "Editt::selectAll; break"
+
+ bind $TxtWidget <Control-X><Control-F> "Editt::openFile; break"
+ bind $TxtWidget <Control-X><Control-S> "Editt::saveFile; break"
+ bind $TxtWidget <Alt-W> "Editt::copy; break"
+ bind $TxtWidget <Control-Y> "Editt::paste; break"
+ bind $TxtWidget <Control-X><Control-U> "Editt::undo; break"
+ bind $TxtWidget <Control-X><Control-H> "Editt::selectAll; break"
+ }
bind $TxtWidget <KeyRelease-Home> "Editt::gotoFirstChar;break"
bind $TxtWidget <F3> "repeat_last_search $TxtWidget"
bind $TxtWidget <F1> { showManEntry %W }
@@ -6567,3 +6629,4 @@
}
initeditt $argc $argv
+Miko aimerait bien voir intégré le glisser-déplacer des fichiers vers l'éditeur, éventuellement avec Drag'n'Drop avec Tkdnd
Kroc 30 Septembre 2005 : Actuellement le glisser-déposer n'est implémenté que sous Mac OS X. Dans la mesure ou j'ai prévu (dès que j'aurai du temps libre) de ré-écrire l'interface avec Tile au lieu des BWidgets, ça ne sera disponible pour Windows et linux qu'une fois cette modification majeure terminée.
Asy A la déclaration d'une procédure, si l'on tente d'effacer les accolades entourant les arguments, on obtient: Error: bad text index "". Pas vraiment bloquant à la saisie, après tout, pourquoi supprimer les accolades? C'est bien plus bloquant lorsque l'on tente d'ouvrir un fichier tcl déjà existant. Pour vous convaincre de cette nuisance, essayez (sous linux):
cat >e.tcl
proc a b {}
<ctrl-d>
editt e.tcldc 22/02/06 serait-il possible de choisir l'interpréteur d'exécution ?
Pourrait-on aussi envisager la possibilité de créer automatiquement un starpack ? c'est-à-dire automatiser la série de commandes :
sdx qwrap fichier.tcl sdx unwrap fichier.kit sdx wrap fichier.executable -runtime tclkit.binaire
Sans devenir un front-end de sdx ça serait super-sympa et pratique.