Tražite li lagano, ultrabrzo i lako dostupno rješenje za bilježenje? Pretražujte na internetu i pronaći ćete bezbroj prijedloga za takve aplikacije. Pa ipak, čak i oni "najlakši" često su nezgrapni i mogu imati značajke koje biste osobno mogli smatrati beskorisnim.

Dakle, pogledajmo kako možete izraditi vlastitu ultra laganu, munjevito brzu aplikaciju za bilježenje po narudžbi pomoću AutoHotkeyja. Jednostavno, jednostavno rješenje za bilježenje koje će se moći odmah pojaviti na vašem zaslonu jednim pritiskom na tipku.

Postavljanje plana za bilježenje s AutoHotkeyjem

Započnimo jasnim navođenjem našeg konačnog cilja i osmišljavanjem jednostavnog plana kako do njega doći.

Za ovaj projekt ne trebamo nikakvo otmjeno oblikovanje teksta, podršku za predloške ili druge "napredne" značajke. Naš cilj?

  • Želimo stvoriti iznimno jednostavnu aplikaciju koja će se pojaviti na našem zaslonu kada pritisnemo kombinaciju prečaca.
  • Ovaj prozor će nam omogućiti da zabilježimo bilješku i spremimo je u običan tekst/MarkDown datoteku.
instagram viewer

I to je sve—bez dodatnih prozora, dijaloških okvira, izbornika ili gumba.

Srećom, takav je projekt lako izgraditi s AutoHotkeyem, kao što ćemo vidjeti sljedeće. Slobodno pratite čak i ako prije niste koristili AutoHotkey. Međutim, možda bi bilo najbolje da prvo provjerite naš brzi vodič za AutoHotkey za početnike.

Kako instalirati AutoHotkey

Budući da je AutoHotkey rješenje treće strane, da biste ga koristili, morate ga instalirati.

Stoga, posjetite Službena stranica AutoHotkeya, i kliknite na prijateljsko zeleno preuzimanje datoteka dugme. Preskočite i V1 (zastarjelu) i V2 (beta) verziju i odaberite Preuzmite trenutnu verziju. Zatim ga instalirajte na svoje računalo.

Nakon toga nećete moći primijetiti nikakve promjene jer AutoHotkey radi samo kao parser za AutoHotkey skripte. Drugim riječima, AutoHotkey ne "radi ništa" sam. Umjesto toga, radi kao platforma na kojoj će se izvoditi skripta koju ćemo napraviti sljedeći.

Kako napraviti novu skriptu u AutoHotkey

Otvorite svoj omiljeni upravitelj datoteka, npr Windows File Explorer, i usmjerite ga na direktorij u kojem želite stvoriti svoju novu skriptu. Možete odabrati bilo koji direktorij s radne površine u mapu osobnih dokumenata.

Najlakši način za stvaranje nove AutoHotkey skripte je iskorištavanje prednosti nove opcije dostupne kroz kontekstni izbornik desnom tipkom miša nakon instaliranja AutoHotkey. Desnom tipkom miša kliknite na prazno mjesto u prozoru upravitelja datoteka i iz izbornika koji se pojavi odaberite Novi > AutoHotkey skripta.

Budući da su AutoHotkey skripte zapravo obične tekstualne datoteke, alternativno možete stvoriti novu tekstualnu datoteku i zatim je preimenovati, mijenjajući njen nastavak iz TXT do AHK. Konačni rezultat bit će isti: imat ćete novu praznu AutoHotkey skriptu.

Pokrenite svoj omiljeni uređivač teksta ili koda i tamo otvorite skriptu da biste je uredili. Za ovaj članak koristit ćemo Notepad++, ali možete koristiti bilo koji sličan alat, poput VS Code ili Atom.

Naravno, ako više volite da stvari budu jednostavne, uvijek možete koristiti stari dobri Notepad koji dolazi uz Windows.

Izrada GUI-ja u AutoHotkeyu

Kako bismo pojednostavili buduću prilagodbu naše skripte, pohranimo dvije bitne informacije u dvije varijable.

  • Prvi, koji smo nazvali NotesPath, mapiran je na punu stazu gdje želimo da naša skripta sprema naše bilješke. Ne zaboravite promijeniti stazu na onu koju želite koristiti. U protivnom će vaše bilješke biti spremljene na neočekivano mjesto ili skripta neće uspjeti.
  • Drugi, koji smo nazvali FileNameExtra, sadrži niz koji ćemo koristiti za nazive datoteka naših bilježaka. Datoteka svake bilješke bit će nazvana prema "očišćenoj" verziji naslova, nakon čega slijedi ovaj niz.

Trebalo bi izgledati ovako:

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

