Ubuntu Česko Externí skripty a příkazy pro Conky

  • Edit
  • Diskuze
  • Info
  • Attachments

IconsPage/warning.png Návod je ve výstavbě!

Tento návod popisuje externí skripty a příkazy použitelné v programu Conky. Základní popis tohoto programu najdete zde.

IconsPage/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 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

IconsPage/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.

IconsPage/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:

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

    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 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

IconsPage/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 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}

IconsPage/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 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

ubuntu-cz: Externí skripty a příkazy pro Conky (last edited 2010-06-29 08:06:58 by 89-24-24-203)