Shortcuts

Popis a návod na použitie

Je funkčne pomerne bohatý skript, ktorý do používateľského rozhrania Windows pridáva funkcie, ktoré mi chýbali pri každodennej práci. Ku každej funkcii je asociovaná klávesová skratka. Skript používa okrem štandardných modifikátorov (Ctrl, Alt, Shift, Win) aj nový modifikátor Apps (tlačidlo kontextovej ponuky, ktoré sa nachádza naľavo od pravého Ctrl).

Po spustení je na systémovom paneli k dispozícii ikonka, ktorá má rozsiahlu kontextovú ponuku. Tú možno aktivovať aj klávesovou skratkou LCtrl+RCtrl. Funkcie sú organizované v podponukách a pri každej je napísaná aj klávesová skratka.

Niektoré klávesové skratky by sa dali chápať skôr ako gestá. Napríklad kopírovanie medzi win a aktívnou schránkou sa realizuje obojsmerne pomocou Shiftov. Teda winClipboard → activeClipboard sa aktivuje stlačením ľavého a k nemu pritlačením pravého Shiftu. Naopak (activeClipboard → winClipboard) sa kopírovanie realizuje gestom sprava doľava – teda stlačte pravý Shift a k nemu pritlačte ľavý.

Pri práci so shortcuts je vhodné čo v najväčšej miere používať klávesové skratky. Vyslovene potrebné to je pri funkciách, ktoré nejako pracujú s aplikáciou, ktorá je zameraná fokusom (napríklad funkcia na skrytie okna).

Nasleduje stručný popis menej intuitívnych funkcií.

virtual desktops

Ponuka obsahuje funkcie súvisiace s virtuálnymi pracovnými plochami. K dispozícii je 5 pracovných plôch. Vlastne ide skôr o 5 panelov bežiacich úloh. Na každej virtuálnej ploche si možno pootvárať aplikácie. Po prepnutí sa na inú pracovnú plochu sa otvorené aplikácie „skryjú“ a na paneli bežiacich úloh sa ukážu aplikácie, ktoré patria na aktivovanú plochu.

  • desktop1 .. desktop5: prepínanie pracovných plôch
  • next desktop: prechod na nasledujúcu neprázdnu plochu
  • merge desktops: funkcia zlučuje všetky aktívne plochy do jednej
  • close all on current desktop: umožňuje naraz zavrieť všetky aplikácie na aktuálnej ploche

clipboard

Podmenu obsahuje funkcie na prácu so schránkami. Skript dáva používateľovi k dispozícii 36 schránok, do ktorých možno presúvať, kopírovať a textové informácie aj pridávať. Schránky sa pomenúvajú jednopísmenkovými názvami (a–z, 0–9).

  • select AHK clipboard: výber schránky. Po aktivovaní funkcie stlačte písmenko a–z0–9, čím nastavíte príslušnú schránku ako aktívnu. Stlačením Esc výber rušíte. Výber ničím nepotvrdzujte (bezprostredne po stlačení písmenka je schránka aktívna). Schránka zostáva aktívna do ukončenia skriptu alebo opätovného použitia funkcie na výber schránky.
  • cut to AHK clipboard, copy to AHK clipboard a paste from AHK clipboard: použite na vystrihovanie, kopírovanie a vkladanie do a z aktívnej schránky, ktorú ste vybrali pomocou predchádzajúcej funkcie.
  • cut and append to AHK clipboard a copy and append to AHK clipboard: použite na pridávanie do aktívnej schránky. Pridávať možno len textové informácie (nefunguje to napríklad pri kopírovaní súborov alebo obrázkov. V takom prípade použite radšej viacero schránok a multipaste opísaný ďalej).
  • multipaste AHK clipboards: po aktivovaní si skript vyžiada názvy schránok, ktoré chcete vkladať. Napíšte ich bez medzier a potvrďte Enterom. Po potvrdení sa pokúsi vložiť obsah zadaných schránok. Snaží sa pritom správať inteligentne. Teda pri kopírovaní súborov napríklad v okne Tento počítač alebo FreeCommander čaká, kým skončí vkladanie prvej schránky, a až potom vkladá obsah ďalšej. Počas behu multipaste funkcie neprepínajte aplikácie (zostaňte stále v rovnakom okne). Táto funkcia sa pokúša simulovať copy queue podobnú tej, ktorú má Total Commander, nie je v tom však veľmi úspešná. Nie je to robustné a nevie sa zotaviť z chýb. Pri nechybovom kopírovaní (napríklad kopírovanie hudby do prehrávača z rôznych umiestnení) je to postačujúce.
  • winclipboard->activeclipboard a winclipboard<-activeclipboard: funkcie slúžia na kopírovanie obsahu zo schránky Windows do aktívnej schránky a naopak. Môže sa zísť v aplikáciách, pri ktorých z nejakého dôvodu nefunguje priame kopírovanie do aktívnej AHK schránky.
  • Append line break to active clipboard: pridá zalomenie riadka do aktívnej AHK schránky za obsah, ktorý tam práve je.
  • Flush active clipboard: vyprázdni aktívnu AHK schránku.
  • Windows clipboard tricky pasting: funguje veľmi podobne ako klasické vložiť, vie však do textového poľa vložiť názvy súborov. Teda napríklad otvorte Tento počítač, kurzorom sa nastavte na nejaký súbor alebo priečinok a pomocou Ctrl+C ho skopírujte do schránky. Potom sa prepnite do Notepadu / Wordu / ... a použite funkciu tricky pasting. Po jej použití bude do textového poľa vložená celá cesta k súboru / priečinku. V schránke môže byť samozrejme aj viacero súborov resp. priečinkov.
  • run windows clipboard: obsah schránky sa spustí pomocou príkazu run. Teda vykoná sa, ako keby ste ho nakopírovali do dialógu Spustiť.

