Vous recherchez une solution de prise de notes légère, ultra rapide et facile d'accès? Effectuez une recherche en ligne et vous trouverez d'innombrables suggestions pour de telles applications. Et pourtant, même les plus "légers" sont souvent maladroits et peuvent être dotés de fonctionnalités que vous pourriez personnellement considérer comme inutiles.

Voyons donc comment vous pouvez créer votre propre application de prise de notes personnalisée ultra-légère et ultra-rapide à l'aide d'AutoHotkey. Une solution de prise de notes simple et sans fioritures qui pourra apparaître instantanément sur votre écran en appuyant sur une seule touche.

Configuration d'un plan de prise de notes avec AutoHotkey

Commençons par énoncer clairement notre objectif final et concevons un plan simple pour y arriver.

Pour ce projet, nous n'avons pas besoin de formatage de texte sophistiqué, de prise en charge de modèles ou d'autres fonctionnalités "avancées". Notre objectif?

  • Nous voulons créer une application ultra-simple qui apparaîtra sur notre écran lorsque nous appuierons sur une combinaison de touches de raccourci.
  • Cette fenêtre nous permettra de noter une note et de la sauvegarder dans un fichier texte brut/MarkDown.

Et c'est tout: pas de fenêtres, de boîtes de dialogue, de menus ou de boutons supplémentaires.

Heureusement, un tel projet est facile à construire avec AutoHotkey, comme nous le verrons ensuite. N'hésitez pas à suivre même si vous n'avez jamais utilisé AutoHotkey auparavant. Cependant, il serait peut-être préférable que vous consultiez d'abord notre guide rapide AutoHotkey pour les débutants.

Comment installer AutoHotkey

Comme AutoHotkey est une solution tierce, pour l'utiliser, vous devez l'installer.

Alors rendez-vous chez Site officiel d'AutoHotkey, et cliquez sur le sympathique vert Télécharger bouton. Ignorez les versions V1 (obsolète) et V2 (bêta) et choisissez de Télécharger la version actuelle. Ensuite, installez-le sur votre ordinateur.

Vous ne pourrez remarquer aucun changement par la suite, car AutoHotkey ne fonctionne que comme analyseur pour les scripts AutoHotkey. En d'autres termes, AutoHotkey ne "fait rien" par lui-même. Au lieu de cela, cela fonctionne comme la plate-forme sur laquelle le script que nous allons créer ensuite sera exécuté.

Comment créer un nouveau script dans AutoHotkey

Ouvrez votre gestionnaire de fichiers préféré, comme Explorateur de fichiers Windows, et pointez-le vers le répertoire dans lequel vous souhaitez créer votre nouveau script. Vous pouvez choisir n'importe quel répertoire de votre bureau vers votre dossier personnel Documents.

Le moyen le plus simple de créer un nouveau script AutoHotkey consiste à tirer parti de la nouvelle option disponible via le menu contextuel du clic droit après l'installation d'AutoHotkey. Cliquez avec le bouton droit sur un emplacement vide de la fenêtre du gestionnaire de fichiers et, dans le menu qui apparaît, choisissez Nouveau > Script de raccourci automatique.

Étant donné que les scripts AutoHotkey sont en fait des fichiers texte brut, vous pouvez également créer un nouveau fichier texte, puis le renommer, en modifiant son extension de SMS pour AHK. Le résultat final sera le même: vous aurez un nouveau script AutoHotkey vierge.

Lancez votre éditeur de texte ou de code préféré et ouvrez le script pour le modifier. Pour cet article, nous utiliserons Notepad++, mais vous pouvez utiliser n'importe quel outil similaire, comme VS Code ou Atom.

Bien sûr, si vous préférez garder les choses simples, vous pouvez toujours utiliser le bon vieux Bloc-notes qui accompagne Windows.

Créer une interface graphique dans AutoHotkey

Pour simplifier la personnalisation future de notre script, stockons deux informations essentielles dans deux variables.

  • Le premier, que nous avons nommé NotesPath, est mappé sur le chemin complet où nous voulons que notre script enregistre nos notes. S'il vous plaît, n'oubliez pas de changer le chemin d'accès à celui que vous souhaitez utiliser. Sinon, vos notes seront enregistrées à un endroit inattendu ou le script échouera.
  • Le second, que nous avons nommé FileNameExtra, contient une chaîne que nous utiliserons pour les noms de fichiers de nos notes. Le fichier de chaque note sera nommé d'après une version "assainie" de son titre, suivi de cette chaîne.

Ça devrait ressembler à ça:

NotesPath = A:\00_Cloud_Storage\Dropbox\Notes\Obsidian\Duckland! Boîte de réception
NomFichierExtra = _MUOnote.md

