shortcuts

Popis a navod na pouzitie

Je funkcne pomerne bohaty script ktory do pouzivatelskeho rozhrania windows pridava funkcie ktore mi chybali pri kazdodennej praci. Ku kazdej funkcii je asociovana klavesova skratka. Skript pouziva okrem standardnych modifikatorov (ctrl, alt, shift,win) aj novy modifikator apps (tlacidlo kontextovej ponuky ktore sa nachadza nalavo od praveho ctrl). Po spusteni je na systemovom panely k dispozicii ikonka ktora ma rozsiahlu kontextovu ponuku. Tu mozno aktivovat aj klavesovou skratkou lctrl+rctrl. Funkcie su organizovane v podponukach a pri kazdej je napisana aj klavesova skratka. Niektore klavesove skratky by sa dali chapat skor ako gesta. Napriklad kopirovanie medzi win a aktivnou schrankou sa realizuje dvojsmerne pomocou shiftov. Teda winclipboard->activeclipboard sa aktivuje stlacenim laveho a k nemu pritlacenim praveho shiftu. Naopak (activeclipboard->winclipboard) sa kopirovanie realizuje gestom z prava do lava teda stlacte pravy shift a k nemu pritlacte lavy. Nasleduje strucny popis menej intuitivnych funkcii.

virtual desktops

ponuka obsahuje funkcie suvisiace s virtualnymi pracovnymi plochami. K dispozicii je 5 pracovnych ploch. Vlastne ide skor o 5 panelov beziacich uloh. na kazdej virtualnej ploche si mozno pootvarat aplikacie. Po prepnuti sa na inu pracovnu plochu sa otvorene aplikacie "skryju" a na panely beziacich uloh sa ukazu aplikacie ktore patria na aktivovanu plochu.

  • desktop1 .. desktop5: prepinanie pracovnych ploch
  • next desktop: prechod na nasledujucu neprazdnu plochu
  • merge desktops: funkcia zlucuje vsetky aktivne plochy do jednej
  • close all on current desktop: umoznuje naraz zavriet vsetky aplikacie na aktualnej ploche

clipboard

podmenu obsahuje funkcie na pracu so schrankami. Skript dava pouzivatelovi k dispozicii 36 schranok do ktorych mozno presuvat, kopirovat a textove informacie aj pridavat. Schranky sa pomenovavaju jednopismenkovymi nazvami (a-z, 0-9).

  • select AHK clipboard: vyber schranky. Po aktivovani funkcie stlacte pismenko a-z0-9 cim nastavite prislusnu schranku ako aktivnu. Stlacenim esc vyber rusite. Vyber nicim nepotvrdzujte (bezprostredne po stlaceni pismenka je schranka aktivna). Schranka zostava aktivna do ukoncenia scriptu alebo opatovneho pouzitia funkcie na vyber schranky.
  • cut to AHK clipboard, copy to AHK clipboard a paste from AHK clipboard: pouzite na vystrihovanie, kopirovanie a vkladanie do a z aktivnej schranky ktoru ste vybrali pomocou predchadzajucej funkcie.
  • cut and append to AHK clipboard a copy and append to AHK clipboard: pouzite na pridavanie do aktivnej schranky. Pridavat mozno len textove informacie (nefunguje to napriklad pri kopirovani suborov alebo obrazkov. V takom pripade pouzite radsej viacero schranok a multipaste opisany dalej)
  • multipaste AHK clipboards: po aktivovani si script vypyta nazvy schranok ktore chcete vkladat. napiste ich bez medzier a potvrdte enterom. po potvrdeni sa pokusi vlozit obsah zadanych schranok. Snazi sa pri tom spravat inteligentne. Teda pri kopirovani suborov napriklad v okne tento pocitac alebo free commander caka kym skonci vkladanie prvej schranky a az potom vklada obsah dalsej. Pocas behu multipaste funkcie neprepinajte aplikacie (zostante stale v rovnakom okne). Tato funkcia sa pokusa simulovat copy queue podobnu tej ktoru ma total commander, nieje v tom vsak velmi uspesna. Nieje to robustne a nevie sa to zotavit z chyb. Pri nechybovom kopirovani (napriklad kopirovanie hudby do prehravaca z roznych umiestneni) je to postacujuce.
  • winclipboard->activeclipboard a winclipboard<-activeclipboard: funkcie sluzia na kopirovanie obsahu zo schranky windows do aktivnej schranky a naopak. Moze sa zijst v aplikaciach pri ktorych z nejakeho dovodu nefunguje priamo kopirovanie do aktivnej AHK schranky.
  • Append line break to active clipboard: Prida zariadkovanie do aktivnej ahk schranky za obsah ktory tam prave je.
  • Flush active clipboard: Vyprazdni aktivnu AHK schranku
  • Windows clipboard tricky pasting: funguje velmi podobne ako klasicke vlozit, vie vsak do textoveho pola vlozit nazvy suborov. Teda napr otvorte tento pocitac, kurzorom sa nastavte na nejaky subor alebo priecinok a pomocou ctrl+c ho okopirujte do schranky. Potom sa prepnite do notepadu / wordu/... a pouzite funkciu tricky pasting. Po jej pouziti bude do textoveho pola vlozena cela cesta k suboru / priecinku. V schranke moze byt samozrejme aj viacero suborov resp priecinkov.
  • run windows clipboard: obsah schranky sa spusti pomocou prikazu run. Teda vykona sa ako keby ste ho nakopirovali do dialogu spustit.