windows

Podmenu obsahuje funkcie na prácu s oknami.

  • track current window: po aktivovaní si skript zapamätá informácie o okne a zvukovou signalizáciou dá používateľovi vedieť, keď sa okno zavrelo. Je to užitočné napríklad pri sledovaní okna kopírovania súborov. Skript pri zatvorení okna zapípa aj vtedy, ak si počas kopírovania čítate text v inom okne a pod.
  • hide active: po aktivovaní sa skryje aktívne okno tak, že nebude viditeľné ani na paneli bežiacich úloh. V prípade, že si napríklad omylom skryjete pracovnú plochu, použite funkciu undo hiding (funguje však vždy len na odkrytie jedného naposledy skrytého okna).
  • bookmark window: funkcia umožňuje priradiť aktívnemu oknu jednopísmenkové pomenovanie (a–z0–9). Takto pomenované okno potom možno skryť a neskôr aktivovať pomocou funkcie activate bookmarked window. Zadávanie názvu pre okno funguje pri oboch funkciách úplne rovnako ako pri výbere schránky.

window titles

Ponuka obsahuje položky umožňujúce vyhľadávanie v titulkoch práve existujúcich okien.

  • search in titles: umožňuje vyhľadávať v titulkoch okien. Podporuje regulárne výrazy. Ak začnete reťazec vyhľadávania znakom , skript zobrazí všetky nájdené okná v zozname spolu s tlačidlami na základnú správu okien. Napríklad: aktivujte funkciu a do políčka napíšte notepad. V zozname sa zobrazia všetky bežiace Poznámkové bloky. Ak nepoužijete hviezdičku na začiatku, skript aktivuje prvé nájdené okno spĺňajúce kritériá hľadania. Napríklad do políčka napíšte thunderbird a skript aktivuje prvé okno, ktoré obsahuje v titulku slovo thunderbird. Skript prehľadáva aj skryté okná. Ak do políčka zadáte len znak *, skript zobrazí zoznam všetkých okien, ktoré práve existujú.
  • search by letter: umožňuje vyvolať špecifické vyhľadávanie pomocou jednopísmenkovej skratky. Funguje podobne ako spúšťanie aplikácií funkciou appchooser, vyhľadávaný reťazec ku každej aplikácii je možné nadefinovať v konfiguračnom ini súbore appchoosera pre konkrétnu aplikáciu. Podrobnosti viď v príkladoch použitia app choosera nižšie.

Okrem uvedených položiek ponuka obsahuje nadefinované vyhľadávania aj s písmenkami, pomocou ktorých možno tieto vyhľadávania vykonať funkciou opísanou vyššie. Písmenká aktivujúce konkrétne vyhľadávania sú rovnaké ako pre app chooser. Definície vyhľadávaní sa načítavajú všetky pri spustení skriptu, nie až po spustení aplikácie, ktorá ich definuje. Toto umožňuje využiť definované skratky aj v prípade, že sme aplikáciu, ktorá skratku definuje, spustili inak ako pomocou appchoosera.

applications chooser

Skript shortcuts poskytuje funkcionalitu, ktorá umožňuje rýchlo spúšťať portable aplikácie. V nasledujúcich odstavcoch je detailne opísané jeho možné využitie a konfigurácia.

ponuka

