Leder du efter en let, ultrahurtig, let tilgængelig noteløsning? Søg på nettet, og du vil finde utallige forslag til sådanne apps. Og alligevel er selv de "letteste" ofte klodsede og kan komme med funktioner, som du personligt kan betragte som ubrugelige.

Så lad os se, hvordan du kan skabe din egen ultralette, lynhurtige, brugerdefinerede note-app ved hjælp af AutoHotkey. En enkel løsning til at tage notater uden dikkedarer, der vil være i stand til at dukke op på din skærm med det samme med et enkelt tastetryk.

Opsætning af en plan for notetagning med AutoHotkey

Lad os begynde med klart at angive vores endelige mål og udtænke en enkel plan for at komme dertil.

Til dette projekt har vi ikke brug for nogen fancy tekstformatering, understøttelse af skabeloner eller andre "avancerede" funktioner. Vores mål?

  • Vi ønsker at skabe en ultra-simpel app, der dukker op på vores skærm, når vi trykker på en genvejstastkombination.
  • Dette vindue giver os mulighed for at skrive en note ned og få den gemt i en almindelig tekst/MarkDown-fil.
instagram viewer

Og det er alt – ingen ekstra vinduer, dialogbokse, menuer eller knapper.

Heldigvis er sådan et projekt nemt at bygge med AutoHotkey, som vi skal se næste gang. Følg gerne med, selvom du ikke har brugt AutoHotkey før. Det kan dog være bedst, hvis du først tjekkede vores hurtig AutoHotkey-guide for begyndere.

Sådan installeres AutoHotkey

Da AutoHotkey er en tredjepartsløsning, skal du installere den for at bruge den.

Så læg et besøg hos AutoHotkeys officielle side, og klik på den venlige grønne Hent knap. Spring både V1 (forældet) og V2 (beta) versionerne over, og vælg at Download den aktuelle version. Installer det derefter på din computer.

Du vil ikke kunne bemærke nogen ændringer efterfølgende, da AutoHotkey kun fungerer som en parser for AutoHotkey-scripts. Med andre ord "gør AutoHotkey ikke noget" alene. I stedet fungerer det som den platform, hvorpå det script, vi skal lave næste gang, kører.

Sådan laver du et nyt script i AutoHotkey

Åbn din foretrukne filhåndtering, f.eks Windows File Explorer, og peg den til den mappe, hvor du vil oprette dit nye script. Du kan vælge en hvilken som helst mappe fra dit skrivebord til din personlige mappe med dokumenter.

Den nemmeste måde at oprette et nyt AutoHotkey-script på er ved at drage fordel af den nye mulighed, der er tilgængelig via højreklik-kontekstmenuen efter installation af AutoHotkey. Højreklik på et tomt sted i filhåndteringens vindue, og vælg fra den menu, der vises Ny > AutoHotkey-script.

Da AutoHotkey-scripts faktisk er almindelige tekstfiler, kan du alternativt oprette en ny tekstfil og derefter omdøbe den og ændre dens udvidelse fra TXT til AHK. Det endelige resultat vil være det samme: du vil have et nyt tomt AutoHotkey-script.

Tænd din foretrukne tekst- eller kodeeditor, og åbn scriptet der for at redigere det. Til denne artikel bruger vi Notepad++, men du kan bruge ethvert lignende værktøj, som VS Code eller Atom.

Hvis du foretrækker at holde tingene enkle, kan du selvfølgelig altid bruge den gode gamle Notesblok, der følger med Windows.

Udarbejdelse af en GUI i AutoHotkey

For at forenkle fremtidig tilpasning af vores script, lad os gemme to væsentlige oplysninger i to variabler.

  • Den første, som vi kaldte NotesPath, er kortlagt til den fulde sti, hvor vi ønsker, at vores script skal gemme vores noter. Husk at ændre stien til den, du vil bruge. Ellers vil dine noter blive gemt på et uventet sted, eller scriptet mislykkes.
  • Den anden, som vi kaldte FileNameExtra, har en streng, vi vil bruge til vores noters filnavne. Hver notes fil vil blive opkaldt efter en "sanitiseret" version af dens titel, efterfulgt af denne streng.

Det skal se sådan ud:

NotesPath = A:\00_Cloud_Storage\Dropbox\Notes\Obsidian\Duckland! Indbakke
FileNameExtra = _MUOnote.md