Habituellement, AutoHotkey est utilisé pour affecter d'autres fenêtres, comme nous l'avons vu dans notre article sur comment centrer n'importe quelle fenêtre sur votre écran avec AutoHotkey, ou pour créer des raccourcis clavier, pour lesquels vous pouvez consulter notre guide sur créer des raccourcis clavier spécifiques à l'application avec AutoHotkey.

Cependant, dans ce scénario, nous nous appuierons beaucoup sur les capacités de création d'interface graphique d'AutoHotkey, que beaucoup de gens oublient. AutoHotkey "puise dans" la propre "boîte à outils de fenêtre" de Windows. Cela permet la création d'interfaces graphiques avec tous les éléments habituels que vous vous attendez à trouver dans une fenêtre de système d'exploitation "standard", des champs de texte et des menus déroulants aux boutons et barres de défilement.

Heureusement, puisque nous créons une application de prise de notes simple et "légère", le projet ne sera pas compliqué et, par conséquent, relativement facile à concevoir. Notre interface graphique ne sera composée que de trois éléments :

  1. Une zone de texte pour le titre de la note
  2. Un autre pour le contenu de la note
  3. Un bouton pour enregistrer la note.

Nous n'ajouterons même pas de bouton "Annuler" puisque nous mapperons cette fonction sur la touche Échap du clavier et l'action de fermer la fenêtre.

Ajoutez la ligne ci-dessous à votre script - elle "indique" essentiellement à AutoHotkey que la police de tout élément qui suit doit être "taille 14" et "couleur 666666".

Gui, QC:Police de caractère, s14c666666

Ensuite, la ligne suivante :

Gui, QC:Ajouter, Modifier, x5y5w550h60vTitre, Titre-Nom de fichier
  1. ...ajoute une zone de texte modifiable ("Modifier")...
  2. ...aux coordonnées 5 pixels horizontalement et 5 pixels verticalement du bord de la fenêtre ("x5 y5")...
  3. ...avec une largeur de 550 pixels et une hauteur de 60 pixels ("w550 h60").
  4. Tout ce qui y est tapé serait mappé à la variable Titre ("vTitle")...
  5. ...et il contiendra le texte "Titre - Nom du fichier".

Ensuite, changeons la taille de la police en 12 et sa couleur en 4444444 pour tous les éléments qui viennent après cette ligne.

Ensuite, ajoutez une zone de texte modifiable plus grande pour le contenu réel de la note, mappez-la à la variable Note et pré-remplissez-la avec tout ce qui se trouve déjà dans le presse-papiers.

Enfin, ajoutez un bouton sous les deux zones de texte et au bas de la fenêtre de l'application, mappé à la fonction OK par défaut du script.

Gui, QC:Police de caractère, s12c444444
Gui, QC:Ajouter, Modifier, x5y70w550h600vRemarque, %Presse-papiers%
Gui, QC:Ajouter, Bouton, x5y680w550h50, D'ACCORD

Nous avons créé une interface graphique, mais nous avons également besoin d'une fenêtre pour l'afficher.

Pour cela, la ligne suivante "indique" à AutoHotkey de créer une fenêtre aux coordonnées 0, 0 (horizontale, verticale), avec une largeur de 560 pixels et une hauteur de 735 pixels, nommée "MUONotes".

Gui, QC:Montrer, x0y0w560h735, MUONotes

Le script complet jusqu'à présent devrait ressembler à ceci :

NotesPath = A:\00_Cloud_Storage\Dropbox\Notes\Obsidian\Duckland! Boîte de réception
FileNameExtra = _MUOnote.md Gui, QN: Police, s14 c666666
Gui, QC:Ajouter, Modifier, x5y5w550h60vTitre, Titre-Nom de fichier
Gui, QC:Police de caractère, s12c444444
Gui, QC:Ajouter, Modifier, x5y70w550h600vRemarque, %Presse-papiers%
Gui, QC:Ajouter, Bouton, x5y680w550h50, D'ACCORD
Gui, QC:Montrer, x0y0w560h735, MUONotes

Faire en sorte que les boutons fassent quelque chose dans AutoHotkey

Notre interface graphique est prête - vous pouvez la vérifier en double-cliquant sur votre script.

Comme vous le verrez, la zone de la note principale sera pré-remplie avec le contenu du presse-papiers. Cependant, l'application elle-même sera inutile car nous n'avons pas encore ajouté de support pour enregistrer quoi que ce soit.

Corrigez cela en ajoutant ce qui suit à votre script :

QNButtonOK :
Encodage de fichier, UTF-8-RAW
Gui, QC:Soumettre
Presse-papiers temporaire = % Presse-papiers%
Presse-papiers = %Titre%
gosub CleanText
NomFichier = %ClipBoard%
Presse-papiers = %TempClipboard%
NomFichierFinal = %CheminNotes%\%NomFichier%%NomFichierExtra%
FileDelete, %FinalFileName%
FichierAjouter, %Note%, %FinalFileName%
retour