Ponuka obsahuje nasledujúce položky:

  • Start chooser...: funkcia vyvolá dialóg app choosera. Ten obsahuje strom so zoznamom aplikácií, editačné pole pre prípad, keď je potrebné zadať aplikácii parametre, a prepínač, ktorým možno predať vybranému programu ako parameter aj obsah schránky. Viac informácií viď nižšie.
  • run by letter: funkcia umožňuje spustiť tie aplikácie, ktoré majú používateľom definovanú skratku pomocou zadania písmenka.
  • run multiple apps by letter: použite v prípade, že chcete spustiť viacero aplikácií za sebou. Písmenká zadávajte jedno po druhom, po každom stlačení písmenka bude okamžite spustená funkcia, ktorá je na písmenko namapovaná. Po stlačení Esc sa funkcia ukončí. Toto je využiteľné napríklad v situácii, keď máte na písmenko nadefinovanú aplikáciu, ktorá upravuje hlasitosť zameranej aplikácie (nircmd changeappvolume focused 0.x).
  • názvy tých programov, ktoré majú používateľom definovanú skratku. Bezprostredne pred názvom je v názve položky v ponuke používateľom definované písmenko, ktoré slúži na spúšťanie aplikácie cez funkciu run by letter.

jednoduchý príklad použitia

Fungovanie app choosera azda najlepšie ozrejmí príklad:

  1. vytvorte si adresár portable na ktoromkoľvek disku. Do neho nakopírujte tento skript (ideálne jeho exe, teda skompilovanú verziu) a vždy ho spúšťajte z tohto adresára.
  2. v adresári portable vytvorte podadresár firefox a do neho nakopírujte portable verziu Firefoxu.
  3. do adresára firefox vytvorte súbor s názvom appchooser.ini a do neho napíšte nasledujúce 3 riadky:
    • [run]
    • run=firefox\firefox.exe
    • letter=f
    • search=mozilla firefox

Po vyvolaní funkcie start chooser sa v zozname zobrazia všetky podadresáre adresára portable, ktoré obsahujú súbor appchooser.ini (všimnite si, že do kľúča run v súbore appchooser.ini sme napísali cestu k programu firefox.exe relatívnu vzhľadom na umiestnenie skriptu). Vyberte si v zozname jeden z podadresárov a stlačte OK (Enter). Po aktivovaní konkrétnej položky sa použije obsah súboru appchooser.ini na spustenie programu.

dialóg pre spúšťanie aplikácií

Dialóg pre spúšťanie aplikácií možno vyvolať funkciou „start chooser...“ v ponuke applications chooser. Slúži na spúšťanie portable aplikácií s korektne definovanými parametrami spustenia. Nasleduje popis jednotlivých elementov dialógu:

strom s aplikáciami

Strom s aplikáciami obsahuje stromovú štruktúru tých priečinkov a podpriečinkov priečinka, z ktorého bol spustený skript shortcuts.exe, ktoré obsahujú súbor appchooser.ini. Aplikáciu možno spustiť stlačením Enteru na konkrétnej aplikácii.

Appchooser prehľadáva priečinky rekurzívne a zanořuje sa do všetkých podpriečinkov priečinka, ktorý obsahuje súbor appchooser.ini. To znamená, že programy môžete organizovať do prehľadnej adresárovej štruktúry. Jedinou podmienkou pre zaradenie konkrétneho priečinka do stromovej štruktúry choosera je existencia (hoci aj prázdneho) súboru appchooser.ini.

Konfiguračné súbory pre spúšťanie jednotlivých aplikácií môžu byť aj oddelené od samotných aplikácií. Teda je možné vytvoriť si priečinok (napríklad !start), ktorý obsahuje prázdny súbor appchooser.ini a podpriečinky, ktoré obsahujú prázdne ini súbory alebo súbory definujúce spustenie konkrétnej aplikácie.

Ukážme si to na príklade. Nasleduje strom priečinkov a súborov modelovaný pomocou vnorených zoznamov:

  • !start - priečinok, ktorý bude obsahovať „zástupcov“ pre aplikácie
    • editory
      • audacity - obsahuje appchooser.ini pre spustenie audacity
      • appchooser.ini - môže byť aj prázdny
    • internet
      • firefox - obsahuje appchooser.ini pre spustenie firefoxu
      • thunderbird - obsahuje appchooser.ini pre spustenie thunderbirdu
      • appchooser.ini - môže byť aj prázdny
    • system
      • CCleaner - obsahuje appchooser.ini pre spustenie CCleanera
      • recuva - obsahuje appchooser.ini pre spustenie programu Recuva
      • appchooser.ini - môže byť aj prázdny
    • appchooser.ini, ktorý môže byť prázdny. Je tu len preto, aby bol priečinok v strome choosera
  • audacity - portable aplikácia Audacity bez appchooser.ini
  • CCleaner - portable aplikácia CCleaner bez appchooser.ini
  • firefox - obsahuje portable Firefox aj appchooser.ini, ktorý určuje, ako Firefox spustiť
  • recuva - portable Recuva bez appchooser.ini
  • thunderbird - obsahuje portable Thunderbird, neobsahuje appchooser.ini

