Zobrazují se příspěvky se štítkemPython. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemPython. Zobrazit všechny příspěvky

úterý 11. února 2014

Automatické časové zapínání počítače pro nahrání pořadu s Tvheadend

V minulém článku jsem nakousl téma multimediálního centra s televizí v Ubuntu, ale správně jsem byl upozorněn na to, že bez automatického probuzení/zapnutí systému v čase, kdy se má nějaký ten pořad nahrát, není kompletní. A tak jsem se v tom pošťoural a výsledkem je pár nových poznatků a systém, který si před spaním přečte plán nahrávání Tvheadend, nastaví si budíček a po probuzení naopak zajistí, aby se po nahrání pořadu opět uspal, pokud je to vhodné...


sobota 26. října 2013

Systemd-logind nahrazuje v Ubuntu 13.10 ConsoleKit a UPower

V novém Ubuntu proběhla ještě jedna změna, která není vidět na první pohled. Jde o výměnu správce sezení (sessions), který zajišťuje i logiku přístupu uživatele k funkcím jako je vypnutí a uspání systému. V posledních letech toto zajišťoval právě ConsoleKit, společně s UPower. Služby ConsoleKit i UPower byly z instalace vyřazeny, v systému se objeví pouze jako závislosti konkrétních aplikací, které ještě logind do své výbavy nezařadily. Současně to může přinést problémy při použití aplikací, které na tyto služby spoléhají, ale v závislostech je nemají. Tam spadá i můj SGTimer, který jsem psal s tím, že má být vždy schopen používat aktuální služby systému a nedával je do závislostí instalačního balíku. Ovšem bez aktualizace se to neobejde a tu momentálně sice mám hotovou, ale pouze na rozdělané alfa verzi, kterou přepisuju (velmi pomalu) z Pythonu do Vala. Opuštěné služby lze ale do systému dostat i ruční instalací a ukážu vám, jak vypínat, uspávat, hibernovat a restartovat systém pomocí logind. ...


pondělí 9. září 2013

Volání metody DBus služby - Shell, Python, Vala

Je tu další příspěvek pro programovací menšinu. Cvičně si přepisuju ty mé nedodělky do Vala, abych je mohl mít nedodělané o něco rychlejší a úspornější. Dokumentace ke GTK a Vala už mám v prohlížeči otevřeno asi 80 tabů a jsem rád, že Opera v nich umí vyhledávat podle názvu a url. Mimochodem, umí vůbec něco takového konkurence? Každopádně jsem se dopracoval k základnímu pochopení přístupu Vala k DBus, což mému zeskriptovatělému mozku chvíli trvalo a tak vám pro porovnání ukážu, jak volat metody nějaké běžící DBus služby z shellu, Pythonu, i Vala. ...

pátek 30. srpna 2013

GTK+3 - průhledné widgety, barvy, souřadnice myši, ..

Před časem jsem začal psát o využívání GTK+ toolkitu při výrobě oken pro své aplikace a rád bych na to navázal. Klasické "Hello World!" ukázky jsou neskutečně nudné a proto budu pokračovat tím, co zajímá každého začátečníka: průhlednost, barvičky a jiné efektní kraviny, prostě zábava. Výsledkem bude okénko s textem, kterému je možné měnit barvy popředí i pozadí včetně průhlednosti, kolečkem myši měnit velikost a na požádání se bude schovávat, když se nad ním zdrží myška, tedy i nějaké to dolování souřadnic a rozměrů jak okna, tak kurzoru myši. Jo a MRDEL je normální slušné slovo! ...


neděle 4. srpna 2013

Svátkový indikátor je ve Vala lepší. Aktualizováno 11.8.13

Po přestávce pokračuju v seznamování s Vala a začíná se mi to líbit čím dál tím víc. Pochopil jsem pár základních myšlének typových jazyků a s void už mě nerozházíte. Pro bastlení v GNOME prostředí (což je stále i Ubuntu, Debian, Mint, Fedora, OpenSUSE) je to velmi zajímavý jazyk. Pravdou je, že při přepisování svátkového indikátoru jsem kompromisy netrpěl vůbec, program je to tak jednoduchý, že to vlastně nemá kde dřít. Je tu sice nějaká ta režie navíc, musím řešit typy, statické / dynamické metody, přetypování a další záludnosti, ale je to menší opruz, než jsem si ze začátku představoval. A někdy si i dokonce říkám "ha, tohle je jednodušší, než v Pythonu/PyGObject/PyGTK". Některé záležitosti ale Vala fakt neumí...