Normalt bruges AutoHotkey til at påvirke andre vinduer, som vi så i vores artikel om hvordan du centrerer et hvilket som helst vindue på din skærm med AutoHotkey, eller til at oprette genvejstaster, som du kan tjekke vores guide på laver app-specifikke genvejstaster med AutoHotkey.

Men i dette scenarie vil vi stole meget på AutoHotkeys GUI-oprettelsesmuligheder, som mange mennesker glemmer. AutoHotkey "tapper ind i" Windows' eget "vindueværktøjssæt". Dette muliggør oprettelsen af ​​GUI'er med alle de sædvanlige elementer, du ville forvente at finde i et "standard" OS-vindue, fra tekstfelter og rullemenuer til knapper og rullepaneler.

Heldigvis, da vi laver en enkel og "lette" note-app, vil projektet ikke være kompliceret og dermed relativt nemt at lave. Vores GUI vil kun bestå af tre elementer:

  1. Ét tekstfelt til notens titel
  2. Endnu en til notens indhold
  3. En knap til at gemme noten.

Vi vil ikke engang tilføje en "Annuller"-knap, da vi vil knytte denne funktion til Escape-tasten på tastaturet og handlingen med at lukke vinduet.

Tilføj linjen nedenfor til dit script - det "fortæller" dybest set AutoHotkey, at skrifttypen i ethvert element, der følger, skal være "størrelse 14" og "farve 666666".

Gui, QN: Skrifttype, s14c666666

Dernæst følgende linje:

Gui, QN:Tilføje, Redigere, x5y5w550h60vTitle, Titel-Filnavn
  1. ...tilføjer en redigerbar tekstboks ("Rediger")...
  2. ...ved koordinaterne 5 pixels vandret og 5 pixels lodret fra kanten af ​​vinduet ("x5 y5")...
  3. ...med en bredde på 550 pixels og en højde på 60 pixels ("w550 h60").
  4. Alt, der indtastes i det, vil blive knyttet til titelvariablen ("vTitle")...
  5. ...og det vil indeholde teksten "Titel - Filnavn".

Lad os derefter ændre skriftstørrelsen til 12 og dens farve til 4444444 for alle elementer, der kommer efter den linje.

Tilføj derefter en større redigerbar tekstboks til det faktiske indhold af noten, tilknyt den til Note-variablen og udfyld den på forhånd med noget, der allerede er i udklipsholderen.

Tilføj endelig en knap under de to tekstbokse og nederst i appens vindue, der er knyttet til scriptets standard OK-funktion.

Gui, QN: Skrifttype, s12c444444
Gui, QN:Tilføje, Redigere, x5y70w550h600vBemærk, %Udklipsholder%
Gui, QN:Tilføje, Knap, x5y680w550h50, Okay

Vi har lavet en GUI, men vi har også brug for et vindue til at vise det.

Til det "beder" den følgende linje AutoHotkey om at oprette et vindue ved koordinaterne 0, 0 (vandret, lodret), med 560 pixels bredde og 735 pixels højde, kaldet "MUONotes".

Gui, QN:At vise, x0y0w560h735, MUONoter

Det fulde script indtil nu skulle se nogenlunde sådan ud:

NotesPath = A:\00_Cloud_Storage\Dropbox\Notes\Obsidian\Duckland! Indbakke
FileNameExtra = _MUOnote.md Gui, QN: Font, s14 c666666
Gui, QN:Tilføje, Redigere, x5y5w550h60vTitle, Titel-Filnavn
Gui, QN: Skrifttype, s12c444444
Gui, QN:Tilføje, Redigere, x5y70w550h600vBemærk, %Udklipsholder%
Gui, QN:Tilføje, Knap, x5y680w550h50, Okay
Gui, QN:At vise, x0y0w560h735, MUONoter

Få knapperne til at gøre noget i AutoHotkey

Vores GUI er klar - du kan tjekke det ud ved at dobbeltklikke på dit script.

Som du vil se, vil hovednotens område være præ-udfyldt med udklipsholderens indhold. Selve appen vil dog være ubrugelig, fordi vi endnu ikke har tilføjet support til at gemme noget.

Løs det ved at tilføje følgende til dit script:

QNButtonOK:
Filkodning, UTF-8-RAW
Gui, QN:Indsend
TempClipboard = %Clipboard%
Udklipsholder = %Titel%
gosub CleanText
Filnavn = %Udklipsholder%
Udklipsholder = %TempClipboard%
FinalFilename = %NotesPath%\%FileName%%FileNameExtra%
FileDelete, %FinalFileName%
FileAppend, %Note%, %FinalFileName%
Vend tilbage