Ak spustíme shortcuts v hore uvedenej štruktúre, na najvyššej úrovni sa zobrazia 2 položky (!start a firefox), pretože len tieto 2 priečinky obsahujú súbor appchooser.ini. Položka !start sa bude dať rozbaliť a bude obsahovať položky editory, internet a system, v ktorých budú odkazy na spustenie konkrétnych aplikácií.

Všimnite si, že Firefox možno spustiť z dvoch miest. Takisto si uvedomte, že ak sa má z oboch miest spúšťať ten istý Firefox s rovnakými parametrami, potom oba súbory appchooser.ini pre spustenie Firefoxu majú rovnakú hodnotu kľúča run, pretože cesty v kľúči run sú vždy relatívne k umiestneniu programu shortcuts, nie k umiestneniu konkrétneho ini súboru.

parametre príkazového riadka

Dialógové okno so zoznamom programov obsahuje aj editačné pole, do ktorého možno zadať parametre pre príkaz. V prípade, že teda máte napríklad programy, ktoré treba spúšťať z príkazového riadka, môžete si vytvoriť špeciálny adresár pre tieto programy nasledovne:

  • v adresári portable vytvorte podadresár, do ktorého dáte programy spúšťateľné len z príkazového riadka (nazvime ho napríklad prikazovy_riadok)
  • do adresára vložte súbor appchooser.ini s nasledujúcim obsahom:
    • [run]
    • run=prikazovy_riadok\
  • do adresára nakopírujte nejaké programy (napríklad ssh)

Potom použite program tak, že v zozname applications choosera vyberte položku prikazovy_riadok a do editačného políčka napíšte napríklad: ssh.exe meno@server.sk

spracovanie obsahu schránky

Trojstavový prepínač v dialógovom okne umožňuje určiť, či sa môže obsah schránky použiť ako parameter. Jeho nastavenie na jednu z pozitívnych hodnôt však nutne neznamená, že sa obsah schránky použije. Na to, aby sa obsah použil, je nutné určiť, na ktoré miesto a v akom formáte sa má obsah schránky vložiť.

Obsah schránky možno vložiť do kľúča run v ini súbore, ale aj do políčka pre parametre. Viac informácií možno nájsť v sekcii o ini súbore.

Prepínač možno nastaviť do jednej z nasledujúcich hodnôt:

  • clipboard processing depends on configuration: ak má prepínač túto hodnotu, potom sa obsah schránky použije len v prípade, že to dovoluje nastavenie v appchooser.ini konkrétnej aplikácie. Viac informácií možno nájsť v sekcii s názvom „appchooser.ini“ v tomto dokumente.
  • Pass clipboard as a parameter: hovorí, že sa má schránka použiť ako parameter. Použije sa však len za predpokladu, že je použitie definované v ini súbore alebo v editačnom políčku pre parametre aplikácie.
  • Do not process clipboard: ak je prepínač v tomto stave, potom sa obsah schránky nepoužije v žiadnom prípade.
Collapse all

Po aktivovaní dialógu app choosera je strom s odkazmi na programy rozbalený. Je teda možné v zobrazení stromu napísať jedno alebo viacero začiatočných písmen hľadanej položky a tým konkrétnu položku rýchlo nájsť.

V niektorých situáciách však môže byť rozbalený strom pomerne neprehľadný. Tlačidlo „Collapse All“ (má definovanú aj klávesovú skratku Alt+C) možno použiť na zbalenie stromu.

edit ini file

Tlačidlo slúži na automatické otvorenie ini súboru, ktorý prislúcha k položke vybratej v zobrazenom strome. Možno ho použiť na rýchlu úpravu konkrétneho ini súboru.

appchooser.ini

Súbor má štandardný ini formát. Obsahuje jedinú sekciu s názvom run.

Nasledujúce odstavce opisujú význam kľúčov, ktoré možno v sekcii run použiť:

run=cesta_k_súboru parametre

Určuje, ktorý exe program a s akými parametrami sa má spustiť. Ak je cesta k programu relatívna, potom sa program hľadá relatívne k umiestneniu, z ktorého bol spustený skript shortcuts.exe.

Parametre môžu obsahovať štandardné parametre programu, môžu však aj referencovať obsah schránky (pozri sekciu „použitie obsahu schránky ako parameter“).

letter=[a-z0-9]

Kľúč letter určuje písmenko, ktorým možno aplikáciu rýchlo spustiť cez položku run by letter nachádzajúcu sa v ponuke applications choosera (v príklade vyššie sme Firefoxu priradili písmenko f).

V hodnote kľúča „letter“ sa nerozlišujú veľké a malé písmená. Pri spúšťaní aplikácie cez run by letter však na veľkosti stlačeného písmena záleží:

  • malé písmeno priamo spúšťa konkrétnu aplikáciu
  • veľké písmeno spôsobí, že sa aplikácia „nalistuje“ v strome choosera a skript čaká na stlačenie OK