windows

Podmenu obsahuje funkcie na pracu s oknami.

  • track current window: po aktivovani si skript zapamata informacie o okne a zvukovou signalizaciou da pouzivatelovy vediet ked sa okno zavrelo. Je to uzitocne napriklad pri sledovani okna kopirovania suborov. skript pri zatvoreni okna zapipa aj ak si pocas kopirovania citate text v inom okne a pod.
  • hide active: po aktivovani sa skryje aktivne okno tak ze nebude viditelne ani na panely beziacich uloh. V pripade ze si napriklad omylom skryjete pracovnu plochu, pouzite funkciu undo hiding (funguje vsak vzdy len na odskrytie jedneho naposledy skryteho okna).
  • search in titles: umoznuje vyhladavat v titulkoch okien. podporuje regularne vyrazy. Ak zacnete retazec vyhladavania znakom *, skript zobrazi vsetky najdene okna v zozname spolu s tlacidlami na zakladnu spravu okien. napriklad: aktivujte funkciu a do policka napiste *notepad. V zozname sa zobrazia vsetky beziace poznamkove bloky. Ak nepouzijete hviezdicku na zaciatku, script aktivuje prve najdene okno splnajuce kriteria hladania. Napriklad do policka napiste thunderbird a script aktivuje prve okno ktore obsahuje v titulku slovo thunderbird. Script prehladava aj skryte okna. Ak do policka zadate len znak *, skript zobrazi zoznam vsetkych okien ktore prave existuju.
  • bookmark window: funkcia umoznuje priradit aktivnemu oknu jednopismenkove pomenovanie (a-z0-9). Takto pomenovane okno potom mozno skryt, a neskor aktivovat pomocou funkcie activate bookmarked window. Zadavanie nazvu pre okno funguje pri oboch funkciach uplne rovnako ako pri vybere schranky.

applications chooser

Skript shortcuts poskytuje funkcionalitu ktora umoznuje rychlo spustat portable aplikacie. V nasledujucich odstavcoh je detailne opisane jeho mozne vyuzitie a konfiguracia.

ponuka

Ponuka obsahuje nasledovne polozky:

  • Start chooser...: funkcia vyvola dialog app choosera. Ten obsahuje strom so zoznamom aplikacii, editacne pole pre pripad ked je potrebne zadat aplikacii parametre a prepinac ktorym mozno predat vybranemu programu ako parameter aj obsah schranky. Viac informacii vid nizsie.
  • run by letter: funkcia umoznuje spustit tie aplikacie ktore maju pouzivatelom definovanu skratku pomocou zadania pismenka.
  • Nazvy tych programov, ktore maju pouzivatelom definovanu skratku. Bezprostredne pred nazvom je v nazve polozky v ponuke pouzivatelom definovane pismenko ktore sluzi na spustanie aplikacie cez funkciu run by letter.

jednoduchy priklad pouzitia

fungovanie app choosera azda najlepsie ozrejmi priklad:

  1. vytvorte si adresar portable na ktorom kolvek disku. Do neho nakopirujte tento script (idealne jeho exe teda skompilovanu verziu) a vzdy ho spustajte z tohoto adresara.
  2. V adresary portable vyrobte podadresar firefox a do neho nakopirujte portable verziu firefoxu.
  3. Do adresara firefox vytvorte subor s nazvom appchooser.ini a do neho napiste nasledujuce 3 riadky:
    • [run]
    • run=firefox\firefox.exe
    • letter=f

