Archive for May, 2009

AutoHotkey – One-Click Auto Shutdown

Tuesday, May 5th, 2009

Have you ever had to wait in front of your computer before it shuts down? Once it starts closing all background applications, open windows and other things you don’t even know about, it takes a long while before it finally stops.

There is a DOS command that can execute a complete stop: the shutdown command. Some parameters can be added to it, but for the purpose, let’s stay with the essentials to force you computer to shut down:

shutdown –s –f –t 0

It is easy to put it into AutoHotkey to make it done automatically. However, if you do so, all current applications will close without warning, and you may lose unsaved data. Therefore, I added a simple message box to prompt just before proceeding:

MsgBox, 52, Warning, Computer will shut down. Proceed?
IfMsgBox, Yes, run, shutdown -s -f -t 0
Return

If you click the “Yes” button, the computer will not ask and will make a complete stop. There is now an “OFF” key on my Enterpad that helps me leave my computer station as fast as possible!

Edmond

AutoHotkey – Éteindre votre ordinateur en un seul coup

Tuesday, May 5th, 2009

Avez-vous déjà eu à attendre que votre ordinateur ferme tous les programmes en arrière-plan, les fenêtres ouvertes, et qu’il fasse encore des choses qui nécessitent un temps fou avant même qu’il n’arrive à s’éteindre?

Il existe une commande DOS pour éteindre Windows : la commande shutdown. On peut ajouter des paramètres, mais pour les besoins de la cause, voici comment forcer votre ordinateur à s’éteindre :

shutdown –s –f –t 0

On peut l’appliquer à AutoHotkey pour le faire automatiquement. Toutefois, si on le fait tel quel, on provoque la fermeture de toutes les applications et donc, on perd toute information non sauvegardée. Alors, j’ai cru bon de mettre un message d’avertissement juste au cas, ce qui nous donne ceci :

MsgBox, 52, Arrêt, L'ordinateur va maintenant s'arrêter. Procéder?
IfMsgBox, Yes, run, shutdown -s -f -t 0
Return

Si on appuie sur Oui, l’ordinateur ne s’impose pas et s’éteint automatiquement. Sur mon Enterpad, j’ai donc une touche « OFF » qui apparaît pour mettre à l’arrêt mon ordinateur assez rapidement sans que je n’aie à me soucier que tout est ok!

Edmond

AutoHotkey – Display an on-screen message

Tuesday, May 5th, 2009

When I use AutoHotkey to run background tasks, download files and prepare backups, I want to know what happens without wondering if it is really working or not. Also, I like to be prompted and to confirm actions before running them.

There is a command in AutoHotkey, MsgBox, that displays a message box on screen.

For instance, to show a message that confirms that I open my Calculator, I would write the following AutoHotkey script:

Run Calculator
MsgBox, Calculator is open and running.
Return

This dialog box would show « Calculator is open and running. » with a OK button that I must click to close it.

There are many ways to display an on-screen message with MsgBox by adding parameters, such as (in order):

  • Options (number)
  • Title
  • Text to display in the message box
  • Showing delay (after this delay, the message box closes automatically)


Add a title to the message box

MsgBox, 0, My title, Calculator is open and running.

Display a message box for 3 seconds
MsgBox, 0, My title, Calculator is open and running, 3

Display a confirmation (Yes/No) in the message box

MsgBox, 4, My title, Do you want to open Calculator?

In this case, you can use the confirmation to generate actions whether you clicked Yes or No in the message box. For example, if I want to launch Calculator after clicking on the Yes button:

MsgBox, 4, Calculator, Do you want to open Calculator?
IfMsgBox, Yes, run, calc
Return

For more information about the MsgBox command, please refer to AutoHotkey documentation available on the Web: http://www.autohotkey.com/docs/commands.htm

Edmond

AutoHotkey – Afficher un message à l’écran

Tuesday, May 5th, 2009