AutoHotkey se obično koristi za utjecaj na druge prozore, kao što smo vidjeli u našem članku kako centrirati bilo koji prozor na zaslonu pomoću AutoHotkeya, ili za stvaranje prečaca, za što možete provjeriti naš vodič na stvaranje prečaca specifičnih za aplikaciju s AutoHotkeyjem.

Međutim, u ovom ćemo se scenariju puno oslanjati na AutoHotkeyjeve mogućnosti stvaranja GUI-a, na koje mnogi ljudi zaboravljaju. AutoHotkey "dodiruje" Windowsov vlastiti "window toolkit". To omogućuje stvaranje GUI-ja sa svim uobičajenim elementima koje biste očekivali pronaći u "standardnom" prozoru OS-a, od tekstualnih polja i padajućih izbornika do gumba i klizača.

Srećom, budući da izrađujemo jednostavnu i "laku" aplikaciju za bilježenje, projekt neće biti kompliciran i stoga ga je relativno lako izraditi. Naš GUI će se sastojati od samo tri elementa:

  1. Jedan tekstni okvir za naslov bilješke
  2. Još jedan za sadržaj bilješke
  3. Gumb za spremanje bilješke.

Nećemo čak ni dodati gumb "Odustani" jer ćemo tu funkciju preslikati na tipku Escape na tipkovnici i radnju zatvaranja prozora.

Dodajte donji redak svojoj skripti - on u osnovi "govori" AutoHotkeyu da font u bilo kojem elementu koji slijedi treba biti "veličina 14" i "boja 666666".

Gui, QN:Font, s14c666666

Zatim, sljedeći redak:

Gui, QN:Dodati, Uredi, x5y5w550h60vNaslov, Titula-Naziv datoteke
  1. ...dodaje tekstualni okvir za uređivanje ("Uredi")...
  2. ...na koordinatama 5 piksela vodoravno i 5 piksela okomito od ruba prozora ("x5 y5")...
  3. ...sa širinom od 550 piksela i visinom od 60 piksela ("w550 h60").
  4. Sve što je u njemu upisano bit će preslikano u varijablu Title ("vTitle")...
  5. ...i sadržavat će tekst "Naslov - Naziv datoteke".

Zatim promijenimo veličinu fonta na 12 i njegovu boju na 4444444 za sve elemente koji dolaze nakon tog retka.

Zatim dodajte veći tekstni okvir koji se može uređivati ​​za stvarni sadržaj bilješke, preslikajte ga na varijablu Bilješka i unaprijed ga popunite bilo čime što se već nalazi u međuspremniku.

Na kraju dodajte gumb ispod dva tekstualna okvira i na dnu prozora aplikacije, preslikan na zadanu funkciju OK skripte.

Gui, QN:Font, s12c444444
Gui, QN:Dodati, Uredi, x5y70w550h600vNapomena, %Međuspremnik%
Gui, QN:Dodati, Dugme, x5y680w550h50, u redu

Stvorili smo GUI, ali trebamo i prozor za njegov prikaz.

Za to, sljedeći redak "govori" AutoHotkey da stvori prozor na koordinatama 0, 0 (vodoravno, okomito), širine 560 piksela i visine 735 piksela, pod nazivom "MUONotes".

Gui, QN:Pokazati, x0y0w560h735, MUONotes

Puna skripta do sada bi trebala izgledati otprilike ovako:

NotesPath = A:\00_Cloud_Storage\Dropbox\Notes\Obsidian\Duckland! Inbox
FileNameExtra = _MUOnote.md Gui, QN: Font, s14 c666666
Gui, QN:Dodati, Uredi, x5y5w550h60vNaslov, Titula-Naziv datoteke
Gui, QN:Font, s12c444444
Gui, QN:Dodati, Uredi, x5y70w550h600vNapomena, %Međuspremnik%
Gui, QN:Dodati, Dugme, x5y680w550h50, u redu
Gui, QN:Pokazati, x0y0w560h735, MUONotes

Natjerati gumbe da rade nešto u AutoHotkeyju

Naš GUI je spreman—možete ga provjeriti dvostrukim klikom na svoju skriptu.

Kao što ćete vidjeti, područje glavne bilješke bit će unaprijed popunjeno sadržajem međuspremnika. Međutim, sama aplikacija bit će beskorisna jer još nismo dodali podršku za spremanje bilo čega.

Popravite to dodavanjem sljedećeg u skriptu:

QNButtonOK:
Kodiranje datoteke, UTF-8-RAW
Gui, QN:Podnijeti
TempClipboard = %ClipBoard%
Međuspremnik = %Naslov%
gosub CleanText
Naziv datoteke = %ClipBoard%
Međuspremnik = %Privremeni međuspremnik%
FinalFilename = %NotesPath%\%FileName%%FileNameExtra%
FileDelete, %FinalFileName%
FileAppend, %Note%, %FinalFileName%
povratak