po vyvolani funkcie start chooser sa v zozname zobrazia vsetky podadresare adresara portable ktore obsahuju subor appchooser.ini (vsimnite si ze do kluca run v subore appchooser.ini sme napisali cestu k programu firefox.exe relativnu vzhladom na umiestnenie scriptu) . Vyberte si v zozname jeden z podadresarov a stlacte ok (enter). Po aktivovani konkretnej polozky sa pouzije obsah suboru appchooser.ini na spustenie programu.

dialog pre spustanie aplikacii

Dialog pre spustanie aplikacii mozno vyvolat funkciou "start chooser..." v ponuke applications chooser. Sluzi na spustanie portable aplikacii s korektne definovanymi parametrami spustenia. Nasleduje popis jednotlivych elementov dialogu:

strom s aplikaciami

Strom s aplikaciami obsahuje stromovu strukturu tych priecinkov a podpriecinkov priecinka z ktoreho bol spusteny script shortcuts.exe, ktore obsahuju subor appchooser.ini. Aplikaciu mozno spustit stlacenim enteru na konkretnej aplikacii.

Appchooser prehladava priecinky rekurzivne a zanara sa do vsetkych podpriecinkov priecinka, ktory obsahuje subor appchooser.ini. To znamena, ze programy mozete organizovat do prehladnej adresarovej struktury. Jedinou podmienkou pre zaradenie konkretneho priecinka do stromovej struktury choosera je existencia (hoci aj prazdneho) suboru appchooser.ini. Konfiguracne subory pre spustanie jednotlivych aplikacii mozu byt aj oddelene od samotnych aplikacii. Teda je mozne vytvorit si priecinok (napriklad !start) ktory obsahuje prazdny subor appchooser.ini a podpriecinky ktore obsahuju prazdne ini subory, alebo subory definujuce spustanie konkretnej aplikacie. Ukazme si to na priklade. Nasleduje strom priecinkov a suborov modelovany pomocou vnorenych zoznamov:

  • !start - priecinok ktory bude obsahovat "zastupcov" pre aplikacie
    • editory
      • audacity - obsahuje appchooser.ini pre spustenie audacity
      • appchooser.ini - moze byt aj prazdny
    • internet
      • firefox - obsahuje appchooser.ini pre spustenie firefoxu
      • thunderbird - obsahuje appchooser.ini pre spustenie thunderbirdu
      • appchooser.ini - moze byt aj prazdny
    • system
      • CCleaner - obsahuje appchooser.ini pre spustenie CCleanera
      • recuva - obsahuje appchooser.ini pre spustenie programu recuva
      • appchooser.ini - moze byt aj prazdny.
    • appchooser.ini ktory moze byt prazdny. Je tu len preto, aby bol priecinok v strome choosera.
  • audacity - portable aplikacia audacity bez appchooser.ini
  • CCleaner - portable aplikacia CCleaner, bez appchooser.ini
  • firefox - obsahuje portable firefox, aj appchooser.ini ktory urcuje ako firefox spustit
  • recuva - portable recuva, bez appchooser.ini
  • thunderbird - obsahuje portable thunderbird, neobsahuje appchooser.ini

Ak spustime shortcuts v hore uvedenej strukture, na najvyssej urovni sa zobrazia 2 polozky (!start a firefox) pretoze len tieto 2 priecinky obsahuju subor appchooser.ini. Polozka !start sa bude dat rozbalit a bude obsahovat polozky editory, internet a system, v ktorych budu odkazy na spustenie konkretnych aplikacii. Vsimnite si, ze firefox mozno spustit z dvoch miest. Takisto si uvedomte, ze ak sa ma z oboch miest spustat ten isty firefox s rovnakymi parametrami, potom oba subory appchooser.ini pre spustenie firefoxu maju rovnaku hodnotu kluca run, pretoze cesty v kluci run su vzdy relativne k umiestneniu programu shortcuts, nie k umiestneniu konkretneho ini suboru.

Parametre prikazoveho riadka

dialogove okno so zoznamom programov obsahuje aj editacne pole do ktoreho mozno zadat parametre pre prikaz. V pripade ze teda mate napriklad programy ktore treba spustat z prikazoveho riadka, mozete si vyrobit specialny adresar pre tieto programy nasledovne.

  1. v adresary portable vyrobte podadresar do ktoreho dame programy spustatelne len z prikazoveho riadka (nazvyme ho napriklad prikazovy_riadok)
  2. do adresara vlozte subor appchooser.ini s nasledovnym obsahom:
    • [run]
    • run=prikazovy_riadok\
  3. do adresara nakopirujte nejake programy (napriklad ssh)

