Letar du efter en lätt, ultrasnabb, lättillgänglig anteckningslösning? Sök på nätet så hittar du otaliga förslag på sådana appar. Och ändå, även de "lättaste" är ofta klumpiga och kan komma med funktioner som du personligen kan anse vara värdelösa.

Så låt oss se hur du kan skapa din egen ultralätta, blixtsnabb, anpassade anteckningsapp med AutoHotkey. En enkel anteckningslösning utan krusiduller som kommer att kunna dyka upp på din skärm direkt med en enda knapptryckning.

Konfigurera en plan för anteckningar med AutoHotkey

Låt oss börja med att tydligt ange vårt slutliga mål och utarbeta en enkel plan för att nå dit.

För det här projektet behöver vi ingen snygg textformatering, stöd för mallar eller andra "avancerade" funktioner. Vårt mål?

  • Vi vill skapa en ultraenkel app som kommer att dyka upp på vår skärm när vi trycker på en snabbtangentskombination.
  • Detta fönster tillåter oss att anteckna en anteckning och spara den i en vanlig text/MarkDown-fil.

Och det är allt – inga extra fönster, dialogrutor, menyer eller knappar.

instagram viewer

Tack och lov är ett sådant projekt lätt att bygga med AutoHotkey, som vi kommer att se härnäst. Följ gärna även om du inte har använt AutoHotkey tidigare. Det kan dock vara bäst om du först kollade vår snabb AutoHotkey-guide för nybörjare.

Hur man installerar AutoHotkey

Eftersom AutoHotkey är en tredjepartslösning måste du installera den för att kunna använda den.

Så gör ett besök på AutoHotkeys officiella webbplats, och klicka på den vänliga gröna Ladda ner knapp. Hoppa över både V1 (föråldrade) och V2 (beta) versioner och välj att Ladda ner aktuell version. Installera det sedan på din dator.

Du kommer inte att kunna märka några ändringar efteråt eftersom AutoHotkey bara fungerar som en parser för AutoHotkey-skript. Med andra ord, AutoHotkey "gör ingenting" på egen hand. Istället fungerar det som plattformen där skriptet vi kommer att skapa härnäst kommer att köras på.

Hur man gör ett nytt skript i AutoHotkey

Öppna din favoritfilhanterare, som Windows File Explorer, och peka på den katalog där du vill skapa ditt nya skript. Du kan välja vilken katalog som helst från skrivbordet till din personliga dokumentmapp.

Det enklaste sättet att skapa ett nytt AutoHotkey-skript är genom att dra nytta av det nya alternativet som är tillgängligt via högerklicksmenyn efter installation av AutoHotkey. Högerklicka på en tom plats i filhanterarens fönster och välj från menyn som visas Ny > AutoHotkey-skript.

Eftersom AutoHotkey-skript faktiskt är vanliga textfiler kan du alternativt skapa en ny textfil och sedan byta namn på den, ändra dess tillägg från Text till AHK. Slutresultatet blir detsamma: du kommer att ha ett nytt tomt AutoHotkey-skript.

Starta din favorittext- eller kodredigerare och öppna skriptet där för att redigera det. För den här artikeln kommer vi att använda Notepad++, men du kan använda vilket liknande verktyg som helst, som VS Code eller Atom.

Naturligtvis, om du föredrar att hålla saker enkelt, kan du alltid använda det gamla goda Anteckningsblocket som följer med Windows.

Skapa ett GUI i AutoHotkey

För att förenkla framtida anpassning av vårt skript, låt oss lagra två viktiga delar av information i två variabler.

  • Den första, som vi döpte till NotesPath, är mappad till den fullständiga sökvägen där vi vill att vårt skript ska spara våra anteckningar. Kom ihåg att ändra sökvägen till den du vill använda. Annars kommer dina anteckningar att sparas på en oväntad plats, eller så misslyckas skriptet.
  • Den andra, som vi döpte till FileNameExtra, innehåller en sträng som vi kommer att använda för våra anteckningars filnamn. Varje anteckningsfil kommer att namnges efter en "sanerad" version av dess titel, följt av denna sträng.

Det ska se ut så här:

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

Vanligtvis används AutoHotkey för att påverka andra fönster, som vi såg i vår artikel om hur du centrerar ett fönster på din skärm med AutoHotkey, eller för att skapa snabbtangenter, för vilka du kan kolla vår guide på skapa appspecifika snabbtangenter med AutoHotkey.