Tento trik možno použiť v situáciách, keď chceme aplikácii spúšťanej klávesovou skratkou zadať napríklad parametre.

Hodnota kľúča letter sa používa aj v prípade, že je definovaný parameter search. V takom prípade sa informácia o skratke a vyhľadávanom reťazci zobrazí v ponuke window titles a vyhľadávanie možno rýchlo vyvolať pomocou funkcie search by letter.

clipboardmask=číslo

Kľúč určuje, v ktorých prípadoch sa môže použiť obsah schránky ako parameter. Hodnota je súčtom jedného alebo viacerých čísel:

  • 1: aplikácia bola spustená z dialógu appchoosera
  • 2: aplikácia bola spustená pomocou používateľskej skratky
  • 4: aplikácia bola spustená pomocou skratky so Shiftom
  • 8: aplikácia bola spustená pomocou funkcie open alebo open by...

Predvolená hodnota je 0 (schránka sa nepoužije).

search=reťazec

Umožňuje nadefinovať rýchle vyhľadávanie pre titulok aplikácie. Reťazec môže byť aj regulárny výraz.

použitie obsahu schránky ako parameter

Kľúč run v súbore appchooser.ini, ale aj editačné políčko na pridávanie parametrov môže obsahovať niekoľko premenných, ktoré budú pri spustení aplikácie nahradené konkrétnym obsahom. Nasleduje ich zoznam so stručným popisom:

  • #p#: premenná je použiteľná len v kľúči run v súbore appchooser.ini a umožňuje umiestniť obsah editačného políčka s parametrami na konkrétne miesto. Ak premenná nie je v kľúči run použitá, parametre napísané do editačného políčka v dialógu app choosera sú automaticky pripojené na koniec.
  • #c#: premennú možno použiť v parametroch aj v kľúči run a pri spustení bude nahradená aktuálnym obsahom schránky. Schránka však nebude nijako spracovaná, preto túto substitúciu používajte opatrne.
  • #cf#: premenná bude opäť nahradená obsahom schránky, skript však predpokladá, že v schránke sú vložené súbory alebo priečinky prostredníctvom funkcií kopírovať alebo vystrihnúť v ľubovoľnom správcovi súborov. Takáto schránka bude spracovaná tak, aby bol každý súbor uzavretý v úvodzovkách ako samostatný parameter.
  • #cfs#: aj tu skript predpokladá, že schránka obsahuje súbory alebo priečinky. Program však bude skriptom spúšťaný sekvenčne – postupne na každý súbor zvlášť.
  • parametre #c#, #cf# a #cfs# budú substituované len v prípade, že bude aplikácia spustená spôsobom, ktorý pripúšťa odovzdanie schránky ako parametra (clipboardmask v ini súbore), alebo bude aplikácia spustená z dialógu app choosera s prepínačom nastaveným na hodnotu „Pass clipboard as a parameter“. V ostatných prípadoch budú všetky 3 premenné ignorované.

Fungovanie premenných si ešte priblížme príkladmi:

Predpokladajme, že máme program konvert.exe, ktorý očakáva ako prvý parameter -quality, za ktorým nasleduje číslo od 0 po 9, a potom zoznam mp3 súborov, ktorým zníži kvalitu podľa prvého parametra. Ak preň vytvoríme adresár a do appchooser.ini napíšeme nasledovne:

[run]

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

Môžeme program spustiť na viacero súborov takto:

  1. v ľubovoľnom správcovi súborov označme niekoľko mp3 súborov a skopírujme ich do schránky (napríklad d:\a.mp3 a d:\b.mp3)
  2. vyvolajme dialóg app choosera a v zozname vyberme položku konvert
  3. do editačného políčka pre parametre napíšme napríklad číslo 5
  4. po stlačení OK skript spustí program v tvare: konvert\convert.exe -quality5 "d:\a.mp3" "d:\b.mp3"

Predpokladajme, že si chceme uľahčiť upravovanie wma súborov pomocou programu freeme2. Ten vyžaduje ako parameter len jeden názov súboru. Okrem toho pozná parameter -v, ktorým zapneme podrobný výpis priebehu úpravy.

Program teda spustíme v interpreteri príkazového riadka (aby sme mohli presmerovať jeho chybový výstup do súboru) a súbor appchooser.ini bude vyzerať takto:

[run]

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

Program freeme2 bude postupne spustený na všetkých súboroch v schránke a jeho chybový výstup bude pridávaný na koniec súboru log.txt.

miscellaneous