potom pouzite program tak ze v zozname applications choosera vyberte polozku prikazovy_riadok a do editacneho policka napiste ssh.exe meno@server.sk

spracovanie obsahu schranky

Trojstavovy prepinac v dialogovom okne umoznuje urcit, ci sa moze obsah schranky pouzit ako parameter. Jeho nastavenie na jednu z pozitivnych hodnot vsak nutne neznamena, ze sa obsah schranky pouzije. Na to aby sa obsah pouzil je nutne urcit, na ktore miesto a v akom formate sa ma obsach schranky vlozit. Obsah schranky mozno vlozit do kluca run v ini subore, ale aj do policka pre parametre, viac informacii mozno najst v sekcii o ini subore.

Prepinac mozno nastavit do jednej z nasledovnych hodnot:

  • clipboard processing depends on configuration: ak ma prepinac tuto hodnotu, potom sa obsah schranky pouzije, len ak to dovoluje nastavenie v appchooser.ini konkretnej aplikacie. Viac informacii mozno najst v sekcii s nazvom "appchooser.ini" v tomto dokumente.
  • Pass clipboard as a parameter: Hovori, ze sa ma schranka pouzit ako parameter. Pouzije sa ale len za predpokladu, ze je pouzitie definovane v ini subore, alebo v editacnom policku pre parametre aplikacie.
  • Do not process clipboard: Ak je prepinac v tomto stave, potom sa obsah schranky nepouzije v ziadnom pripade.
Collapse all

Po aktivovani dialogu app choosera je strom s odkazmi na programy rozbaleny. Je teda mozne v zobrazeni stromu napisat jedno alebo viacero zaciatocnych pismen hladanej polozky a tym konkretnu polozku rychlo najst. V niektorich situaciach vsak moze byt rozbaleny strom pomerne neprehladny. Tlacidlo "collapse All" (ma definovanu aj klavesovu skratku alt+c) mozno pouzit na zbalenie stromu.

appchooser.ini

Subor ma standardny iny format. Obsahuje jedinu sekciu s nazvom run.

Nasledujuce odstavce opisuju vyznam klucov, ktore mozno v sekcii run pouzit:

run=cesta_k_suboru parametre

Urcuje ktory exe program a s akymi parametrami sa ma spustit. Ak je cesta k programu relativna, potom sa program hlada relativne k umiestneniu z ktoreho bol spusteny script shortcuts.exe.

Parametre mozu obsahovat standardne parametre programu, mozu vsak aj referencovat na obsah schranky (pozri sekciu "pouzitie obsahu schranky ako parameter")

letter=[a-z0-9]

kluc letter urcuje pismenko ktorym mozno aplikaciu rychlo spustit cez polozku run by letter nachadzajucu sa v ponuke applications choosera (v priklade vyssie sme firefoxu priradili pismenko f tak ze aktivujte funkciu run by letter a stlacte f).

V hodnote kluca "letter" sa nerozlisuju velke a male pismena. Pri spustani aplikacie cez run by letter vsak na velkosti stlaceneho pismena zalezi:

  • male pismeno priamo spusta konkretnu aplikaciu,
  • Velke pismeno sposoby, ze saaplikacia "nalistuje" v strome choosera a script caka na stlacenie ok. Tento trik mozno pouzit v situaciach, kedy chceme aplikacii spustanej klavesovou skratkou zadat napriklad nejake parametre. V nasom priklade teda mozno po vyvolani funkcie "run by letter" stlacit velke pismenko F a po stlaceni tabulatora napisat do policka pre parametre (vid nizsie) internetovu adresu stranky ktora bude po stlaceni ok v dialogu choosera (ten sa nam vdaka velkemu F automaticky otvoril) firefoxu predana ako parameter.
clipboardmask=cislo

Kluc urcuje, v ktorych pripadoch sa moze pouzit obsah schranky ako parameter. Hodnota je suctom jedneho alebo viacerych hodnot z nasledovnych:

  • 1: aplikacia bola spustena z dialogu appchoosera
  • 2: aplikacia bola spustena pomocou pouzivatelom definovanej skratky (skratka definovana klucom letter)
  • 4: aplikacia bola spustena pomocou pouzivatelom definovanej skratky v kombinacii so shiftom (velke pismeno)
  • 8: aplikacia bola spustena metodou open alebo open by...