Men i det här scenariot kommer vi att förlita oss mycket på AutoHotkeys funktioner för att skapa GUI, som många glömmer bort. AutoHotkey "tackar på" Windows egna "fönsterverktygslåda". Detta möjliggör skapandet av GUI: er med alla vanliga element du kan förvänta dig att hitta i ett "standard" OS-fönster, från textfält och rullgardinsmenyer till knappar och rullningslister.

Tack och lov, eftersom vi gör en enkel och "lite" anteckningsapp kommer projektet inte att vara komplicerat och därmed relativt lätt att skapa. Vårt gränssnitt kommer endast att bestå av tre element:

  1. En textruta för anteckningens titel
  2. Ytterligare en för anteckningens innehåll
  3. En knapp för att spara anteckningen.

Vi kommer inte ens lägga till en "Avbryt"-knapp eftersom vi mappar den funktionen till Escape-tangenten på tangentbordet och åtgärden att stänga fönstret.

Lägg till raden nedan i ditt skript - det "berättar" i princip för AutoHotkey att teckensnittet i alla element som följer ska vara "storlek 14" och "färg 666666".

Gui, QN:Font, s14c666666

Därefter följande rad:

Gui, QN:Lägg till, Redigera, x5y5w550h60vTitle, Titel-Filnamn
  1. ...lägger till en redigerbar textruta ("Redigera")...
  2. ...vid koordinater 5 pixlar horisontellt och 5 pixlar vertikalt från kanten av fönstret ("x5 y5")...
  3. ...med en bredd på 550 pixlar och en höjd på 60 pixlar ("w550 h60").
  4. Allt som skrivs i det skulle mappas till titelvariabeln ("vTitle")...
  5. ...och den kommer att innehålla texten "Titel - Filnamn".

Låt oss sedan ändra teckenstorleken till 12 och dess färg till 4444444 för alla element som kommer efter den raden.

Lägg sedan till en större redigerbar textruta för det faktiska innehållet i anteckningen, mappa den till anteckningsvariabeln och fyll den i förväg med allt som redan finns i urklippet.

Lägg slutligen till en knapp under de två textrutorna och längst ner i appens fönster, mappad till skriptets standard OK-funktion.

Gui, QN:Font, s12c444444
Gui, QN:Lägg till, Redigera, x5y70w550h600vObs, %Urklipp%
Gui, QN:Lägg till, Knapp, x5y680w550h50, OK

Vi har skapat ett GUI, men vi behöver också ett fönster för att visa det.

För det, "berättar följande rad" AutoHotkey att skapa ett fönster vid koordinaterna 0, 0 (horisontellt, vertikalt), med 560 pixlars bredd och 735 pixlars höjd, kallat "MUONotes".

Gui, QN:Show, x0y0w560h735, MUONoteringar

Hela skriptet hittills bör se ut ungefär så här:

NotesPath = A:\00_Cloud_Storage\Dropbox\Notes\Obsidian\Duckland! Inkorg
FileNameExtra = _MUOnote.md Gui, QN: Font, s14 c666666
Gui, QN:Lägg till, Redigera, x5y5w550h60vTitle, Titel-Filnamn
Gui, QN:Font, s12c444444
Gui, QN:Lägg till, Redigera, x5y70w550h600vObs, %Urklipp%
Gui, QN:Lägg till, Knapp, x5y680w550h50, OK
Gui, QN:Show, x0y0w560h735, MUONoteringar

Få knapparna att göra något i AutoHotkey

Vårt gränssnitt är klart – du kan kolla upp det genom att dubbelklicka på ditt skript.

Som du kommer att se kommer huvudanteckningens område att vara förbefolkat med urklippets innehåll. Appen i sig kommer dock att vara värdelös eftersom vi ännu inte har lagt till stöd för att spara något.

Åtgärda det genom att lägga till följande i ditt skript:

QNButtonOK:
Filkodning, UTF-8-RAW
Gui, QN:Skicka in
TempClipboard = %Clipboard%
Urklipp = %Titel%
gosub CleanText
Filnamn = %Urklipp%
Urklipp = %TempClipboard%
FinalFilename = %NotesPath%\%FileName%%FileNameExtra%
FileDelete, %FinalFileName%
FileAppend, %Note%, %FinalFileName%
lämna tillbaka