Ponuka obsahuje rôzne jednoduché funkcie. Nasleduje opis menej zrozumiteľných:

  • open a open by...: pozri nasledujúcu podsekciu
  • Clipboard already contains data: Po vyvolaní tejto funkcie nebude pri najbližšej vyvolanej funkcii využívajúcej schránku simulované kopírovanie do schránky. Funkcie budú predpokladať, že dáta, ktoré majú spracovávať, sú v schránke. V súčasnosti využívajú na získanie informácií o označených súboroch simulované kopírovanie do schránky funkcie „Play file under cursor“, „open“ a „open by...“.
  • set text marker a goto text marker: funkcie umožňujú vytvoriť si „záložku“ v štandardnom textovom komponente (Notepad, WordPad, ...) a potom sa na ňu presunúť. Vytváranie záložiek funguje len v štandardných editačných poliach, nefunguje napríklad v MS Worde, okne internetového prehliadača a podobne. Záložky sa nedokážu synchronizovať, ak text meníte. Teda ak si urobíte záložku na 5. riadku textu a potom vložíte medzi druhý a tretí riadok nový riadok, záložka sa „posunie“. Sú teda užitočné hlavne pri čítaní dlhých textov, v ktorých potrebujete „odskakovať“ a potom sa vracať na pôvodné miesto. Dajú sa použiť aj na označovanie. Funkcia „select to the marker“ umožňuje označiť text medzi aktuálnou pozíciou kurzora a zadanou záložkou.
  • beep till the end of the minute: pípanie po sekundách do konca aktuálnej minúty. Používam na nastavovanie hodiniek :)
  • eject drive by letter: po vyvolaní stlačte písmenko diskovej jednotky, ktorú chcete vysunúť. Užitočné na rýchle odpájanie USB kľúča od počítača a pod. Po aktivovaní funkcie shortcuts oznámi prostredníctvom bubliny, či sa disk podarilo odpojiť. „Probably ejected“ znamená v drvivej väčšine prípadov, že odpojenie bolo úspešné. Poznámka pre tých, čo sa im zle pracuje s tlačidlom na CD/DVD mechanikách: funkciu možno použiť aj na vysunutie mechaniky.
  • open notes for application: po vyvolaní tejto funkcie sa shortcuts pokúsi otvoriť súbor nazov_procesu.txt v priečinku !shortcutsnotes. Ak spomenutý priečinok alebo súbor ešte neexistuje, bude najprv vytvorený. Funkcia je určená na jednoduché organizovanie poznámok, ktoré si môžete ukladať do samostatných súborov pre rôzne aplikácie. Idea: pracujem v programe vim a chcem si k nemu napísať nejaké poznámky. Vyvolám túto funkciu a automaticky sa mi vytvorí súbor gvim.exe.txt, ktorý sa mi otvorí v predvolenom textovom editore. Do tohto súboru si môžem napísať poznámky k gvimu a neskôr sa k nim vrátiť.

open a open by...

Funkcie slúžia na automatické spúšťanie portable programu v závislosti od typu označeného súboru. Teda simulujú funkcionalitu operačného systému Windows, kde možno ku konkrétnemu typu súboru asociovať program, ktorý ho má otvárať.

Asociácie definujeme v súbore shortcuts.cfg, ktorý sa musí nachádzať v priečinku, z ktorého je spustený samotný skript shortcuts. Formát súboru je nasledovný:

  • skript spracováva všetky také riadky, ktoré obsahujú najmenej 2 a najviac 3 údaje oddelené tabulátorom
  • všetky ostatné riadky (tie, ktoré neobsahujú znak tabulátora) sú ignorované a teda môžu byť použité na písanie komentárov. Pri písaní komentárov odporúčam používať znak ;

Údaje na funkčných riadkoch konfigurácie majú zľava doprava nasledujúci význam:

  1. Perl-kompatibilný regulárny výraz, ktorým sa testuje obsah schránky
  2. cesta k priečinku obsahujúcemu appchooser.ini
  3. voliteľná operácia nahradenia (regex replace)

Na konci súboru môže byť tretí parameter, ktorý sa používa ako náhrada pri operácii „nájdi a nahraď“. V prípade, že chceme použiť prázdny reťazec, ukončíme riadok bezprostredne za druhým parametrom tabulátorom.

Teda ak riadok končí tabulátorom, skript predpokladá, že chceme pri nahrádzaní nahradiť časť schránky popísanú regulárnym výrazom z prvého parametra prázdnym reťazcom.

Pozor: pri nahrádzaní sa nahradia všetky výskyty výrazu. Ak chceme v náhradnom reťazci referencovať zachytené časti regulárneho výrazu, použijeme premenné $1 až $9 (v AutoHotkey sa znak \ v referenciách nahrádza znakom $).

Celkom dobrý článok o regulárnych výrazoch v češtine možno nájsť tu: http://www.nti.tul.cz/~satrapa/docs/regvyr/all.html

