Externí skripty a příkazy pro Conky
Tento návod popisuje externí skripty a příkazy použitelné v programu Conky. Základní popis tohoto programu najdete zde.
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 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 Weather.
Stáhněte si skript weather.pl, uložte jej do adresáře „~/.conky“, a nastavte mu 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 | |
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.
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)
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 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. 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
- Varianta s popisem
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 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
Po půlnoci jsou ve zdroji chybně data až pro následující den.
Kurzy měn (CZ)
Skript zobrazuje aktuální kurzy z oficiálního zdroje na serveru Č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. V Conky použijte příkaz:
${texeci 3600 ~/.conky/rates.pl}
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 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“ (parametrmje pro týden začínající pondělkem):
${font monospace:size=10}${execi 3600 cal -m}$font
- 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
- 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
- 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}