Låt oss ta isär det:

  1. "QNButtonOK:" anger att det som kommer efter är vad AutoHotkey "ska göra" när standardknappen OK i GUI klickas.
  2. Raden "FileEncoding" ställer in den skapade textfilens kodning.
  3. "Gui, GN: Submit" tar statusen för varje GUI-element, vilket betyder att det också "griper" allt som skrivits i de två textfälten.
  4. Vi kopierar sedan tillfälligt urklippets faktiska innehåll till TempClipboard-variabeln.
  5. Vi gör ovanstående eftersom vi vill kopiera anteckningens titel till urklipp, som används som mellanhand för att skicka den till en funktion som vi lägger till härnäst. Denna funktion kommer att "sanera" texten, ta bort icke-alfanumeriska tecken och tillåta oss att använda titelns text som ett filnamn.
  6. Saneringsfunktionen kommer att returnera den "rena" titeln till klippbordet, varifrån vi mappar den till filnamnsvariabeln.
  7. Vi returnerar sedan dess ursprungliga innehåll till urklipp från TempClipboard-variabeln.
  8. För att få den fullständiga sökvägen och filnamnet för målfilen "sandwich" vi den nyligen sammansatta FileName-variabeln mellan NotesPath och FileNameExtra-variablerna. Det är därför vi definierade dem i början av manuset.
  9. Vi raderar förebyggande alla tidigare filer med samma sökväg och filnamn.
  10. Vi lägger till Note-variabelns innehåll till FinalFileName-filen.

Sanering av texten i AutoHotkey

Funktionen "sanering" som vi nämnde ovan är följande:

CleanText: CleanMePlease = %ClipBoard%
CleanMePlease := Regexreplace (CleanMePlease, "a-zA-Z0-9", "")
slinga
{
StringReplace, CleanMePlease, CleanMePlease, %A_SPACE%%A_SPACE%, %A_SPACE%, alla
om ErrorLevel <> 0
ha sönder
}
Urklipp = %CleanMePlease%
Lämna tillbaka

För att gå igenom det rad för rad:

  1. "CleanText:" är namnet på funktionen som "innehåller" de åtgärder som följer.
  2. Vi mappar först urklippets innehåll till variabeln CleanMePlease.
  3. Vi använder en RegEx-regel för att ta bort alla icke-alfanumeriska tecken från CleanMePlease-variabeln.
  4. Eftersom ovanstående kan introducera dubbla mellanslag använder vi en slinga för att kamma igenom CleanMePlease-variabeln en gång till, och ersätter dem med enkla mellanslag. Det är biten med de två "%A_SPACE%", följt av en enda, och ordet "alla".
  5. Felnivåraden "säger" AutoHotkey att "bryta loopen" när den inte kan hitta fler dubbla mellanslag i texten.
  6. Slutligen returnerar vi den "sanerade" versionen av CleanMePlease-variabeln till urklippet.

Gör de sista justeringarna av din anteckningsapp

Ditt anteckningsskript är klart att använda, men om du provar det kan du se att dess fönster dyker upp och försvinner omedelbart. Det beror på att du också behöver "returnera" varje funktion du definierat i den.

Så placera ordet "retur" (utan citattecken) under:

  1. Den GUI-skapande delen av skriptet, under GUI, "QN: Show..."-raden.
  2. Funktionen "QNButtonOK" under den sista "FileAppend..."-raden.
  3. CleanText-funktionen, under den sista "Urklipp =..."-raden.

Men om du försöker köra ditt skript nu kommer du att se att det fortfarande ligger kvar i Windows-facket efter att du har använt det. För att appen ska stängas och skriptet avslutas helt, lägg till följande i slutet:

QNGuiEscape:
QNGuiClose:
ExitApp
lämna tillbaka

Slutligen, för att få appen att köras omedelbart när du behöver den, skapa en genväg för ditt skript på skrivbordet. Högerklicka sedan på den, välj Egenskaper, klicka i Snabbtangent och tryck på önskad knappkombination.

Grattis till att du har skapat din första app i AutoHotkey

Det kanske från början lät som ett komplicerat projekt, men som vi såg var det ganska enkelt att skapa en "lite" anteckningsapp.

Allt tack vare AutoHotkeys människovänliga syntax och förmåga att dra nytta av Windows standard GUI-relaterade element.