Lorsque j’utilise AutoHotkey pour lancer des tâches en arrière-plan, télécharger des trucs, préparer une copie de sauvegarde, j’aime être informé de ce qui se passe sans avoir à me demander si la tâche que j’ai demandée s’exécute vraiment. J’ai le même souci quand je demande des actions à mon ordinateur et que je veux confirmer le tout avant de procéder.

Il existe une commande dans AutoHotkey, MsgBox, qui affiche une boîte de message à l’écran.

Par exemple, pour afficher un message qui confirme que j’ai ouvert ma calculatrice, j’écrirais le script AutoHotkey suivant :

Run Calculator
MsgBox, La calculatrice est ouverte.
Return

Ma boîte de dialogue afficherait le message « La calculatrice est ouverte » avec un bouton OK que je clique pour fermer le message.

Il existe plusieurs façons d’afficher un message à l’écran en ajoutant certains paramètres, en ordre :

  • Les options (nombre)
  • Le titre
  • Le texte dans la boîte de message
  • La durée d’affichage de la boîte de message (après ce délai, la boîte de message se fermer automatiquement

Afficher un titre à la boîte de message
MsgBox, 0, Mon titre, La calculatrice est ouverte.

Afficher une boîte de message pendant trois secondes
MsgBox, 0, Mon titre, La calculatrice est ouverte, 3

Afficher une confirmation (oui/non) à l’écran

MsgBox, 4, Mon titre, Voulez-vous ouvrir la calculatrice?

Dans le dernier cas, il est possible de faire une condition qui fait en sorte qu’une action peut suivre selon qu’on a cliqué sur Oui ou Non. Par exemple, si je veux cliquer Oui pour ouvrir la calculatrice :

MsgBox, 4, Calculatrice, Voulez-vous ouvrir la calculatrice?
IfMsgBox, Yes, run, calc
Return

Pour plus d’informations sur les commandes MsgBox, référez-vous à la documentation de AutoHotkey sur leur site Web : http://www.autohotkey.com/docs/commands.htm

Edmond

Make many Enterpads out of one

Tuesday, May 5th, 2009

For those of you who own an Enterpad programmable keyboard, you probably have had to replace a useful macro with another more useful one… because you had used every available key on your keyboard. When having 120 spaces is no longer enough, you need to find more space quickly to keep yourself efficient. However, you do not want to replace all your macros one by one, over and over again.

Indeed, it is always heartbreaking to let go of a very useful macro only because it seems the least useful among all the others. Since I use my Enterpad, I went through the process many times after all my keys were assigned to a macro. And it happened often enough that I go back in time and put an older macro back into place on my keyboard.

With AutoHotkey, programming my macros was an easy thing. Open the script in Notepad, build up macros with the online doc when needed, save and reload the script. When I started using a graphic design program, I found out two things: I have no time to spend on remembering all the shortcuts (was it Ctrl+J or Ctrl+Shift+J already), and no hope at all of doing so.

I was left with two options. Option A was to try to remember the shortcuts, or not to use them at all (what a waste of time). Option B was to remove over 40 of my common macros to replace them by my graphic design ones.

It is then that I’ve been told to create another AutoHotkey script for my graphic design software only. Since it is rare for me to use both my common and design macros at the same time, I found useful to have them separate for I wouldn’t have to look for my design macros among the others.

I created a second AHK file which I placed in the same folder as my default one. In both scripts, I configured keys #9 and #10 on the Enterpad to have buttons to load any of my scripts, and to save and reload the script in real-time.

Then I had to decide how to display all the information about the hotkeys on my Enterpad, since many of my keys now held two different macros, depending on the script I use. I first thought of separating my keys in half to write both macros, then to write in different colors.

The easiest way to get it done was even simpler. In fact, I found out the overlay printout (available on CEDEQ website at http://www.cedeq.com/enterpad-p120/download/ep_lay_ahk.pdf), and made one copy for each of my scripts. Therefore, when I switch script, I just change the overlay at the same time!

Now with my two keyboards in the same one, I have the possibility to create as many as I need. And it is simple: create a script, print the overlay and add a shortcut to my other scripts. Another way for the Enterpad to make me save time and effort!

Edmond

Multipliez votre Enterpad en plusieurs claviers

Tuesday, May 5th, 2009

Si vous êtes comme moi et que vous utilisez votre Enterpad à toutes les sauces, vous avez sans aucun doute rencontré la même situation que moi : la saturation de votre Enterpad. Plus d’espace pour de nouvelles macros, mais toujours le désir d’être plus rapide, plus efficace.

J’ai acquis mon Enterpad il y a de cela un moment, et j’ai eu la chance de tester plusieurs macros afin d’améliorer mon efficacité dans mes tâches quotidiennes devant mon ordinateur. En quelques mois seulement, j’ai réussi à combler toutes les 120 touches de mon clavier programmable avec des raccourcis et des combinaisons toutes aussi utiles les unes que les autres. J’ai eu le temps de changer à plusieurs reprises les macros de touche sur le clavier, à laisser tomber certaines d’entre elles pour les remplacer… pour finalement les réutiliser plus tard.

Avec AutoHotkey installé sur mon poste, la programmation de toutes mes touches a été très facile. Mon script AHK s’ouvrant dans un éditeur de texte standard, j’ai consulté la documentation sur le site de AutoHotkey et j’ai pu créer l’ensemble de mes macros. Toutefois, il est arrivé le moment où justement, j’avais besoin de place sur mon clavier. En effet, j’ai installé un logiciel de graphisme qui contient une multitude de raccourcis clavier que je n’ai ni l’espoir ni le temps de me souvenir (était-ce Ctrl+J ou Ctrl+Shift+J ?).

Je me tenais donc face à un dilemme : comment faire pour ajouter les macros pour le logiciel graphique alors que toutes mes macros actuelles sont pertinentes? Je me voyais très mal substituer « Aller voir le courriel » par « Outil Rectangle », alors que les deux me serviraient encore tôt ou tard. Je ne pouvais non plus me résigner à supprimer le tiers de mes macros.

C’est donc qu’on m’a conseillé de me créer un autre script avec AutoHotkey expressément conçu pour mon logiciel de graphisme. Comme je n’utilise mes macros personnelles en même temps que mes macros de dessin, il était utile de les séparer afin que je n’aie pas à chercher mes macros graphiques à travers les autres.

J’ai donc créé un deuxième fichier AHK que j’ai placé au même endroit que mon script de base et que j’ai nommé Graphisme.ahk. Ensuite, j’ai, sur les deux scripts, utilisé deux touches dans le coin supérieur droit pour charger et décharger un script. Avec mon bouton « Charger script », je choisis lequel des deux je désire activer, et le bouton « Enregistrer et recharger script » pour enregistrer mes modifications en temps réel.

Je n’avais à ce jour que la feuille d’assignation (overlay) fournie avec le Enterpad. J’avais pensé à séparer mes touches en deux, puis à écrire le texte sur la feuille en deux couleurs pour bien séparer. J’allais commencer le travail quand on m’a conseillé de plutôt télécharger une autre copie de l’overlay pour la mettre sur le clavier (on la retrouve d’ailleurs sur le site de CEDEQ au http://www.cedeq.com/enterpad-p120/download/ep_lay_ahk.pdf). J’ai donc utilisé cette deuxième feuille pour y inscrire mes macros propre au graphisme, et le tout était séparé de façon claire et efficace.

J’ai donc deux feuilles interchangeables qui peuvent se placer aisément sous la pellicule plastique. La feuille par défaut y est présente presque toujours, mais, le moment venu d’utiliser mon Enterpad pour mon usage graphique, j’appuie sur ma touche « Charger script » et je change de feuille. Le tour est joué !

Avec désormais deux claviers en un, j’ai aussi l’opportunité d’en créer encore plusieurs. Et c’est simple : créer le script, imprimer la feuille de touches et ajouter un raccourci dans mon script de base. Encore une autre façon de sauver temps et énergie avec l’Enterpad !

Edmond