Lad os skille det ad:

  1. "QNButtonOK:" angiver, at det, der kommer efter, er, hvad AutoHotkey "bør gøre", når der klikkes på standard OK-knappen i GUI'en.
  2. Linjen "FileEncoding" indstiller den oprettede tekstfils kodning.
  3. "Gui, GN: Submit" fanger status for hvert GUI-element, hvilket betyder, at det også "griber" alt, der er skrevet i de to tekstfelter.
  4. Vi kopierer derefter midlertidigt udklipsholderens faktiske indhold til TempClipboard-variablen.
  5. Vi gør ovenstående, fordi vi ønsker at kopiere notens titel til udklipsholderen, brugt som mellemled til at sende den til en funktion, vi tilføjer næste gang. Denne funktion vil "sanere" teksten, fjerne ikke-alfanumeriske tegn og tillade os at bruge titlens tekst som et filnavn.
  6. Saneringsfunktionen returnerer den "rene" titel til udklipsholderen, hvorfra vi kortlægger den til variabelen FileName.
  7. Vi returnerer derefter dets oprindelige indhold til udklipsholderen fra TempClipboard-variablen.
  8. For at få den fulde sti og filnavn til målfilen "sandwich" vi den nyligt sammensatte FileName-variabel mellem NotesPath- og FileNameExtra-variablerne. Det er derfor, vi definerede dem i begyndelsen af ​​manuskriptet.
  9. Vi sletter forebyggende enhver tidligere fil med samme sti og filnavn.
  10. Vi tilføjer Note-variablens indhold til FinalFileName-filen.

Rengøring af teksten i AutoHotkey

Funktionen "sanering" vi nævnte ovenfor er følgende:

CleanText: CleanMePlease = %ClipBoard%
CleanMePlease := Regexreplace (CleanMePlease, "a-zA-Z0-9", "")
sløjfe
{
StringReplace, CleanMePlease, CleanMePlease, %A_SPACE%%A_SPACE%, %A_SPACE%, alle
hvis ErrorLevel <> 0
pause
}
Udklipsholder = %CleanMePlease%
Vend tilbage

For at gennemgå det linje for linje:

  1. "CleanText:" er navnet på den funktion, der "indeholder" de handlinger, der følger.
  2. Vi kortlægger først udklipsholderens indhold til CleanMePlease-variablen.
  3. Vi bruger en RegEx-regel til at fjerne alle ikke-alfanumeriske tegn fra CleanMePlease-variablen.
  4. Da ovenstående kan introducere dobbelte mellemrum, bruger vi en løkke til at finkæmme CleanMePlease-variablen igen, og erstatter dem med enkelte mellemrum. Det er lidt med de to "%A_SPACE%", efterfulgt af en enkelt, og ordet "alle".
  5. ErrorLevel-linjen "fortæller" AutoHotkey at "bryde løkken", når den ikke kan finde flere dobbelte mellemrum i teksten.
  6. Til sidst returnerer vi den "sanitiserede" version af CleanMePlease-variablen til udklipsholderen.

Sådan laver du de sidste justeringer af din note-app

Dit notescript er klar til brug, men hvis du prøver det, vil du muligvis se vinduet poppe op og forsvinde øjeblikkeligt. Det er fordi, du også skal "returnere" hver funktion, du har defineret i den.

Så placer ordet "retur" (uden anførselstegn) under:

  1. Den GUI-skabende del af scriptet, under GUI, "QN: Show..."-linjen.
  2. Funktionen "QNButtonOK" under den sidste "FileAppend..." linje.
  3. CleanText-funktionen under den sidste "Udklipsholder =..." linje.

Men hvis du prøver at køre dit script nu, vil du se, at det stadig dvæler i Windows-bakken efter at have brugt det. For at få appen til at lukke, og scriptet afsluttes helt, skal du tilføje følgende til allersidst:

QNGuiEscape:
QNGuiClose:
AfslutApp
Vend tilbage

Til sidst, for at få appen til at køre øjeblikkeligt, når du har brug for den, skal du oprette en genvej til dit script på dit skrivebord. Højreklik derefter på den, vælg Ejendomme, klik i Genvejstast felt, og tryk på den ønskede knapkombination.

Tillykke med at lave din første app i AutoHotkey

Det kunne i første omgang have lød som et kompliceret projekt, men som vi så, var det ret ligetil at oprette en "lite" note-app.

Alt sammen takket være AutoHotkeys menneskevenlige syntaks og evne til at drage fordel af Windows' standard GUI-relaterede elementer.