Každopádně jsem přepsal svátkový indikátor pro Unity, který je použitelný i v GNOME Shell s rozšířením AppIndicator Support a pokud by to někoho zajímalo, přidám pár postřehů a lehce komentovaný funkční kód. ...

Aktualizace: Do vyhledávání přibyl kalendář, který ukáže dohledané datum pro zvolený rok, takže se dozvíte i na který den v týdnu připadá a kliknutí na den v kalendáři naopak vyhledá svátek pro tento den. Do budoucna bych chtěl přidat možnost kterýkoliv den dvojklikem v kalendáři označit a případně si přidat vlastní poznámku. Na takový den by indikátor upozornil blikající ikonou vedle jména. Uvidíme, řeším rozumný způsob zpracování dat, přecijen je to pro mě trochu komplikovanější ve Vala, než v Pythonu. Ano už je to tu, už to lehce drhne :) Dílo je ke stažení na konci článku.

sobota 15. června 2013

Vala.. Proč jsem se vlastně páral s tím Pythonem tak dlouho?

Posledních pár dní si hraju s jazykem Vala, který se zdá být ideální náhradou Pythonu ve spojení s GTK+ toolkitem. Vala nabízí o něco méně komfortu, než PyGObject, ale výsledkem je nativní kód, který umí přímo využívat knihovny psané v C. Vala je totiž ve výsledku C, protože kompilátor valac nejprve převede program do C a ten pak zkompiluje pomocí gcc. Jazyk je to oproti C objektový a oproti Pythonu typový, což je pro líného skriptonistu mého formátu, jehož vývoj prošel etapami ZX BASIC > ASM Z80 > deset let nic > BASH, AWK > Python, trochu opruz. Dobrá, současně s ASM Z80 jsem se ještě seznamoval s Pascalem, ze kterého si pamatuju jen otravné BEGIN - END, ale C a jeho odnožím jsem se úspěšně bránil, připadal jsem si na to příliš hloupý. Nebo líný, to vyjde na stejno. Ještě minulý týden se mi při pohledu na slovo 'void' dělalo nevolno a představoval si, jak můj mozek vybuchuje a usazuje se po stěnách místnosti. ...

neděle 18. listopadu 2012

PyGObject - Aktualizace GUI z callbacku, časovače, i vlákna

Už je to nějaká doba, co jsem se začal vrtat v GTK+ pomocí Pythonu a tak začnu trousit nějaké poznámky související s tímto toolkitem, což mám od začátku v plánu, jen jsem se doposud neodhodlal. Nebude to mít žádný řád, budou to jen útržky kódu, které se budu snažit co nejsrozumitelněji okomentovat a mělo by jít především o věci, které mi chvilku trvalo najít, poskládat a tak.

Začnu něčím základním, na co začátečníci narazí skoro vždy, než si uvědomí, jak jejich GUI vlastně funguje a kdy se aktualizuje okno a jeho součásti. ...


neděle 7. října 2012

Sessions Selector - Python + GTK3 + komentovaný skript

Na popud jednoho uživatele jsem pro Ubuntu (a příbuzné systémy) napsal krátký skript, který sice nedělá nic zásadního a jeho využití nebude pro každého, ale proč to nevyužít jako příklad, jak jednoduše můžete v Pythonu vyrábět funkční okénka. Python je velmi intuitivní a srozumitelný interpretovaný jazyk, ve kterém je radost tvořit a základy Gtk toolkitu se dají také pobrat rychle. Je to podobné jako Lego, berete hotové kostičky a skládáte je dohromady. Nebudu rozebírat nějaké základy, jen sem vlepím ten kód, jednou čistý, podruhé komentovaný, a třeba to někomu pomůže. Třeba mně, až zas všechno zapomenu.


úterý 22. května 2012

Nautilus Extension API z Pythonu