pouzitie schranky teda mozme povolit len v niektorych pripadoch. Napriklad ak nastavime pre firefox clipboardmask na hodnotu 4, potom sa obsah schranky pouzije, len ak firefox spustime pomocou pouzivatelom definovanej skratky v kombinacii so shiftom. Ak by sme chceli aby bola firefoxu predana schranka aj pri spusteni pomocou skratky bez shiftu, potom by sme hodnotu clipboardmask nastavili na 6. Predvolena hodnota clipboardmask je 0, co znamena, ze sa schranka nepouzije nikdy okrem pripadu, ak to pouzivatel nastavi pomocou prepinaca v dialogu appchoosera. Ako uz bolo spomenute vyssie, pouzitie schranky vsak musime definovat aj v ini subore, alebo v policku pre parametre.

pouzitie obsahu schranky ako parameter

Kluc run v subore appchooser.ini ale aj editacne policko na pridavanie parametrov moze obsahovat niekolko premennych ktore budu pri spustani aplikacie nahradene konkretnym obsahom. Nasleduje ich zoznam so strucnym popisom:

  • #p#: premenna je pouzitelna len v kluci run v subore appchooser.ini a umoznuje umiestnit obsah editacneho policka s parametrami na konkretne miesto. Ak premenna nieje v kluci run pouzita, parametre napisane do editacneho policka v dialogu app choosera su automaticky pripojene na koniec. Pre viac informacii pozri priklady nizsie.
  • #c#: premennu mozno pouzit v parametroch aj v kluci run a pri spusteni bude nahradena aktualnym obsahom schranky. Schranka vsak nebude nijako spracovana, preto tuto substituciu pouzivajte opatrne.
  • #cf#: premenna bude opat nahradena obsahom schranky, skript vsak predpoklada, ze v schranke su vlozene subory alebo priecinky prostrednictvom funkcii kopirovat alebo vystrihnut v lubovolnom spravcovy suborov. Takato schranka bude spracovana tak, aby bol kazdy subor uzavrety v uvodzovkach, ako samostatny parameter.
  • #cfs#: Aj tu skript predpoklada, ze schranka obsahuje subory alebo priecinky. Program vsak bude scriptom spustany sekvencne postupne na kazdy subor zvlast.
  • parametre #c#, #cf# a #cfs# budu substituovane len v pripade, ze bude aplikacia spustena sposobom ktory pripusta predavanie schranky ako parameter (clipboardmask v ini subore), alebo bude aplikacia spustena z dialogu app choosera s prepinacom nastavenym na hodnotu "pass clipboard as a parameter". V ostatnych pripadoch budu vsetky 3 premenne ignorovane.

Fungovanie premennych si este priblizme prikladmi:

Predpokladajme ze mame program konvert.exe ktory ocakava ako prvy parameter -quality za ktorim nasleduje cislo od 0 po 9 a potom zoznam mp3 suborov ktorym znizi kvalitu podla prveho parametra. Ak pren vyrobime adresar a do appchooser.ini napiseme nasledovne:

[run]

run=convert\convert.exe -quality#p# #cf#

Mozme program spustit na viacero suborov takto:

  1. v lubovolnom spravcovy suborov oznacme niekolko mp3 suborov a okopirujme ich do schranky (predpokladajme napriklad, ze su to subory d:\a.mp3 a d:\b.mp3)
  2. vyvolajme dialog app choosera a v zozname vyberme polozku konvert
  3. do editacneho policka pre parametre napisme napriklad cislo 5
  4. po stlaceni ok skript spusti program konvert v tvare:

    konvert\konvert.exe -quality5 "d:\a.mp3""d:\b.mp3"

predpokladajme ze si chceme ulahcit upravovanie wma suborov pomocou programu freeme2. Ten vyzaduje ako parameter len jeden nazov suboru. Okrem toho pozna parameter-v ktorym zapneme podrobny vyps priebehu upravy. Dalej predpokladajme, ze chceme chybovy vystup tohoto programu pridat do suboru log.txt aby sme si po konverzii mohli vystup prezriet v textovom editore. Program teda spustime v interpretery prikazoveho riadka (aby sme mohli presmerovat jeho chybovy vystup do suboru) a subor appchooser.ini bude vizerat takto:

[run]

