Il y a des petits programmes qui passent complètement inaperçus mais qui, une fois qu'on les connaît, deviennent pourtant très vite indispensables. CocoaGestures fait partie de cette catégorie.
La première fois que j'ai entendu parler des "Gestures" c'était avec le navigateur Opera sous Windows (comme aucune traduction officielle n'existe à ma connaissance je vais traduire "gesture" par "gestuelle"). Les gestuelles permettent d'associer des fonctions du navigateur à des mouvements de la souris. Sous Opera, par exemple, un click-droit accompagné d'un mouvement de la souris vers la gauche équivaut à revenir une page en arrière. Le même click-droit accompagné d'un mouvement vers la droite permet d'avancer d'une page. Pour minimiser la fenêtre il suffit d'un click-droit accompagné d'un mouvement vers le bas puis vers la gauche. Il existe ainsi de nombreux mouvements associés à différentes actions possibles avec un navigateur. Pour plus d'infos sur les gestuelles d'Opera allez voir ceci .
Bien que sceptique au premier abord j'ai vite réalisé à quel point cette fonction était pratique. Plus besoin de déplacer son curseur vers la barre d'icones ou la barre de menu, tout se fait "sur place".
Bien évidemment, lorsque le navigateur Opera est arrivé sur Mac je me suis précipité dans l'aide pour trouver comment fonctionnaient les gestuelles. Malheureusement ces dernières n'ont pas été adaptés sur la version Mac. De rage, Opera est passé directement à la corbeille.
Ce n'est que plus tard que j'ai découvert cette petite merveille qu'est CocoaGestures. Ce petit programme se présente sous la forme d'un "InputManager" et est à placer dans le répertoire du même nom dans votre bibliothèque. Inutile de redémarrer l'ordinateur, il affectera automatiquement tous les programmes Cocoa lancés après son installation (les programmes Carbon ou Classiques n'en profiteront pas).
Vous verrez alors apparaître un élément supplémentaire dans le menu Application:
Cet élément ouvre les préférences de CocoaGestures pour l'application en question (ici TextEdit). Chaque application Cocoa possède ses propres gestuelles. Les préférences se présentent ainsi:
On peut tout d'abord décider si les gestuelles seront actives pour cette application. Ensuite différentes options d'offrent à nous pour informer l'application que nous sommes en train de faire une gestuelle. Les heureux possesseurs d'une souris à plusieurs boutons s'orienteront naturellement vers l'utilisation du bouton central, qui n'est que peu utilisé dans les applications. Pour les autres il est possible d'associer un click à une combinaison de touches. Les options supplémentaires permettent de régler la durée maximale de la gestuelle ainsi que sa taille en pixels.
La troisième partie de ces préférences est la plus intéressante, c'est ici que vous définissez vos gestuelles. Le programme vous fournit quelques réglages par défaut pour les menus qui sont communs à la plupart des applications Cocoa, mais vous pouvez ajouter autant de gestuelles que vous le désirez. Les gestuelles sont des combinaisons de quatre mouvements: haut, bas, droite, gauche. Ainsi, dans la capture ci-dessus vous voyez que pour créer un nouveau document dans TextEdit, il faudra faire: udu, c'est-à-dire "up, down, up" ou encore "haut, bas, haut". Donc un click sur le bouton central (si vous avez une telle souris) accompagné d'un rapide mouvement d'aller-retour vers le haut vous ouvrira un nouveau document vierge.
Vous pouvez ajouter très facilement une nouvelle gestuelle. En cliquant sur "Add", une nouvelle entrée vierge apparaît.
en cliquant sur la partie gauche une fenêtre s'ouvre dans laquelle vous ferez le mouvement désiré qui sera traduit par l'application en une combinaison de u,d,l et r (pour up, down, left, right, vous l'aurez compris). En double-cliquant sur la partie droite vous pourrez associer une action:
Il vous suffit de sélectionner une action dans un des menus de l'application et le tour est joué !
Une fois CocoaGesture activé pour votre application, un click sur le bouton choisi (éventuellement accompagné d'une ou plusieurs touches) transformera votre pointeur en un petit "G", vous indiquant qu'il est attentif à vos mouvements.
Il est forcément très difficile de mémoriser toutes les gestuelles d'une application mais si vous gardez une certaine logique tout deviendra très vite naturel. Par exemple, un mouvement vers la gauche dans un navigateur affichera la page précédente, tandis que le même mouvement dans Aperçu affichera la page précédente d'un PDF ou l'image précédente dans le cas d'une suite d'image.
Bien évidemment c'est dans les navigateurs que CocoaGestures prend toute son importance. Naviguer sur internet se fait principalement à la souris, sans l'aide du clavier et c'est un bonheur de passer d'un onglet à l'autre en un simple mouvement haut, droite (pour l'onglet suivant) ou haut, gauche (pour le précédent), de fermer un onglet par un droite, gauche, d'augmenter la taille des caractères avec gauche, haut, de la diminuer avec gauche, bas (certains de ces raccourcis reflètent mes propres choix, libre à vous de faire vos propres gestuelles). Safari, Camino, Omniweb en bonnes applications Cocoa supportent très bien CocoaGesture, par contre ce n'est pas le cas d'Explorer et d'Opera (qui sont tous deux carbon).
Les gestuelles sont un peu déroutantes au début et il faut perdre cette habitude d'aller chercher les fonctions dans les menus ou de recourir aux raccourcis clavier, mais une fois qu'on s'y est fait il n'est plus possible de s'en passer !
Et la cerise sur le gâteau: CocoaGesture est complètement gratuit ! Pourquoi s'en priver ?