Je víc možností, jak rozšířit funkčnost správce souborů Nautilus. Kontextové menu můžete vylepšit o nějakou novou funkci nejjednodušeji pomocí externích skriptů, jak už jsem tu psal. Můžete využít plných možností API Nautila a psát rozšíření (extensions) přímo v C, ale můžete také využít rošíření Nautilus Python a psát je v Pythonu. Poslední zmíněné řešení vám oproti tomu prvnímu dává daleko víc možností a oproti druhému s tím budete mít daleko méně práce. Méně práce to je moje a tak se snad moc nepředřu, když se budu snažit fungování Nautilus Extension API trochu přiblížit. Přidám i odkaz na repozitář s pár hotovými rozšířeními připravenými rovnou k instalaci.

pondělí 30. dubna 2012

Aktualizoval jsem Svátkový applet

Přepsal jsem Unity verzi z PyGtk do PyGObject, což je modul pro dynamický binding Gtk knihoven pro Python. Chtěl jsem si to vyzkoušet konečně a tak jsem začal něčím malým. Maličkým. Těch změn jsem věru nemusel udělat mnoho. Až budu přepisovat do Gtk3 SGTimer, to bude teprve maso. Samozřejmě jsem opravil nějaké chybky z minulosti, kouknout na to můžete po kliknutí na odkaz v záhlaví této stránky.

pátek 10. června 2011

Shutdown GTimer 0.3.x

Poslední týdny se převážně rochním v Pythonu a GTK+ a vylepšuji Shutdown GTimer. Kód je to ani ne na tisíc řádků a profík by to sesmolil za chvíli, já se postupným objevováním nových vlastností jak Pythonu, tak GTK, a neustálým přepisováním kódu pomalu šinu ke světlejším zítřkům. Nicméně, když jsem vyzkoušel konkurenci, která se objevila na OMG Ubuntu!, trochu mě to povzbudilo :)


sobota 7. srpna 2010

Svátkový applet pro Gnome Panel

Před nějakým časem jsem se začal věnovat vylepšování appletu do Gnome panelu, jehož vývoj započal již před lety Jan Nekvasil na Ubuntím fóru. Applet zobrazoval aktuální jmeniny a později Honza přidal i tooltip, který zobrazoval i další svátky na příštích pět dní, po najetí kurzoru myši nad jméno v panelu. Protože jsem se začínal učit Python a jeho využití spolu s grafickou knihovnou GTK, vzal jsem si svátkový applet jako takové pískoviště, kde jsem si zkoušel nové poznatky. Applet se mi líbil, ale scházelo mi třeba vyhledávání data svátků podle jména. Postupem času jsem si vymyslel dalších pár vylepšení a nakonec mě kolegové ze Slovenska přiměli udělat i slovenskou lokalizaci. Přidal jsem tedy tyto vlastnosti:

  • Vyhledávání data jmenin. Okno vyhledávání se otevře kliknutím na aplet v panelu, nebo z kontextového menu. Není třeba používat diakritiku, ani rozlišovat velká a malá písmena.
  • Vyhledávání data Velikonočního pondělí - příštího, i podle roku v rozsahu 1900 do 9999. Stačí zadat řetězec obsahující "velik", nebo "veľko" a případně přidat za mezeru rok, který vás zajímá.
  • Možnost nastavit si otáčením kolečka myši nad appletem, na kolik dní dopředu se mají zobrazovat svátky v tooltipu, v rozsahu 1-30.
  • Slovenská lokalizace s autodetekcí. Při změně lokalizace z menu appletu se automaticky ukládá nastavení.
  • Kontextové menu - obsahuje mimo jiné seznam dnů pracovního klidu, Slovensko dodalo i další svátky.
  • Uložení nastavení do GConf pro každou instanci appletu zvlášť - můžete mít v Panelu současně svátky slovenské i české.
  • Podpora vertikálních panelů.
Download aktuální verze vždy zde: http://gdhnotes.blogspot.com/p/svatkovy-applet.html

Instalujte poklepáním na stažený soubor, pak kliknete pravým na Panel a zvolíte Přidat na panel.., kde vyberete Svátky, Sviatky, či Name-days, podle lokalizace vašeho systému.