run=cmd /c freeme2\freeme2.exe -v #cfs# 2>>freeme2\log.txt

Program freeme2 bude v postupne spusteny na vsetkych suboroch v schranke a jeho chybovy vystup (informacie o priebehu o konverzii) bude pridavany na koniec suboru log.txt v priecinku freeme2.

miscellaneous

Ponuka obsahuje rozne jednoduche funkcie. Nasleduje opis menej zrozumitelnych:

  • open a open by...: pozri nasledujucu podsekciu
  • Clipboard already contains data: Po vyvolani tejto funkcie nebude pri najblizsej vyvolanej funkcii vyuzivajucej schranku symulovane kopirovanie do schranky. Funkcie budu predpokladat, ze data ktore maju spracovavat su v schranke. V sucasnosti vyuzivaju na ziskanie informacii o oznacenych suboroch simulovane kopirovanie do schranky funkcie "Play file under cursor", "open" a "open by...".
  • set text marker a goto text marker: funkcie umoznuju vyrobit si "zalozku" v standardnom textovom komponente (notepad, wordpad, ...) a potom sa na nu presunut. Robenie zaloziek funguje len v standardnych editacnych poliach, nefunguje napriklad v ms word, okne internetoveho prehliadaca a podobne. Zalozky sa nedokazu synchronizovat ak text menite. Teda ak si urobite zalozku na 5. riadku textu a potom vlozite medzi druhy a treti riadok novy riadok, zalozka sa "posunie". Su teda uzitocne hlavne pri citani dlhych textov v ktorych potrebujete "odskakovat" a potom sa vracat na povodne miesto. Daju sa pouzit aj na oznacovanie. Funkcia "select to the marker" umoznuje oznacit text medzi aktualnou poziciou kurzora a zalozkou ktoru zadate.
  • beep till the end of the minute: pipanie po sekundach do konca aktualnej minuty. Pouzivam na nastavovanie hodiniek :)

open a open by...

Funkcie sluzia na automaticke spustanie portable programu v zavislosti na type oznaceneho suboru . Teda simuluju funkcionalitu operacneho systemu windows, kde mozno ku konkretnemu typu suboru asociovat program, ktory ho ma otvarat.

Asociacie definujeme v subore shortcuts.cfg, ktory sa musi nachadzat v priecinku z ktoreho je spusteny samotny skript shortcuts. Format suboru je nasledovny:

  • skript spracovava vsetky take riadky, ktore obsahuju najmenej 2 a najviac 3 udaje oddelene tabulatorom
  • Vsetky ostatne riadky (take riadky, ktore neobsahuju znak tabulator) su ignorovane a teda mozu byt pouzite na pisanie komentarov. Pri pisani komentarov odporucam pouzivat uvadzaci znak pre komentare, napriklad znak ;

Udaje na funkcnych riadkoch konfiguracneho suboru maju z lava do prava nasledujuci vyznam:

  1. Perl kompatibilny regularny vyraz ktorym sa testuje obsah schranky. V pripade ze je obsah schranky instanciou regularneho vyrrazu, preda sa schranka ako parameter programu definovanemu v nasledujucom parametry
  2. cesta k priecinku obsahujucemu subor appchooser.ini popisujucemu spustenie portable programu, ktorym chceme spracovat obsah schranky, v pripade, ze ho popisuje regularny vyraz v predchadzajucom parametry.
  3. Ak je definovany tento parameter, potom sa bezprostredne pred predanim schranky programu definovanemu druhym parametrom vykona na obsahu schranky operacia hladat a nahradit. Vyhladavany bude vyraz v prvom parametry, ako retazec pre nahradzanie bude pouzity treti parameter. V pripade ze chceme pouzit ako treti parameter prazdny retazec, potom ukoncime riadok bezprostredne za druhym parametrom znakom tabulator. Teda, v pripade ze riadok konci tabulatorom, skript predpoklada, ze chceme pri nahradzani nahradit cast schranky popisovanu regularnym vyrazom z prveho parametra prazdnym retazcom. Pozor, pri nahradzani sa nahradia vsetky vyskyty vyrazu. Ak chceme v nahradzacom retazci referencovat oznacene casti regularneho vyrazu, pouzijeme premenne $1..$9 (v autohotkey nahradzame znak \ v referenciach znakom $).

Celkom fajn clanok o regularnych vyrazoch v cestine mozno najst tu. Na konci clanku je aj cast venovana perlovskym modifikaciam regularnych vyrazov. Operaciu hladat a nahradit vykonava funkcia regexreplace, ktorej dokumentaciu v anglictine najdete tu