Démontons ça :

  1. "QNButtonOK :" indique que ce qui vient après est ce que AutoHotkey "devrait faire" lorsque le bouton OK par défaut de l'interface graphique est cliqué.
  2. La ligne "FileEncoding" définit l'encodage du fichier texte créé.
  3. "Gui, GN: Submit" saisit le statut de chaque élément de l'interface graphique, ce qui signifie qu'il "saisit" également tout ce qui est saisi dans les deux champs de texte.
  4. Nous copions ensuite temporairement le contenu réel du presse-papiers dans la variable TempClipboard.
  5. Nous faisons ce qui précède parce que nous voulons copier le titre de la note dans le presse-papiers, utilisé comme intermédiaire pour l'envoyer à une fonction que nous ajouterons ensuite. Cette fonction "assainira" le texte, supprimant les caractères non alphanumériques et nous permettant d'utiliser le texte du titre comme nom de fichier.
  6. La fonction de nettoyage renverra le titre "propre" dans le presse-papiers, d'où nous le mappons à la variable FileName.
  7. Nous renvoyons ensuite son contenu d'origine dans le presse-papiers à partir de la variable TempClipboard.
  8. Pour obtenir le chemin d'accès complet et le nom de fichier du fichier cible, nous « intercalons » la variable FileName nouvellement assemblée entre les variables NotesPath et FileNameExtra. C'est pourquoi nous les avons définis au début du script.
  9. Nous supprimons de manière préventive tout fichier précédent avec le même chemin et le même nom de fichier.
  10. Nous ajoutons le contenu de la variable Note au fichier FinalFileName.

Assainir le texte dans AutoHotkey

La fonction de « désinfection » que nous avons mentionnée ci-dessus est la suivante :

CleanText: CleanMePlease = %ClipBoard%
CleanMePlease := Regexreplace (CleanMePlease, "a-zA-Z0-9", "")
boucle
{
StringReplace, CleanMePlease, CleanMePlease, %A_SPACE%%A_SPACE%, %A_SPACE%, tous
si NiveauErreur <> 0
casser
}
Presse-papiers = %CleanMePlease%
Retour

Pour le parcourir ligne par ligne :

  1. "CleanText :" est le nom de la fonction qui "contient" les actions qui suivent.
  2. Nous mappons d'abord le contenu du presse-papiers à la variable CleanMePlease.
  3. Nous utilisons une règle RegEx pour supprimer tous les caractères non alphanumériques de la variable CleanMePlease.
  4. Étant donné que ce qui précède peut introduire des espaces doubles, nous utilisons une boucle pour parcourir à nouveau la variable CleanMePlease, en les remplaçant par des espaces simples. C'est le bit avec les deux "%A_SPACE%", suivis d'un seul, et du mot "all".
  5. La ligne ErrorLevel "indique" à AutoHotkey de "casser la boucle" lorsqu'il ne trouve plus d'espaces doubles dans le texte.
  6. Enfin, nous renvoyons la version « aseptisée » de la variable CleanMePlease dans le presse-papiers.

Apporter les derniers ajustements à votre application de prise de notes

Votre script de prise de notes est prêt à être utilisé, mais si vous l'essayez, vous pourriez voir sa fenêtre apparaître et disparaître instantanément. C'est parce que vous devez également "retourner" chaque fonction que vous y avez définie.

Placez donc le mot "retour" (sans guillemets) sous :

  1. La partie de création d'interface graphique du script, sous l'interface graphique, ligne "QN: Afficher...".
  2. La fonction "QNButtonOK", sous la dernière ligne "FileAppend...".
  3. La fonction CleanText, sous la dernière ligne "ClipBoard =...".

Cependant, si vous essayez d'exécuter votre script maintenant, vous verrez qu'il persiste dans la barre d'état Windows après l'avoir utilisé. Pour que l'application se ferme et que le script se ferme complètement, ajoutez ce qui suit à la toute fin :

QNGuiEscape :
QNGuiFermer :
QuitterApp
retour

Enfin, pour que l'application s'exécute instantanément chaque fois que vous en avez besoin, créez un raccourci pour votre script sur votre bureau. Ensuite, faites un clic droit dessus, choisissez Propriétés, cliquez dans le Touche de raccourci champ et appuyez sur la combinaison de boutons souhaitée.

Félicitations pour la création de votre première application dans AutoHotkey

Au départ, cela pouvait sembler être un projet compliqué, mais comme nous l'avons vu, créer une application de prise de notes "légère" était assez simple.

Tout cela grâce à la syntaxe conviviale d'AutoHotkey et à sa capacité à tirer parti des éléments liés à l'interface graphique par défaut de Windows.