Na konci článku je aj časť venovaná perlovským modifikáciám regulárnych výrazov. Operáciu „nájdi a nahraď“ vykonáva funkcia RegExReplace, ktorej dokumentáciu v angličtine nájdete tu: http://www.autohotkey.com/docs/commands/RegExReplace.htm

Nakoniec spomeňme aj stránku: http://www.pcre.org/ venovanú Perl Compatible Regular Expressions.

Obsah schránky môže byť pri testovaní regulárnymi výrazmi v pravidlách definovaných v súbore shortcuts.cfg popísaný viacerými pravidlami.

Funkcia „open“ spustí program z prvého takého pravidla, ktorého regulárny výraz popisuje obsah schránky.

Funkcia „open by...“ zobrazí zoznam všetkých takých programov, ktorých regulárne výrazy popisujú obsah schránky a umožní používateľovi vybrať si program, ktorý chce spustiť.

Skôr ako si názorne ukážeme niekoľko funkčných pravidiel, popíšeme, čo sa stane, ak používateľ vyvolá funkciu open by... na jednom alebo viacerých označených súboroch:

  1. po vyvolaní funkcie bude (v prípade, že nebola aktivovaná funkcia „Clipboard already contains data“) zazálohovaný aktuálny obsah schránky a následne simulované kopírovanie do schránky. Ak bude kopírovanie neúspešné (kurzor nie je na niečom, čo sa dá skopírovať do schránky), rutina „open by...“ sa ukončí s príslušným chybovým hlásením.
  2. následne sa začne obsah schránky postupne testovať všetkými regulárnymi výrazmi v prvom parametri pravidiel definovaných v súbore shortcuts.cfg a bude vytvorený zoznam všetkých takých programov, ktorých regulárne výrazy obsah schránky popisujú.
  3. po otestovaní všetkých pravidiel bude používateľovi zobrazený zoznam všetkých „použiteľných“ programov
  4. používateľ si vyberie a potvrdí jeden z programov
  5. ak má zvolený program definovaný tretí parameter, potom bude na schránke vykonaná operácia „nájdi a nahraď“, v ktorej sa použije prvý a tretí parameter pravidla príslušného k používateľom vybranému programu
  6. nakoniec sa spustí zvolený program a schránka sa použije ako parameter podľa toho, ako je to definované v appchooser.ini zvoleného programu. appchooser.ini zvoleného programu musí okrem definície použitia schránky (umiestnenie aspoň jednej z premenných #c#, #cf#, #cfs#) obsahovať v súčte parametra clipboardmask hodnotu 8 (povoľujeme použitie schránky v prípade, že je program spustený cez funkcie open a open by...)

Pozrime sa teraz ešte na niekoľko príkladov funkčných pravidiel:

; súbory s príponou txt otvoríme programom Notepad++ nachádzajúcim sa v priečinku !appchooser\editors. Tretí parameter je prázdny. Výraz popisuje schránku, ktorá obsahuje práve jeden riadok končiaci príponou .txt.

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

; nasledujúce pravidlo umožňuje spustiť program freeme2 na schránke, ktorá obsahuje jeden alebo viacero wma súborov

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

; nasledujúce pravidlo spúšťa program foobar2000 na zozname, ktorý obsahuje súbory vo formátoch wav, mp3, ogg a wma. V appchooser.ini foobaru použite parameter #cf#, aby boli súbory predané ako zoznam súborov. Potom budú vložené do predvoleného playlistu.

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

; nasledujúce pravidlo „vyhryzne“ z označeného riadku internetovú adresu a otvorí ju vo Firefoxe. Tretí parameter referencuje internetovú adresu. Pravidlo je využiteľné napríklad v situácii, keď máme v texte URL obklopenú iným textom.

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

; nakoniec definujme pravidlo, ktoré vyhryzne z riadku textu IP adresu a podhodí ju ako parameter stránke ip2location.com. Otáznik za hviezdičkou je špecialita PCRE, ktorá vypína „greediness“ iterácie

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

Parametre príkazového riadka

Skript shortcuts.exe pozná nasledovné parametre príkazového riadka:

  • -nobeep: parameter deaktivuje pípanie cez PC speaker. Skript teda vydáva zvuky len pri regulovaní hlasitosti.
  • -visualbeep: pri každom pípaní zobrazuje aj krátky popisný text ako bublinovú nápovedu. Parameter možno kombinovať s predchádzajúcim.

Súbory na stiahnutie

  • skompilovaná verzia skriptu nevyžaduje inštaláciu AutoHotkey. Stačí ju stiahnuť, skopírovať do ľubovoľného priečinka a spustiť.
  • zdrojový kód skriptu je možné takisto spúšťať, je však potrebné nainštalovať AutoHotkey interpreter.
  • windows.zip archív obsahuje jeden priečinok, ktorý demonštruje použitie shortcuts na spúšťanie aplikácií vo Windows a otváranie konkrétnych nastavení z Ovládacieho panela vo Windows 7. Archív rozbaľte do priečinka, z ktorého spúšťate shortcuts, a vyskúšajte appchooser.

Zmeny

2015-05-02: aktualizácia shortcuts:

  • pridaná funkcionalita na rýchle odpojenie USB kľúčov, vysunutie CD-ROM, ... pozri ponuku miscellaneous
  • v dialógu app choosera pribudlo tlačidlo na rýchlu editáciu ini súboru, pozri kapitolu o app chooseri
  • pribudla položka window titles, do ktorej bolo presunuté vyhľadávanie v titulkoch okien
  • pribudla možnosť definovať si skratky pre rýchle vyhľadávanie v titulkoch, viac informácií v kapitole o window titles, aj v kapitole o formáte ini súboru
  • pridaná funkcia open notes for application, umožňujúca vytvárať textové súbory s poznámkami k jednotlivým procesom (podľa názvu procesu). Viac informácií pozri v ponuke miscellaneous
  • pridaná funkcia run by more letters, umožňujúca spustiť viacero aplikácií s asociovanými písmenami bez nutnosti stále aktivovať funkciu run by letters. Podrobnosti pozri v ponuke applications chooser
  • odstránená všetka funkcionalita na upravovanie hlasitosti, v teraz používaných verziách Windows nefunguje. Tí, čo ste ju používali, hľadajte inšpiráciu v sekcii venovanej funkcii run by more letters

2011-08-07: aktualizácia shortcuts:

  • pridané funkcie open, open by... a clipboard already contains data. Pozri ponuku a dokumentáciu ponuky miscellaneous

2011-06-19: aktualizácia shortcuts:

  • zoznam aplikácií v dialógu app choosera bol nahradený komponentom strom. Toto umožňuje organizovať aplikácie do priečinkov. Strom je automaticky rozbalený, aby v ňom bolo možné aj vyhľadávať
  • možnosť konfigurovať použitie schránky ako parameter. Použitie možno vynútiť v appchooser.ini konkrétnej aplikácie, alebo nastaviť v dialógu app choosera
  • zmena v ponuke app choosera: aplikácie s používateľsky definovanou skratkou sú pridávané ako položky vo formáte skratka:cesta_k_aplikácii
  • pridané tlačidlo „collapse all“, ktoré umožňuje zbaliť strom s aplikáciami v app chooseri
  • pomenované schránky shortcuts fungujú aj vo Windows 7

2010-12-29: aktualizácia shortcuts:

  • parameter príkazového riadka „visualbeep“ nahrádza pípanie cez PC speaker, ak je to potrebné. Viac info v sekcii o parametroch príkazového riadka
  • appchooseru možno predávať ako parameter aj obsah schránky. Schránku možno poslať spúšťanej aplikácii bez spracovania, spracovanú ako postupnosť súborov, alebo aplikáciu spúšťať sekvenčne na každý súbor zvlášť (za predpokladu, že sú v schránke súbory). Viac info v dokumentácii

2010-09-22: aktualizácia shortcuts:

  • pridané funkcie append line break to active clipboard a flush active clipboard
  • parametrom príkazového riadka (-nobeep) možno vypnúť pípanie cez PC speaker

2010-07-24: aktualizácia shortcuts:

  • upravený systém spúšťania aplikácií v app chooseri (invoke.txt bol premenovaný na appchooser.ini a je teraz v štandardnom INI formáte)
  • možnosť definovať skratky k aplikáciám
  • menu app choosera sa generuje automaticky pri spustení skriptu, okrem položky na spustenie choosera a vyvolanie programu pomocou definovaného písmena obsahuje aj všetky programy, ktoré majú asociovanú nejakú skratku
  • všetky skratky v tvare Alt+Win+niečo boli zmenené tak, aby nedochádzalo ku konfliktom s inými programami (skrytie okna: Apps+E, hľadanie v titulkoch okien: Apps+W, pípanie do konca minúty: Apps+=, monitorovanie okna: Apps+-)
  • skratka na ukončenie skriptu bola zrušená (ukončiť ho možno cez kontextovú ponuku)

2010-07-11: aktualizácia shortcuts:

  • označenie začiatku a konca bloku zrušené a nahradené vytváraním záložiek v štandardnom editačnom poli
  • možnosť označovať medzi kurzorom a záložkou
  • kopírovanie obsahu Windows schránky do aktívnej AHK schránky a naopak (shiftové gestá)
  • gesto na pomenovanie okna a aktivácia pomenovaného okna (Ctrl+Apps gestá)
  • vyriešený problém s písaním zavináča na SK klávesnici (upravené skratky, pozri kontextovú ponuku)
  • aktualizácia popisu na stránke