abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 21:00 | IT novinky

    RubyMine, tj. IDE pro Ruby a Rails od společnosti JetBrains, je nově zdarma pro nekomerční použití.

    Ladislav Hagara | Komentářů: 0
    včera 18:22 | Nová verze

    Český LibreOffice tým vydává překlad příručky LibreOffice Calc 25.2. Calc je tabulkový procesor kancelářského balíku LibreOffice. Příručka je ke stažení na stránce dokumentace.

    ZCR | Komentářů: 2
    včera 01:44 | Nová verze

    Byla vydána (Mastodon, 𝕏) vývojová verze 3.1.4 příští stabilní verze 3.2 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání.

    Ladislav Hagara | Komentářů: 0
    1.9. 23:44 | Nová verze

    Zakladatel ChimeraOS představil další linuxovou distribuci zaměřenou na hráče počítačových her. Kazeta je linuxová distribuce inspirována herními konzolemi z 90. let. Pro hraní hry je potřeba vložit paměťové médium s danou hrou. Doporučeny jsou SD karty.

    Ladislav Hagara | Komentářů: 0
    1.9. 23:00 | Nová verze

    Komunita kolem Linuxu From Scratch (LFS) vydala Linux From Scratch 12.4 a Linux From Scratch 12.4 se systemd. Nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů přichází s Glibc 2.42, Binutils 2.45 a Linuxem 6.15.1. Současně bylo oznámeno vydání verze 12.4 knih Beyond Linux From Scratch (BLFS) a Beyond Linux From Scratch se systemd.

    Ladislav Hagara | Komentářů: 0
    1.9. 10:55 | Pozvánky

    Organizátoři konference LinuxDays ukončili veřejné přihlašování přednášek. Teď je na vás, abyste vybrali nejlepší témata, která na letošní konferenci zaznějí. Hlasovat můžete do neděle 7. září. Poté podle výsledků hlasování organizátoři sestaví program pro letošní ročník. Konference proběhne 4. a 5. října v Praze.

    Petr Krčmář | Komentářů: 13
    1.9. 02:22 | Nová verze

    Byla vydána verze 11.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    31.8. 06:00 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. Vypíchnout lze, že v Plasmě byl implementován 22letý požadavek. Historie schránky nově umožňuje ohvězdičkovat vybrané položky a mít k ním trvalý a snadný přístup.

    Ladislav Hagara | Komentářů: 0
    30.8. 20:00 | Nová verze

    Wayfire, kompozitní správce oken běžící nad Waylandem a využívající wlroots, byl vydán ve verzi 0.10.0. Zdrojové kódy jsou k dispozici na GitHubu. Videoukázky na YouTube.

    Ladislav Hagara | Komentářů: 0
    30.8. 04:00 | Komunita

    Před necelými čtyřmi měsíci byl Steven Deobald jmenován novým výkonným ředitelem GNOME Foundation. Včera skončil, protože "nebyl pro tuto roli v tento čas ten pravý".

    Ladislav Hagara | Komentářů: 7
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (81%)
     (8%)
     (2%)
     (3%)
     (4%)
     (2%)
    Celkem 129 hlasů
     Komentářů: 9, poslední 28.8. 11:53
    Rozcestník

    ANSI řídící sekvence

    23.7.2008 08:26 | Přečteno: 1877× | Linux

    Pokud chcete do konzole vypisovat barevný text máte v podstatě dvě možnosti. Můžete na to jít od lesa a použít nějakou knihovnu (například ncurses nebo slang). Nebo použít ANSI Escape sekvence, které jsou s námi již více než 30 let.

    Escape sekvence jsou kombinace znaků uvozené znakem escape (ASCII 27 [nebo také 033 a 0x1b]). Terminál by neměl tyto sekvence vypisovat, ale interpretovat. Pomocí escape sekvencí můžeme měnit základní parametry terminálu - barva popředí, barva pozadí nebo pozice kurzoru. Můžeme také vykonávat základní operace jako smazání obrazovky, řádku, nebo dokonce zjišťovat parametry terminálu.

    Tento blogpost vychází z článku který vyšel na mém webu, kde najdete také jednoduchou knihovnu v Céčku. Kdyby mi něco na webu nefungovalo dejte mi vědět, nedávno jsem přešel na Drupal (o RSS vím).

    Barvičky a atributy textu

    Barvy a atributy textu se nastavují pomocí escape sekvence ESC[x;x;xm kde se na místech x uvádí jednotlivé atributy.

    Barvy jsou číslovány následovně: Černá (0), Červená (1), Zelená (2), Žlutá (3), Modrá (4), Fialová (5), Azurová (6) a Bílá (7). Číslo 9 reprezentuje defaultní barvu. Pokud se barva používá, přičítá se k ní 30 pro barvu popředí, nebo 40 pro barvu pozadí.

    Narozdíl od barev není podpora atributů textu moc dobrá. Terminály obvykle znají všechny atributy, nicméně vizuální podoba se výrazně liší terminál od terminálu.

    Základní podporované atributy textu jsou: Světlý (1), Tmavý (2), Podtržený (4), Blikající (5), Inverzní (7) a Skrytý (8). Nula reprezentuje reset atributů.

    Pokud by jste chtěli například nastavit prompt terminálu tak, aby zobrazoval váš login podtrženým fialovým písmem na azurovém pozadí za kterým by následovala blikající pravá hranatá závorka v červené barvě na bílem pozadí, udělali by jste to nějak tahle:

    export PS1="\033[4;35;46m`whoami`\033[0m\033[5;31;47m]\033[0m"

    Reset atributů uprostřed příkazu je potřebný kvůli podtržení. Bez něj by byla hranatá závorka nejenom blikající, ale i podtržená.

    Ostatní funkce

    Pomocí sekvence ESC[2J můžeme vymazat celou obrazovku a pomocí ESC[x;yf můžeme přesunout kurzor na řádek x a sloupec y. Obrazovku je možné také mazat relativně od kurzoru nebo pouze na řádku kde je kurzor. S kurzorem je zase možné hýbat relativně vůči aktuální pozici (pro detaily mrkněte do článku nebo na wikipedii).

           

    Hodnocení: 86 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    23.7.2008 09:55 zde | skóre: 9 | blog: Linuch | Brno
    Rozbalit Rozbalit vše Re: ANSI řídící sekvence
    Zmínil bych man console_codes, je to poměrně přehledné i kompletní. Curses je hnusný kód s neuvěřitelně ošklivým API.
    Táto, ty de byl? V práci, já debil.
    23.7.2008 13:02 R
    Rozbalit Rozbalit vše Re: ANSI řídící sekvence
    Riadiace kody ma kazdy terminal ine. Curses funguje na vsetkych terminaloch. Nie je to az take hrozne, jednoduche UI som v tom robil.
    23.7.2008 13:49 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
    Rozbalit Rozbalit vše Re: ANSI řídící sekvence
    To neni tak uplne pravda. ANSI kody by meli fungovat vsude (i kdyz bohuzel nektere funguji ruzne na ruznych terminalech).
    Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
    23.7.2008 14:59 MJ | Tady a teď
    Rozbalit Rozbalit vše Re: ANSI řídící sekvence
    To žel není pravda. Podívejte se do databáze od terminfa a uvidíte, kolik existuje obskurních terminálů.
    23.7.2008 15:30 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
    Rozbalit Rozbalit vše Re: ANSI řídící sekvence
    Jo, napsal jsem to trochu spatne. Myslel jsem to tak ze kazdy terminal ma obvykle svoje vlastni ridici sekvence, nicmene ANSI funguje vicemene globalne, ale ano podivnych terminalu je spousta.
    Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
    23.7.2008 14:32 CEST
    Rozbalit Rozbalit vše Re: ANSI řídící sekvence
    Navic IMHO je na ANSI ESCAPE sekvence hezky prave to, ze se to da pouzivat jako obycejny echo/print z cehokoliv i z bashe a perlu. Pokud se nepletu, tak ncurses je knihovna pro C. Samozrejme, urcite existujou moduly do perlu a ruzny dalsi rozsireni do shellu, ale to hezky je prave pouziti ANSI ESCAPE sekvenci je prave ta jednoduchost. Blby pak ovsem je, kdyz si takovej skript clovek spusti v terminalu, kterej ty sekvence neumi:-(
    23.7.2008 15:00 MJ | Tady a teď
    Rozbalit Rozbalit vše Re: ANSI řídící sekvence
    V shellu můžete používat příkaz `tput', který si umí najít řídící sekvence v terminfu.

    Pro Perl existují docela příjemné bindingy na curses (modul Curses). Nic úžasného, ale určitě příjemnější než sekvence bastlit ručně.
    24.7.2008 08:41 Tom.š Ze.le.in | skóre: 21 | blog: tz
    Rozbalit Rozbalit vše Re: ANSI řídící sekvence
    Kromě tput-u lze také přímo použít pro nastavování setterm.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.