conky:externí_skripty_a_příkazy

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Následující verze
Předchozí verze
conky:externí_skripty_a_příkazy [2012/07/19 20:26] – vytvořeno ubuntuconky:externí_skripty_a_příkazy [2019/02/25 18:21] (aktuální) – upraveno mimo DokuWiki 127.0.0.1
Řádek 1: Řádek 1:
 +====== 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í:
 +
 +<code>
 +${texeci 360 ~/.conky/weather.pl Prague cz m ~/.conky/weather.template ~/.conky/weather.conky}
 +${execpi 247 cat ~/.conky/weather.conky}
 +</code>
 +
 +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:
 +
 +<code>
 +${texeci 300 ~/.conky/tv.pl 4 49 yes}
 +</code>
 +
 +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:
 +
 +<code>
 +${execpi 60 cat ~/.conky/tv.conky}${texeci 300 ~/.conky/tv.pl 4 49 color3 > ~/.conky/tv.conky}
 +</code>
 +
 +    * 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:
 +
 +<code>
 +${texeci 3600 ~/.conky/rates.pl}
 +</code>
 +
 +{{:tip.png}} Výstup skriptu si můžete lehce upravit, stačí změnit následující část skriptu:
 +
 +<code>
 +print sprintf("%d", $rlDay).". ".sprintf("%d", $rlMonth).". ".$rlYear."     \$ ".rate("USD")." Kč, € ".rate("EUR")." Kč\n";
 +</code>
 +
 +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):
 +
 +<code>
 +${font monospace:size=10}${execi 3600 cal -m}$font
 +</code>
 +
 +{{.: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:
 +
 +<code>
 +${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
 +</code>
 +
 +{{.:cal2.png}}
 +
 +    * Od verze 1.5.0 je v Conky možné zvýraznit dnešní datum barevně:
 +
 +<code>
 +${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
 +</code>
 +
 +{{.: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:
 +
 +<code>
 +${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
 +</code>
 +
 +====== 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:
 +
 +<code>
 +${execi 10 xsel -b}
 +</code>
 +
 +a výběr myší příkazem:
 +
 +<code>
 +${execi 10 xsel}
 +</code>
 +
 +====== Odkazy ======
 +  * [[http://conky.sourceforge.net/|Domácí stránka Conky]]