Rastavimo to:

  1. "QNButtonOK:" navodi da ono što dolazi nakon je ono što bi AutoHotkey "trebao učiniti" kada se klikne na zadani gumb OK GUI-ja.
  2. Redak "FileEncoding" postavlja kodiranje stvorene tekstualne datoteke.
  3. "Gui, GN: Submit" hvata status svakog GUI elementa, što znači da također "hvata" sve što je upisano u dva tekstualna polja.
  4. Zatim privremeno kopiramo stvarni sadržaj međuspremnika u varijablu TempClipboard.
  5. Gore navedeno radimo jer želimo kopirati naslov bilješke u međuspremnik, koji se koristi kao posrednik za slanje funkciji koju ćemo dodati sljedeće. Ova funkcija će "sanirati" tekst, uklanjajući nealfanumeričke znakove i dopuštajući nam da koristimo tekst naslova kao naziv datoteke.
  6. Funkcija sanitizacije vratit će "čisti" naslov u međuspremnik, odakle ga mapiramo u varijablu FileName.
  7. Zatim vraćamo njegov izvorni sadržaj u međuspremnik iz varijable TempClipboard.
  8. Da bismo dobili punu stazu i naziv datoteke ciljne datoteke, "spajamo" novosastavljenu varijablu FileName između varijabli NotesPath i FileNameExtra. Zato smo ih definirali na početku scenarija.
  9. Preventivno brišemo sve prethodne datoteke s istim putem i nazivom datoteke.
  10. Dodajemo sadržaj varijable Note u datoteku FinalFileName.

Čišćenje teksta u AutoHotkeyu

Funkcija "dezinfekcije" koju smo gore spomenuli je sljedeća:

CleanText: CleanMePlease = %ClipBoard%
CleanMePlease := Regexreplace (CleanMePlease, "a-zA-Z0-9", "")
petlja
{
StringReplace, CleanMePlease, CleanMePlease, %A_SPACE%%A_SPACE%, %A_SPACE%, sve
ako je ErrorLevel <> 0
pauza
}
Međuspremnik = %CleanMePlease%
Povratak

Da biste to prošli red po red:

  1. "CleanText:" je naziv funkcije koja "sadrži" radnje koje slijede.
  2. Prvo mapiramo sadržaj međuspremnika u varijablu CleanMePlease.
  3. Koristimo RegEx pravilo za uklanjanje svih nealfanumeričkih znakova iz varijable CleanMePlease.
  4. Budući da gore navedeno može uvesti dvostruke razmake, koristimo petlju da još jednom pročešljamo varijablu CleanMePlease, zamjenjujući ih jednostrukim razmacima. To je dio s dva "%A_SPACE%", iza kojih slijedi jedan i riječ "all".
  5. Redak ErrorLevel "govori" AutoHotkeyju da "prekine petlju" kada ne može pronaći više duplih razmaka u tekstu.
  6. Konačno, vraćamo "očišćenu" verziju varijable CleanMePlease u međuspremnik.

Posljednja podešavanja vaše aplikacije za bilježenje

Vaša skripta za bilježenje spremna je za korištenje, ali ako je isprobate, mogli biste vidjeti da se njezin prozor pojavljuje i odmah nestaje. To je zato što također morate "vratiti" svaku funkciju koju ste u njoj definirali.

Dakle, stavite riječ "povratak" (bez navodnika) ispod:

  1. Dio skripte koji stvara GUI, ispod GUI-a, redak "QN: Pokaži...".
  2. Funkcija "QNButtonOK", ispod posljednjeg retka "FileAppend...".
  3. Funkcija CleanText ispod posljednjeg retka "ClipBoard =...".

Međutim, ako sada pokušate pokrenuti svoju skriptu, vidjet ćete da i dalje ostaje u traci sustava Windows nakon korištenja. Da bi se aplikacija zatvorila i skripta potpuno izašla, dodajte sljedeće na samom kraju:

QNGuiEscape:
QNGuiClose:
Izađi iz aplikacije
povratak

Konačno, kako bi se aplikacija odmah pokrenula kad god vam zatreba, stvorite prečac za svoju skriptu na radnoj površini. Zatim desnom tipkom miša kliknite na njega, odaberite Svojstva, kliknite u Prečac i pritisnite željenu kombinaciju gumba.

Čestitamo na izradi vaše prve aplikacije u AutoHotkeyju

Možda je u početku zvučalo kao kompliciran projekt, ali kao što smo vidjeli, stvaranje "jednostavne" aplikacije za bilježenje bilo je prilično jednostavno.

Sve zahvaljujući AutoHotkey sintaksi prilagođenoj ljudima i sposobnosti da iskoristi zadane GUI elemente sustava Windows.