====== Externí skripty a příkazy pro Conky ====== {{page>konvence/nedokončený}} Tento návod popisuje externí skripty a příkazy použitelné v programu [[http://conky.sourceforge.net/|Conky]]. Základní popis tohoto programu najdete [[:Conky|zde]]. {{:important.png}} Náročnější skripty je třeba pouštět ve vlastním vlákně pomocí příkazu ''texeci''. Při použití běžného ''execi'' čeká [[:Conky]] se zobrazením na dokončení skriptu. To způsobuje nepříjemné problikávání nebo mizení Conky. Vadí to obzvláště u skriptů, které stahují data, neboť i stahování malých souborů může být zdlouhavé kvůli jinému souběžnému stahování. ====== Počasí (CZ/SK/EN) ====== Tento skript zobrazuje informace o počasí podle serveru [[http://xoap.weather.com|xoap.weather.com]]. Skript vyžaduje Conky 1.5.0 či vyšší a nainstalovaný balík ''libxml-simple-perl''. K zobrazení ikonek je dále nutné nainstalovat font [[http://www.mythicalireland.com/art/wallpapers/fonts/wef_____.ttf|Weather]]. Stáhněte si skript {{.:weather.pl}}, uložte jej do adresáře "''~/.conky''", a nastavte mu [[Spustitelný příznak|spustitelný příznak]]. Použití v Conky je následující: ${texeci 360 ~/.conky/weather.pl Prague cz m ~/.conky/weather.template ~/.conky/weather.conky} ${execpi 247 cat ~/.conky/weather.conky} Skript {{.:weather.pl}} má pět parametrů: ===== Parametr č. 1: kód místa ===== Kód místa, ke kterému se vztahují informace o počasí. Svůj kód si vyberte v následující tabulce: |**Česká republika**| |//název dle weather.com//|//kód//|//skutečný název//| //název dle weather.com// ||//kód//|//skutečný název//| |Beroun|EZXX0001|Beroun| Lysa Hora ||EZXX0029|Lysá hora| |Breclav|EZXX0035|Břeclav| Milesovka ||EZXX0020|Milešovka| |Brno|EZXX0002|Brno| Nachod ||EZXX0047|Náchod| |Budweis|EZXX0030|České Budějovice| Olomouc ||EZXX0038|Olomouc| |Cervena|EZXX0027|Červená hora| Opava ||EZXX0008|Opava| |Cesky Tesin|EZXX0003|Český Těšín| Ostrava ||EZXX0009|Ostrava| |Cheb|EZXX0017|Cheb| Pardubice ||EZXX0034|Pardubice| |Chomutov|EZXX0044|Chomutov| Pilsen ||EZXX0010|Plzeň| |Churanov|EZXX0019|Churáňov| Pisek ||EZXX0011|Písek| |Dormazlice|EZXX0040|Domažlice| Prague ||EZXX0012|Praha| |Frydek|EZXX0004|Frýdek| Praha-Libus ||EZXX0022|Praha-Libuš| |Hodonin|EZXX0036|Hodonín| Pribyslav ||EZXX0025|Přibyslav| |Holesov|EZXX0028|Holešov| Primda ||EZXX0018|Přimda| |Jaromer|EZXX0032|Jaroměř| Prostejov ||EZXX0049|Prostějov| |Jesenik|EZXX0037|Jeseník| Rosice ||EZXX0013|Rosice| |Jicin|EZXX0031|Jičín| Slavkov u Brna ||EZXX0014|Slavkov u Brna| |Jindrichuv Hradec|EZXX0039|Jindřichův Hradec| Strakonice ||EZXX0042|Strakonice| |Karlovy Vary|EZXX0045|Karlovy Hory| Sumperk ||EZXX0048|Šumperk| |Karvina|EZXX0005|Karviná| Tabor ||EZXX0015|Tábor| |Kladno|EZXX0006|Kladno| Trebic ||EZXX0033|Třebíč| |Klatovy|EZXX0041|Klatovy| Trutnov ||EZXX0046|Trutnov| |Kocelovice|EZXX0021|Kocelovice| Turnov ||EZXX0043|Turnov| |Kolin|EZXX0007|Kolín| Usti Nad Orlici ||EZXX0026|Ústí nad Orlicí| |Kostelni Myslova|EZXX0024|Kostelní Myslová| Usti nad Labem ||EZXX0016|Ústí nad Labem| |Liberec|EZXX0023|Liberec| | |||| |**Slovensko**| |//název dle weather.com//|//kód//|//skutečný název//| //název dle weather.com// ||//kód//|//skutečný název//| |Banska Stiavnica|LOXX0013|Banská Štiavnica| Piestany ||LOXX0008|Piešťany| |Bardejov|LOXX0017|Bardejov| Poprad ||LOXX0005|Poprad| |Bratislava|LOXX0001|Bratislava| Prievidza ||LOXX0011|Prievidza| |Brezno|LOXX0028|Brezno| Rimavska Sobota ||LOXX0015|Rimavská Sobota| |Cadca|LOXX0019|Čadca| Roznava ||LOXX0014|Rožňava| |Handlova|LOXX0012|Handlová| Senec ||LOXX0006|Senec| |Humenne|LOXX0025|Humenné| Senica ||LOXX0020|Senica| |Ivanka pri Dunaji|LOXX0002|Ivanka pri Dunaji| Sliac ||LOXX0009|Sliač| |Kosice|LOXX0003|Košice| Snina ||LOXX0018|Snina| |Levice|LOXX0022|Levice| Stropkov ||LOXX0016|Stropkov| |Lucenec|LOXX0024|Lučenec| Topolcany ||LOXX0023|Topoľčany| |Martin|LOXX0010|Martin| Trencin ||LOXX0027|Trenčín| |Nitra|LOXX0021|Nitra| Trnava ||LOXX0007|Trnava| |Nove Zamky|LOXX0004|Nové Zámky| Zilina ||LOXX0026|Žilina| {{:tip.png}} Další kódy můžete najít na adrese [[http://xoap.weather.com/search/search?where=Prague]], kde ''Prague'' nahradíte vaší polohou. Tabulka by však měla obsahovat všechny možnosti pro Českou republiku i Slovensko. {{:tip.png}} Místo kódu můžete použít i název dle prvního sloupce tabulky. ===== Parametr č. 2: jazyk ===== Jazyk, ve kterém má být výstup. Možné hodnoty jsou "''cz''" pro češtinu, "''sk''" pro slovenštinu a "''en''" pro angličtinu. ===== Parametr č. 3: soustava jednotek ===== Použitá soustava jednotek. Možné hodnoty jsou "''m''" pro metrickou soustavu a "''s''" pro imperiální soustavu. ===== Parametr č. 4: šablona ===== Soubor se šablonou, která určuje podobu výstupu. Šablona má stejnou syntaxi jako konfigurační soubor pro Conky, navíc ale můžete použít nové příkazy vztahující se k počasí. Jednotlivé příkazy naleznete v nápovědě ve skriptu. Příklady šablon: * {{.:weather.template}} (vyžaduje font ''Weather'') {{.:weather.png}} ===== Parametr č. 5: soubor pro výstup ===== Soubor, do kterého se ukládá výstup. ====== Televizní program (CZ) ====== Tento skript zobrazuje právě vysílané pořady na ČT1, ČT2, Nově a Primě, tak jak jsou popsány v tomto [[http://www.tampiss.com/rss/tv_online.xml|zdroji]]. Data víceméně odpovídají programu z televizních magazínů. Stáhněte si skript {{.:tv.pl}}, uložte jej do adresáře "''~/.conky''", a nastavte mu [[Spustitelný příznak|spustitelný příznak]]. V Conky použijte příkaz: ${texeci 300 ~/.conky/tv.pl 4 49 yes} Pochopitelně můžete změnit použité parametry skriptu. První parametr je velikost odsazení a druhý parametr je počet znaků pro zalomení řádku. Odsazení i zalomení se týká jen názvů a popisů pořadů. Poslední parametr určuje, zda má být zobrazen podrobný popis programů – "''yes''" pro zobrazení a "''no''" pro vynechání popisu. * Varianta bez popisu {{.:tv_no.png}} * Varianta s popisem {{.:tv_yes.png}} Od verze 1.5.0 umožňuje Conky parsovat výstup skriptu. To umožňuje změnit pro zpřehlednění barvu popisu na ''ColorX'' (viz [[http://conky.sourceforge.net/variables.html|popis proměnných v Conky]]), stačí jako poslední parametr uvést %%colorX%% (malá písmena!). V Conky je ale nutné použít jiný postup: ${execpi 60 cat ~/.conky/tv.conky}${texeci 300 ~/.conky/tv.pl 4 49 color3 > ~/.conky/tv.conky} * Varianta s barevně odlišeným popisem {{.:tv_color3.png}} {{:warning.png}} Po půlnoci jsou ve zdroji chybně data až pro následující den. ====== Kurzy měn (CZ) ====== {{.:rates.png}} Skript zobrazuje aktuální kurzy z oficiálního [[http://www.cnb.cz/cs/financni_trhy/devizovy_trh/kurzy_devizoveho_trhu/denni_kurz.txt|zdroje]] na serveru [[http://www.cnb.cz|ČNB]], který je aktualizován každý den, kdy se obchoduje na burze, krátce po 14:00. Stáhněte si skript {{.:rates.pl}}, uložte jej do adresáře "''~/.conky''", a nastavte mu [[:Spustitelný příznak|spustitelný příznak]]. V Conky použijte příkaz: ${texeci 3600 ~/.conky/rates.pl} {{:tip.png}} Výstup skriptu si můžete lehce upravit, stačí změnit následující část skriptu: print sprintf("%d", $rlDay).". ".sprintf("%d", $rlMonth).". ".$rlYear." \$ ".rate("USD")." Kč, € ".rate("EUR")." Kč\n"; Funkce ''rate'' vrací kurz měny s daným kódem. Další měny i jejich kódy najdete ve [[http://www.cnb.cz/cs/financni_trhy/devizovy_trh/kurzy_devizoveho_trhu/denni_kurz.txt|zdroji]]. ====== Kalendář ====== Ke správnému zobrazení kalendáře je potřeba některý font s pevnou šířkou, např. ''monospace''. * Nejjednudušší možností je zavolat přímo systémový příkaz "''cal -m''" (parametr ''m'' je pro týden začínající pondělkem): ${font monospace:size=10}${execi 3600 cal -m}$font {{.:cal1.png}} * Následující složitější příkaz vyřeší problémy se zarovnáním doleva, navíc zvýrazní dnešní datum: ${font monospace:size=10}${execi 3600 cal -m | awk 'NR>1' | sed -e 's/ / /g' -e 's/[^ ] /& /g' -e 's/..*/ & /' -e 's/ \('`date | awk '{print $3}'`'\) /\['`date | awk '{print $3}'`'\]/'}$font {{.:cal2.png}} * Od verze 1.5.0 je v Conky možné zvýraznit dnešní datum barevně: ${font monospace:size=10}${execpi 3600 cal -m | awk 'NR>1' | sed -e 's/ / /g' -e 's/[^ ] /& /g' -e 's/..*/ & /' -e 's/ \('`date | awk '{print $3}'`'\) /\ $\{color blue\}'`date | awk '{print $3}'`'\$color /'}$font {{.:cal3.png}} * V Ubuntu 10.04 takto nastavený kalendář nefunguje. U příkazu "cal" je potřeba smazat parametr "-m". Příkaz nyní vypadá takto: ${font monospace:size=10}${execpi 3600 cal | awk 'NR>1' | sed -e 's/ / /g' -e 's/[^ ] /& /g' -e 's/..*/ & /' -e 's/ \('`date | awk '{print $3}'`'\) /\ $\{color blue\}'`date | awk '{print $3}'`'\$color /'}$font ====== Zobrazení obsahu schránky ====== K práci se schránkou je třeba nainstalovat balík ''xsel''. Obsah schránky zobrazíte v [[Conky]] příkazem: ${execi 10 xsel -b} a výběr myší příkazem: ${execi 10 xsel} ====== Odkazy ====== * [[http://conky.sourceforge.net/|Domácí stránka Conky]]