Extension Tout-en-Un
La version 0.2 de cette extension, fusionne, dans un code unique, les extensions suivantes:
- Gestes de Souris du groupe Optimoz
- Navigation Bascule de Ted Mielczarek, Optimoz et moi-même
- Navigation d'onglet de Joe4711
- Navigation d'historique de mozzmike
- Adresse de lien de moi-même
- Auto-défilement de skidooer
La version 0.3 ajoute les fonctionnalités suivantes:
- Personnalisation des gestes de souris
- Changements mineurs à la navigation avec la roue de défilement et à l'Auto-défilement
La version 0.4 ajoute les fonctionnalités suivantes:
- Changement de présentation dans la fenêtre de gestion (utilisation d'onglets).
- Correction de défauts mineurs et possibilité de selection le bouton de déclenchelent des gestes de souris par une préférence cachée.
La version 0.5 ajoute les fonctionnalités suivantes:
- Trace des gestes (implémentation légère).
- Possibilité de choisir dans quel dossier (c'est à dire programme ou profil) l'extension est installée.
- La fenêtre de gestion a été rendue plus flexible. On peut également en changer la taille.
Pourquoi fusionner les extensions?
Les extensions réagissant aux mouvements ou boutons de la souris font appel à des "écouteurs d'événement" invoqués lorsque des événements souris sont générés. Quand les extensions ne sont pas fusionnées, ces "écouteurs d'événement" peuvent ne pas être appelés (parce que la première extension recevant l'événement arrête la propagation de cet événement) ou peuvent exécuter des actions entrant en conflit avec les autres extensions.
La fusion des extensions permet de prendre les dispositions pour que les cas précédents ne se produisent pas. De plus, cela permet d'assurer une présentation homogène des extensions et de ne faire qu'une seule installation.
Fonctionnalités de la version 0.2
Pour le moment, l'extension Tout-en-Un ne marche que pour Phoenix. Ce progiciel est relativement petit (36 KB contre 31 KB pour la version 0.3.2 de Mouse Gestures).
Etat
- Deux progiciels sont fournis: le premier pour les versions antérieures à la réécriture des préférences par Ben Goodger et le second pour les versions quotidiennes actuelles.
- Dans chaque progiciel, tout fonctionne y compris le bouton "Settings" (la nouvelle désignation pour les préférences) et le bouton "Uninstall". Pour gérer l'extension, Tools-> Options -> Extensions -> All-in-One Gestures -> Settings.
- Chacune des quatre applications peut être dévalidée individuellement par gestion.
- A ma connaisssance, aucune incompatibilité n'existe avec l'extension TBE.
- Le désinstalleur utilise le code exUnregister.js de SHIMODA Hiroshi (Piro). Plus prope et générique que le code original du groupe Optimoz.
- Aucune localisation en français n'existe pour le moment.
Gestes de Souris
- L'extension Gestes de Souris (Mouse gestures) est une extension bien connue qui ne nécessite pas de présentation. Code très propre. Ceux qui ne sont pas familiers avec cette extension peuvent cliquer ici pour obtenir plus d'information.
- Comme signalé plus haut, la partie "gestes de souris" de l'extension peut être validée / dévalidée par gestion.
- Les gestes de souris sont exclusivement déclenchés en maintenant le bouton droit de la souris enfoncé.
- Un nouveau geste a été ajouté. Il permet de faire passer la fenêtre de Phoenix en plein écran. Il correspond à Droite, Bas, Gauche, Haut (soit dessiner un écran). Le même geste permet de sortir du mode plein écran pour revenir au mode normal.
- La possibilité d'autoriser / interdire certains gestes a été ajoutée en gestion.
Navigation Bascule
- La navigation Bascule permet d'aller à la page précédente (resp. suivante) en enfonçant le bouton droit (resp. gauche) et en cliquant avec le bouton gauche (resp. droit).
- La navigation Bascule peut être validée / dévalidée en gestion.
- Deux modes (selection en gestion) sont proposés: "A la Optimoz" ou "A la Opera". Dans le mode "A la Optimoz", les deux boutons doivent être enfoncés entre chaque opération. Dans le mode "A la Opera", l'application mémorise l'état du premier bouton enfoncé et plusieurs clics consécutifs sur le bouton opposé permettent d'effectuer plusieurs retours arrière ou avant sans lever le doigt. Malheureusement, les évenements de souris sont perdus lors des chargements de page et dans ce cas une désynchronisation peut se produire. Je recommande de n'utiliser le mode "A la Opera" que sur les machines rapides où sortir les pages du cache est instantané, sauf si vous êtes suffisamment attentionné pour ne pas relâcher le bouton enfoncé pendant le chargement.
Navigation avec la roue de défilement
- La navigation avec la roue de défilement est déclenchée en enfonçant le bouton droit de la souris et en tournant la roue de défilement. Le relachement du bouton droit effectue l'action.
- La navigation avec la roue de défilement peut être validée / dévalidée par gestion.
- Quand le déclenchement est effectué au-dessus d'un lien, l'URI du lien est affiché. Le relâchement du bouton droit efface l'affichage.
- Lorsque le déclenchement n'est pas effectué au-dessus d'un lien, la navigation avec la roue peut fonctionner sous deux modes: navigation d'onglet ou navigation d'historique. La selection du mode se fait par gestion.
- Dans le mode navigation d'onglet, tous les onglets apparaissent dans une fenêtre montante ("popup"). L'onglet que l'on veut rendre actif est atteint en tournant la roue. L'onglet ayant déclenché le basculement est mémorisé. Un retour rapide à l'onglet de départ (s'il existe et dans ce cas il apparaît en italique) peut être effectué en relâchant tout de suite le bouton droit. Cette manoeuvre permet de basculer rapidement entre deux onglets.
- Dans le mode navigation d'historique, l'historique de l'onglet courant est affichée dans une fenêtre montante. (c'est à dire le contenu des petits boutons à droite des icônes Précédente et Suivante est fusionné). La page que vous voulez afficher est selectionnée en tournant la roue.
- La selection du mode peut être dynamique. Si, en gestion, on choisit l'option "Navigate through Tab / History depending on delay", un des modes est choisi si le temps entre l'enfoncement du bouton droit et la rotation de la roue est inférieur à 1s, l'autre si ce temps est supérieur ou égal à 1s.
Auto-défilement
- L'auto-défilement émule l'autoscrolling de IE5+. Il permet de faire défiler votre page automatiquement. La vitesse et la direction de défilement sont définis par la position du pointeur de souris par rapport au marqueur initial. Si vous n'êtes pas familier avec cette extension, cliquez ici pour plus d'informations.
- Pour déclencher l'auto-défilement, cliquez sur le bouton du milieu. S'il y a quelque chose à faire défiler, le marqueur apparaîtra. L'éloignement du pointeur de la souris par rapport au marqueur fera défiler la page. Une autre clic sur le bouton du milieu arrêtera le défilement.
- L'auto-défilement peut être validé / dévalidé par gestion.
- Par rapport au code original, les améliorations suivantes ont été apportées:
- un algorithme pseudo-logarithmique est utilisé pour délinéariser la vitesse de défilement.
- la détection s'il y a quelque chose à défiler ou non a été améliorée.
- le blocage se produisant lorsque l'auto-défilement est déclenché pendant le chargement de la page a été corrigé.
Mises à jour (uniquement pour les versions post-2003-02-02)
Version 0.2.1 (10/02/2003):
- Les boutons radio dans la page de gestion, gardent leur indication initiale.
Version 0.2.2 (14/02/2003):
- Les variables overlayContainer and autoScrollMarker doivent être initialisées à null.
- Suppression du défilement diagonal, trop saccadé. A la place, des défilements horizontaux et verticaux sont effectuées en fonction de la position du pointeur de souris par rapport aux diagonales.
- Mise de l'intervalle d'auto-défilement à 30 ms.
- Mise de la tempo pour la selection Onglet / Historique à 700 ms à la place de 1 s.
Version 0.2.3 (25/02/2003):
- /ext manque dans l'URL associée aux auteurs dans le panneau Options -> Extensions.
- Renommage de Recognize -> Enable et Enable -> Allow. Comme l'anglais n'est pas ma langue maternelle, aucune idée si c'est bon.
- Mise de l'intervalle d'auto-défilement à 40 ms. Les machines rapides défilent trop vite.
- Changements mineurs dans le code pour nettoyage. Pas de changements fonctionnels.
Téléchargement de la version 0.2
Ci-joints les deux progiciels. Amusez-vous !
Gestes Tout-en-Un pour les versions postérieures au 02/02/2003 | |||
Taille: | 36 KB | Auteur: | Marc Boullet |
Installation: | Cliquez ici | Page d'accueil: | http://perso.wanadoo.fr/marc.boullet/ |
Cette version ne marche qu'avec les versions courantes, contenant la refonte des préférences de Ben Goodger. |
Gestes Tout-en-Un pour les versions antérieures au 02/02/2003 | |||
Taille: | 38 KB | Auteur: | Marc Boullet |
Installation: | Cliquez ici | Page d'accueil: | http://perso.wanadoo.fr/marc.boullet/ |
Cette version ne marche qu'avec les versions de Phoenix antérieures à la refonte des préférences de Ben Goodger. |
Fonctionnalités de la version 0.3
L'extension Tout-en-un version 0.3 ne marche toujours que sur Phoenix. Le progiciel est plus petit (34 KB) que celui de la version 0.2 (36 KB) grâce à la fusion de plusieurs fichiers (le code est cependant plus important).
Status
- Un seul progiciel est fourni correspondant aux versions actuelles de Phoenix. Ceux qui utilisent toujours des versions antérieures au 2/2/2003 doivent rester avec la version 0.2.
Personnalisation des gestes de souris
- La personnalisation des gestes de souris permet à l'utilisateur de définir, pour chaque fonction disponible dans cette application, le geste qui, lorsqu'il sera reconnu, déclenchera la fonction. Pour invalider une fonction, il suffit de ne pas lui associer de geste.
- Les fonctions de base disponibles sont principalement celles de Mozgest 0.3.5. Quelques fonctions ont été rajoutées:
- Fermer tous les autres onglets.
- Afficher les Infos de la page.
- Afficher la console Javascript.
- Afficher "About this build".
- La gestion de la personnalisation s'active en cliquant sur le bouton "Customize" dans la page de gestion. Une nouvelle fenêtre contenant une table de correspondance Fonction <-> Geste, s'ouvre. L'édition de cette table, au moyen des quatre boutons d'édition, permet la personnalisation.
- Les gestes en diagonale ne sont pas supportés. Mes raisons sont:
- dans les versions de Mozgest antérieures à 0.3.5, les gestes en diagonale étaient traités après coup et ça ne marchait pas très bien.
- Mozgest 0.3.5 reconnait les gestes en diagonale en temps réel mais cela coûte pas mal de code.
- Avec la personnalisation des gestes, on peut libérer tous les gestes que l'on n'utilise pas (un utilisateur normal utilise environ cinq gestes).
- La personnalisation des gestes est sauvegardée dans une préférence de Phoenix. Cette préférence est la concaténation des gestes correspondant à chaque fonction. L'utilisation d'une préférence permet de simplifier le code (par rapport à l'utilisation d'un fichier RDF par exemple) mais a quelques inconvénients.
Navigation avec la roue de défilement
- La sélection dynamique du mode (Historique ou Onglet) a été modifiée. Elle n'est plus basée sur le temps, mais sur le sens de rotation initial de la roue.
Auto-défilement
- Quand on auto-défile avec la bouton du milieu qui reste appuyé, le relâchement de ce bouton arrête l'auto-défilement (en version 0.2, le défilement continuait "doigts libres").
Migration depuis Tout-en-Un 0.2
- Etant donné que Tout-en-Un version 0.3 a de nouvelles préférences et que d'autres n'ont plus cours, il est grandement recommendé de désinstaller Tout-en-Un 0.2 proprement (pour supprimer toutes les préfs) avant d'installet Tout-en-Un 0.3. Utilisez le bouton "Uninstall" de la page de gestion "Settings". Pour les utilisateurs avancés qui n'auraient pas peur d'éditer prefs.js, une solution alternative est de supprimer toutes les préfs contenant "allinonegest.xxxx" de prefs.js (avec Phoenix fermé, évidemment).
Ne pas perdre sa personnalisation lors d'un changement de version de Phoenix ou de Tout-en-Un
- Evidemment, vous ne voulez pas perdre votre personnalisation lorsque vous changez votre Phoenix. En théorie, cela ne sera pas le cas puisque les préfs sont sauvegardées dans votre profil. Cependant l'utilisation par mégarde du bouton "Uninstall" de la page de gestion supprime toutes les préfs de Tout-en-Un. Pour éviter une mauvaise utilisation du bouton Uninstall, je suggère de sauvegarder, lorsque votre personnalisation est terminée, la préférence "allinonegest.gestureString" du fichier prefs.js dans le fichier user.js.
- Le conseil du paragraphe précédent s'applique également lorsqu'une nouvelle version de Tout-en-Un est installée. Notez que la personnalisation a été conçue pour pouvoir rajouter de nouvelles fonctions sans casser la préférence de personnalisation.
Mises à jour
Version 0.3.1 (17/02/2003):
- La personnalisation de "Retour à la page précedente" (la première ligne) ne marche pas. Corrigé en changeant "if (gesturesTable[aGesture])" par "if (gesturesTable[aGesture] != null)" dans gestimp.js.
Version 0.3.2 (19/03/2003):
- Crash quand on déclenche l'auto-défilement dans la fenêtre grise avant que le contenu réel ne s'affiche. Corrigé.
- Le marqueur d'auto-défilement ne s'affiche pas dans les "frames" dont la hauteur est inférieure à la hauteur de la zone d'affichage. Corrigé en utilisant les propriétés scrollWidth, scrollHeight, clientWidth, clientHeight de l'élément body.
- Le marqueur d'auto-défilement ne s'affiche pas quand la barre de défilement native a une taille inférieure à 16. Corrigé miraculeusement par la correction précédente
- La fonction "Open New Window" ne marche pas quand la page d'accueil contient plusieurs URLs. Corrigé en n'ouvrant que la première URL.
- Changement de <!DOCTYPE window ... en <!DOCTYPE dialog ... dans pref-allinonegest.xul et gestcustomization.xul pour avoir un fichier XML valide.
Version 0.3.3 (23/03/2003):
- L'extension Tout-en-Un s'installe maintenant dans le répertoire "chrome" de votre profil. Ceci permet de ne plus avoir à recharger l'extension quand on change la version de Phoenix.
- Deux nouvelles fonctions ont été rajoutées pour les gestes de souris. Ce sont: Remonter en haut de la page (Scroll to top of page) et Descendre en bas de la page (Scroll to bottom of page).
Téléchargement de la version 0.3
Ci-joint le progiciel. Prenez du plaisir!
Gestes Tout-en-Un version 0.3 | |||
Taille: | 34 KB | Auteur: | Marc Boullet |
Installation: | Cliquez ici | Page d'accueil: | http://perso.wanadoo.fr/marc.boullet/ |
La version 0.3 introduit la personnalisation des gestes de souris. |
Fonctionnalités de la version 0.4
L'extension Tout-en-Un version 0.4 n'est toujours valide que pour Phoenix. Le progiciel est plus petit (32 KB) que celui de la version 0.3 grâce à la fusion des fichiers XUL pref-allinonegest.xul et customize.xul.
Status
- Ce progiciel ne marche que sur les versions courantes de Phoenix. Ceux qui sont restés avec une version antérieure au 2/2/2003 doivent rester en 0.2
Présentation du panneau de gestion
- La personnalisation des gestes ne se fait plus dans une fenêtre séparée. A la place, la fenêtre de gestion possède deux onglets: un pour les préférences générales et un autre pour la personnalisation des gestes
Corrections d'anomalie
- Dans certains cas, après l'exécution d'un geste, le premier clic droit ne fait pas apparaître le menu de contexte. Corrigé.
Bouton de démarrage des gestes
- Jusqu'à présent, le bouton droit était le seul bouton permettant de démarrer les gestes de souris. Quelques personnes m'ont demandé d'autoriser d'autres boutons. Personnellement, je crois dur comme fer que le bouton droit est le seul bouton qui permet de fonctionner correctement (pas de selection de texte parasite, de suivi de liens inopiné, etc). Comme il s'agit d'un changement n'impliquant qu'une ligne de code, j'ai rajouté une préférence cachée permettant de choisir le bouton. Cette préférence s'appelle "allinonegest.mousebuttonpref" et est de type entier (integer). Tout-en-Un ne crée jamais cette préférence automatiquement. Ceux qui veulent changer de bouton doivent créer cette préf (soit avec about:config soit en la rajoutant dans user.js) et positionner sa valeur (0: gauche, 1: milieu, 2: droit).
Désinstallation de Tout-en-Un
- Tout-en-Un 0.3.3 a introduit l'installation de l'extension dans le répertoire "chrome" du profil de l'utilisateur. Ceci permet de changer la version de Phoenix sans recharger l'extension. Malheureusement, je n'ai pas pensé (ou plutôt mal pensé) au cas où TeU est rechargé sans changer Phoenix. L'utilisation du bouton Uninstall dans Tout-en-Un 0.3.3 supprime toutes les préférences de Tout-en-Un. Ce n'est pas ce que l'utilisateur attend.
- Tout-en-Un 0.4 demandera, lors du processus de désinstallation, si l'utilisateur désire conserver ses préférences ou non.
Passage en Tout-en-Un 0.4
- Si vous êtes toujours en 0.3.2 ou inférieur, vous devez désinstaller proprement Tout-en-Un du répertoire "program" en utilisant le bouton Uninstall. Si vous désirez sauvegarder vos préfs, copier votre prefs.js avant la désinstallation et restaurer les après avoir installé 0.4.
- Si vous utilisez déjà 0.3.3 et que vous souhaitez conserver vos préfs, utilisez une des deux méthodes suivantes:
- Sauvergarder les préfs de prefs.js, désinstaller 0.3.3 en utilisant le bouton Uninstall, fermer Phoenix, restaurer les préfs et démarrer Phoenix.
- Ne pas utiliser la procédure d'installation automatique. A la place, télécharger le fichier allinonegest04.xpi. Extraire allinonegest.jar de allinonegest04.xpi et remplacer le vieux allinonegest.jar, situé dans le répertoire "chrome" de votre profil, par celui-ci. C'est la méthode la plus simple reservée aux utilisateurs avancés qui savent ce qu'ils font.
Téléchargement de la version 0.4
Voilà. Amusez-vous!
Gestes Tout-en-Un version 0.4 | |||
Taille: | 32 KB | Auteur: | Marc Boullet |
Installation: | Cliquez ici | Page d'accueil: | http://perso.wanadoo.fr/marc.boullet/ |
La version 0.4 change l'apparence de la fenêtre de gestion et bien plus... |
Fonctionnalités de la version 0.5
L'extension Tout-en-Un version 0.5 n'est toujours valide que pour Phoenix. Etant donné les récentes annonces, il est fort probable que cela restera ainsi "ad vitam eternam". Ce progiciel est plus gros (34 KB) que la version 0.4 (32 KB) principalement à cause de l'ajout de la trace des gestes.
Status
- Ce progiciel ne marche que sur les versions courantes de Phoenix. Ceux qui sont restés avec une version antérieure au 2/2/2003 (par exemple la version officielle Phoenix 0.5) doivent rester en 0.2
Trace des gestes
- Cette fonctionnalité permet de visualiser la trace de votre geste au fur et à mesure que vous le dessinez. La trace des gestes peut être validée / dévalidée (défaut) par gestion. Les traces ne peuvent pas être personnalisées (la couleur est de ton rouge, la taille de la trace est de 2 pixels-carré, et l'opacité du trait est de 100%).
Reconnaissance des gestes
- Un meilleur algorithme de reconnaissance (du moins, je le pense) est mis en place. Aucun changement fondamental du comportement.
Installation
- L'installeur de AiO 0.5 permet de selectionner le dossier dans lequel l'extension sera installée ( dossier programme ou dossier profil).
Désinstallation
- Le désinstalleur a été amélioré et permet maintenant de désinstaller proprement quel que soit le dossier d'installation.
- Dans le dialogue qui demande si on veut sauvegarder les préfs, l'action des boutons OK et Cancel a été inversée. Maintenant, OK sauvegarde les préfs (je pense que c'est le cas le plus courant).
Fenêtre de gestion
- Certains utilisateurs se sont plaints que la fenêtre de gestion n'était pas toujours visible avec les petites résolutions d'écran. Pour pallier à ce problème, le contenu de la fenêtre a été rendu plus flexible (au sens XUL du terme). De même on peut désormais en changer la taille. Pour ce faire, il a fallu abandonner la fenêtre standard (Settings) et en réouvrir une autre. Ne soyez donc pas étonné de voir un petit bandeau de fenêtre trainer sur l'écran. Il disparaitra dès que les développeurs de Phoenix auront rendu les fenêtres "resizable". Ci-dessous, deux clichés de la fenêtre de gestion (un pour chaque onglet).


Passage en Tout-en-Un 0.5
- Si vous êtes en 0.4 et ne désirez pas changer le dossier d'installation (c'est à dire vous restez avec le dossier profil), utilisez une des deux méthodes suivantes:
- Désinstaller avec le bouton Uninstall et, quand on vous le demande, cliquer sur le bouton qui sauvegarde vos préférences. Démarrer Phoenix, installer le progiciel TeU 0.5 et redémarrer Phoenix. C'est la méthode recommandée.
- Fermer Phoenix. N'utilisez pas l'installeur automatique. A la place, téléchargez allinonegest05.xpi. Extraire allinonegest.jar de allinonegest05.xpi and remplacer l'ancien allinonegest.jar dans votre dossier "profil chrome" par celui-là. Redémarrer Phoenix.
- Si vous êtes en 0.4 et désirez changer de dossier d'installation (c'est à dire vous changez vers le dossier programme), appliquez la méthode suivante (la complication, ici, vient d'une anomalie du désinstalleur 0.4 qui a été corrigée en 0.5):
- D'abord, installer TeU 0.5 dans le même dossier que 0.4 (c'est à dire le dossier profil), en utilisant une des deux méthodes du paragraphe précédent.
- Puis, désinstaller TeU en utilisant le bouton Uninstall et réinstaller l'extension Tout-en-Un 0.5 dans le dossier programme.
Téléchargement de la version 0.5
Ci-dessous le progiciel. Ayez du plaisir!
Gestes Tout-en-Un version 0.5 | |||
Taille: | 34 KB | Auteur: | Marc Boullet |
Installation: | Cliquez ici | Page d'accueil: | http://perso.wanadoo.fr/marc.boullet/ |
La version 0.5 rajoute la trace des gestes, la fenêtre de gestion flexible et bien plus... |
Remerciements
Merci à David Tenser et Stefan Huczics pour m'avoir autorisé à utiliser leur feuille de style comme point de départ pour concevoir ces pages.