abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 20:55 | IT novinky

    IKEA ve Spojeném království hledá zaměstnance do své nové pobočky. Do pobočky v počítačové hře Roblox. Nástupní mzda je 13,15 liber na hodinu.

    Ladislav Hagara | Komentářů: 0
    dnes 10:44 | Zajímavý článek

    Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.

    Ladislav Hagara | Komentářů: 7
    dnes 01:00 | Nová verze

    Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    dnes 00:44 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | IT novinky

    Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.

    Ladislav Hagara | Komentářů: 10
    včera 10:44 | Nová verze

    MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.

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

    Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.

    Ladislav Hagara | Komentářů: 2
    včera 01:00 | Nová verze Ladislav Hagara | Komentářů: 0
    4.6. 19:55 | IT novinky

    Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.

    Ladislav Hagara | Komentářů: 0
    4.6. 13:44 | IT novinky

    Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Totem player a automatické vypnutí počítače

    16.5.2013 10:29 | Přečteno: 1168× | Linux | Výběrový blog

    Kdysi před rokem jsem tu zveřejnil první verzi pluginu do Totemu pro vypínání počítače na konci přehrávání. Bohužel zrovna v době jeho vzniku se začalo přecházet pomalu na Gnome Shell a GTK3 a také Totem s verzí 3 poměrně dost změnil API. Situace se zastaráváním mého Ubuntu 10.04 se stala neúnosná a tak jsem musel provést update i já a to s sebou přineslo nutnost přepsat také tento plugin, protože si na něj zvykla celá rodina a ani mě se nechtělo hledat náhradu, protože pravděpodobně ani neexistuje. Po deštivém víkendu stráveném nad jazykem Python a dokumentací je to tu.

    Poweroff plugin 2

    Co to je?

    Nová verze poskytuje stejné možnosti a rozhraní jako předchozí. Uživatel má na výběr ze tří akcí, které se automaticky vyvolají po skončení přehrávání.
    1. Uspat počítač
    2. Vypnout počítač
    3. Nedělat nic
    Nejedná se o žádnou minutku, plugin skutečně reaguje na událost konce datového proudu poslední položky v playlistu. Po detekci této události se zobrazí dialogové okno, které čeká 30 sekund na zrušení akce a v případě jejího potvrzení nebo vypršení časového limitu se provede.

    Instalace

    Plugin je ke stažení na domovské stránce projektu na sourceforge.org. Na stejném místě se také nachází wiki projektu s návodem k instalaci. Nejjednodušší cesta je použít instalační skript, který by určitě měl fungovat na debian-like systémech. Jak jsou na tom s adresářovou strukturou ostatní distribuce netuším, ale předpokládám, že se neliší. Pokud by ale z nějakého důvodu nefungoval, je tam i návod na ruční instalaci.

    Po instalaci se plugin aktivuje v české lokalizaci volbou menu Upravit->Zásuvné moduly->Vypínací plugin.

    Boční panel s nabídkou akcí se aktivuje volbou Zobrazit->Po skončení přehrávání

    Implementace

    Plugin je psaný v jazyce Python, využívá pro uživatelské rozhraní knihovnu pyGtk, pro paralelní běh časovače vedle potvrzovacího dialogu knihovnu Threading, pro spuštění procesu s akcí je využívána knihovna subprocess a podporu pro jazykovou lokalizaci přináší knihovna gettext.

    Kód pluginu se skládá celkem ze tří tříd.
    1. SidePanel pro vytvoření a správu postranního panelu s tlačítky
    2. TimeDialog pro zobrazení dialogového okna pro potvrzení nebo zrušení akce a pro odpočítávání 30 sekund
    3. StarterPlugin pro vlastní logiku a napojení na Totem

    StarterPlugin

    Každý plugin pro Totem musí obsahovat jednu hlavní třídu, která implementuje rozhraní Peas.Activatable a je potomkem GObject. Peas.Activatable definuje dvě funkce, pomocí kterých je možné plugin spustit v Totemu. První do_activate se volá při aktivaci pluginu a druhá do_deactivate vždy při deaktivaci.

    V do_activate se přiřadí handler k události end of stream a přidá se boční panel do přehrávače.

    Při deaktivaci v do_deactivate se boční panel odebere.

    Funkce eosHandler slouží jako obsluha události end of stream. Kontroluje, zde byl dosažen konec proudu v posledním souboru ve frontě, vyčte zvolenou akci z formuláře v bočním panelu, zobrazí dialog s odpočítáváním času a nakonec spustí nový proces, ve kterém se odešle příkaz pro d-bus s příslušnou akcí.

    TimeDialog

    V konstruktoru se nejprve vytvoří nový objekt pro GTK dialog, poté se zaregistruje nové vlákno pro běh časového odpočtu a nakonec se založí jeden zámek pro zabránění aktivního čekání.

    Funkce run slouží k aktivaci vlákna pro odpočet času a zobrazení dialogu. Potom čeká na jeho skončení buď tím, že uživatel klikne na nějaké tlačítko, čímž dialog zavře a vrátí se hodnota accept nebo reject, nebo vyprší čas - dialog je násilně ukončen a vrací hodnotu none. Návratová hodnota funkce je uživatelova reakce na dialogové okno (reject, accept, none).

    Funkce timer se spouští v novém vlákně a odpočítává čas. Vlákno se zablokuje na zámku na zadaný čas a po jeho uplynutí a nebo uvolnění zámku, což značí, že uživatel ukončil dialogové okno kliknutím na reject nebo accept, zabije dialog a skončí.

    SidePanel

    V konstruktoru je vytvořen jednoduchý GTK formulář s jedním nadpisem a třemi tlačítky pro boční panel.

    Funkce getSelectedAction slouží pro zjištění čísla aktuálně vybrané akce.

    Jazyková lokalizace

    Oproti minulé verzi, která byla jen v anglickém jazyce, umí tato verze zobrazovat texty v jazyce podle uživatelova místního nastavení. Python má pro tyto účely implementovanou knihovnu gettext, která je podobná GNU gettext API.

    Všechny texty určené k lokalizaci jsou v programu označené podržítkem, např. _('Hello'). Zdrojový kód se potom projede programem pygettext, jehož výstupem je katalog textů k překladu do jednoho jazyka s koncovkou pot. Zde překladatel vyplní přeložené fráze a výsledný soubor se převede programem msgfmt do binární podoby s koncovkou mo, která se už může nahrát do složky s jazykovými soubory ostatních programů (/usr/share/locale) a plugin si jí odtud načte.

    Další záležitostí je doplnění překladů do souboru .plugin, které se musí provést nezávisle na lokalizaci samotného pluginu.

    Pokračování projektu

    No je to spíš takový miniprojektík, ale bylo by fajn sehnat nějaké dobrovolníky na překlad do různých jazyků. Těch textů je fakt málo, ale nevím, jestli by si s tím poradil třeba google translator.

    Potom bych chtěl ten plugin nějak zviditelnit, protože vím, že byla tahle funkce na některých fórech celkem žádaná. Jenže na internetu je už tolik bordelu, že se těžko hledá.        

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    Ruža Becelin avatar 16.5.2013 12:26 Ruža Becelin | skóre: 40 | blog: RuzaBecelinBlog
    Rozbalit Rozbalit vše Re: Totem player a automatické vypnutí počítače

    Dobra prace.:-)

     

    Par napadu:

    - misto "Power off" bych dal Shutdown, je to ustalena konvence

    - misto "Do nothing" by nebyl spatny checkbox, ktery bych zapnul/vypnul zbyvajici volby

    20.5.2013 10:59 HUFU | skóre: 2 | blog: Ripping_yarns
    Rozbalit Rozbalit vše Re: Totem player a automatické vypnutí počítače
    Díky za podnět, jakmile bude chuť, něco s tím udělám.
    vencour avatar 16.5.2013 14:36 vencour | skóre: 56 | blog: Tady je Vencourovo | Praha+západní Čechy
    Rozbalit Rozbalit vše Re: Totem player a automatické vypnutí počítače
    Přidal jsem do výběru.
    Ty nejhlubší objevy nečekají nutně za příští hvězdou. Jsou uvnitř nás utkány do vláken, která nás spojují, nás všechny.
    18.5.2013 08:53 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Totem player a automatické vypnutí počítače
    mplayer * && sleep 30 && sudo poweroff
    If you hold a Unix shell up to your ear, you can you hear the C.
    21.5.2013 20:59 HUFU | skóre: 2 | blog: Ripping_yarns
    Rozbalit Rozbalit vše Re: Totem player a automatické vypnutí počítače
    No jo, ale mplayer není totem a spouštění videa z příkazové řádky je sice jednoduché, ale BFU to děsí. Navíc vyvolat příkazem uspání počítače není tak triviální jako vypnutí.

    Založit nové vláknoNahoru

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