Nakoniec spomenme aj stranku venovanu perl kompatibilnym regularnym vyrazom

Obsah schranky moze byt pri testovani regularnymi vyrazmi v pravidlach definovanych v subore shortcuts.cfg popisovany viacerimi pravidlami.

Funkcia "open" spusti program z prveho takeho pravidla, ktoreho regularny vyraz popisuje obsah schranky.

Funkcia "Open By..." zobrazi zoznam vsetkych takych programov, ktorych regularne vyrazi popisuju obsah schranky a umozni pouzivatelovy vybrat si program ktory chce spustit.

Skor ako si nazorne ukazeme niekolko funkcnych pravidiel, popiseme co sa stane, ak pouzivatel vyvola funkciu open by... na jednom alebo viacerych oznacenych suboroch:

  1. Po vyvolani funkcie bude (v pripade ze nebola aktivovana funkcia "clipboard already contains data") zazalohovany aktualny obsah schranky a nasledne symulovane kopirovanie do schranky. Ak bude kopirovanie neuspesne (kurzor nieje na niecom, co sa da okopirovat do schranky), tak sa rutina "open by..." ukonci s prislusnym chybovym hlasenim.
  2. nasledne sa zacne obsah schranky postupne testovat vsetkymi regularnymi vyrazmi v prvom parametry pravidiel definovanych v subore shortcuts.cfg a bude vytvoreny zoznam vsetkych takych programov, ktorych regularne vyrazi obsah schranky popisuju.
  3. Po otestovani vsetkych pravidiel bude pouzivatelovy zobrazeny zoznam vsetkych "pouzitelnych" programov
  4. pouzivatel si vyberie a potvrdi jeden z programov
  5. Ak ma zvoleny program definovany treti parameter, potom bude na schranke vykonana operacia hladat a nahradit, v ktorej sa pouzije prvy a treti parameter pravidla prisluchajuceho k pouzivatelom vybranemu programu
  6. nakoniec sa spusti zvoleny program a schranka sa pouzije ako parameter podla toho, ako je to definovane v appchooser.ini zvoleneho programu. Appchooser.ini zvoleneho programu musi okrem definicie pouzitia schranky (umiestnenie aspon jednej z premennych #c#, #cf#, #cfs#) obsahovat v sucte parametra clipboardmask hodnotu 8 (povolujeme pouzitie schranky v pripade, ze je program spusteny cez funkcie open a open by...)

Pozrime sa teraz este na niekolko prikladov pouzitia:

; subory s priponou txt otvorme programom notepad++ nachadzajucom sa v priecinku !appchooser\editors. Treti parameter je prazdny. Vyraz popisuje schranku ktora obsahuje prave jeden riadok, konciaci stvoricou znakou .txt.

^[^\n]*\.txt$ !appchooser\editors\notepad++

; nasledujuce pravidlo umoznuje spustit program freeme2 na schranke ktora obsahuje jeden alebo viacero wma suborov

^[^\n]*\.wma(\R[^\n]*.wma)*$ !appchooser\converters and compilers\freeme2

; nasledujuce pravidlo spusta program foobar2000 na zozname ktory obsahuje subory vo formatoch wav,mp3,ogg a wma. V appchooser.ini foobaru pouzite parameter #cf# aby boli subory predane ako zoznam suborov. Potom budu vlozene do predvoleneho playlistu.

^[^\n]*\.(wma|wav|mp3|ogg)(\R[^\n]*.(wma|wav|mp3|ogg))*$ !appchooser\players\foobar2000

; Nasledujuce pravidlo vyhryzne z oznaceneho riadku internetovu adresu a otvori ju vo firefoxe. Treti parameter referencuje internetovu adresu. pravidlo je vyuzitelne napriklad v situacii kedy mame na riadku v texte internetovu adresu obklopenu textom. Oznacenie celeho riadku je rychlejsie, ako oznacovanie internetovej adresy. O vyhryznutie adresy sa postara pravidlo. Regularny vyraz popisujuci url je pre zvysenie citatelnosti zjednoduseny.

^.*(http://[^ ]+).*$ !appchooser\internet\firefox $1

; Nakoniec definujme pravidlo, ktore z riadku textu vyhryzne ip adresu a podhodi ju ako parameter stranke ip2location.com. Otaznik za hviezdickou je specialitka perlre, ktora vypina zravost (greediness) iteracie

^.*?([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+).*$ !appchooser\internet\firefox http://www.ip2location.com/$1

volume control

Ponuka obsahuje polozky na ovladanie hlasitosti. Jednotlive polozky by mali byt intuitivne zrejme.

Parametre prikazoveho riadku

Skript shortcuts.exe pozna nasledovne parametre prikazoveho riadku:

subory na stiahnutie

skompilovana verzia skriptu nevyzaduje instalaciu autohotkey. Staci ju stiahnut, nakopirovat do lubovolneho priecinka a spustit.

zdrojovy kod skriptu je mozne tak isto spustat, je vsak potrebne nainstalovat si na pocitac autohotkey interpreter.

windows.zip archiv obsahuje jeden priecinok ktory demonstruje pouzitie shortcuts na spustanie aplikacii vo windows a otvaranie konkretnych nastaveni z ovladacieho panela vo windows 7. Archiv rozbalte do priecinka z ktoreho spustate shortcuts a vyskusajte appchooser.

Zmeny

2011-08-07: Aktualizacia shortcuts

  • Pridane funkcie open, open by... a clipboard already contains data. Pozri ponuku a dokumentaciu ponuky miscellaneous

2011-06-19: aktualizacia shortcuts

  • Zoznam aplikacii v dialogu app choosera bol nahradeny komponentom strom. Toto umoznuje organizovat aplikacie do "priecinkov". Strom je automaticky rozbaleny, aby v nom bolo mozne aj vyhladavat.
  • Moznost konfigurovat pouzitie schranky ako parameter. Pouzitie mozno nanutit v appchooser.ini konkretnej aplikacie, alebo nastavit v dialogu appchoosera
  • Zmena v ponuke appchoosera: aplikacie s pouzivatelsky definovanou skratkou su pridavane ako polozky vo formate skratka:cesta_k_aplikacii
  • Pridane tlacidlo "collapse all" ktore umoznuje zbalit strom s aplikaciami v appchoosery
  • Pomenovane schranky shortcuts funguju aj vo windows 7

2010-12-29: aktualizacia shortcuts

  • Parameter prikazoveho riadka "visualbeep" nahradza pipanie na pc-speakery ak je to potrebne. Viac info v sekcii o parametroch prikazoveho riadka
  • Appchooseru mozno predat ako parameter aj obsah schranky. Schranku mozno poslat spustanej aplikacii bez spracovania,, spracovanu ako postupnost suborov, alebo aplikaciu spustat sekvencne na kazdy subor zvlast, za predpokladu ze su v schranke subory. Viac info v dokumentacii.

2010-09-22:Aktualizacia shortcuts

  • Pridane funkcie append linebreak to active clipboard a flush active clipboard
  • Parametrom prikazoveho riadka (-nobeep) mozno vypnut pipanie cez pc speaker

2010-07-24:aktualizacia shortcuts

  • Upraveny system spustania aplikacii v app choosery (invoke.txt premenovany na appchooser.ini je teraz subor v standardnom ini formate), moznost definovat si skratky k aplikaciam, viac informacii na stranke popisujucej shortcuts
  • menu app choosera sa generuje automaticky pri spusteni scriptu, okrem polozky na spustenie choosera a vyvolanie programu pomocou definovaneho pismenka (pridane v tejto verzii) obsahuje aj vsetky programy ktore maju asociovanu nejaku skratku
  • vsetky skratky v tvare alt+win+nieco boli zmenene tak aby nedochadzalo ku konfliktom s inymi programami (skryvanie okna: apps+e, hladanie v tytulkoch okien apps+w, pipanie do konca minuty apps+=, monitorovanie okna apps+-)
  • Skratka na ukoncenie skriptu bola zrusena (ukoncit ho mozno cez kontextovu ponuku)

2010-07-11: aktualizacia shortcuts

  • oznacenie zaciatku a konca bloku zrusene a nahradene vytvaranim zaloziek v standardnom editacnom poli. moznost oznacovat medzi kurzorom a zalozkou. Pozicie zaloziek sa nezachovavaju pri uprave textu
  • kopirovanie obsahu win schranky do aktivnej a naopak (shiftove gesta)
  • gesto na pomenovanie okna a aktivacia pomenovaneho okna (ctrl+apps gesta)
  • Vyrieseny problem s pisanim zavinaca na sk klavesnici (pomenene skratky, pozrite kontextovu ponuku)
  • aktualizacia popisu na stranke