Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.
Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.
XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).
Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.
Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.
Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
Proč skriptovat cokoliv v rámci grafického uživatelského rozhraní? Dobrý důvod, který by přesvědčil každého, kdo při zmínce o něčem podobném kroutí hlavou, asi neexistuje. Jistě, dalo by se mluvit o tom, že možnost využívat KDE funkce a aplikace i neinteraktivně je přínosná, ale pravdou zůstává, že pro někoho tam to KDE bude prostě představovat nadbytečnou vatu kolem.
Takže nebudu obhajovat ani KDE, ani funkce, které budou v článku popisovány. Jsem smířen s tím, že tuto možnost ovládání KDE využijí a ocení jen ti, kdo už KDE používají, a jen by se jim hodilo některé postupy zefektivnit.
Stejné je to s využíváním dialogových boxů. Volat je ze skriptů nebo rovnou z příkazové řádky může být užitečné jen pro toho, kdo chce nějaké dialogové boxy vidět. Ostatní si úplně vystačí s tím, když se komunikace se skriptem odehrává na emulátoru terminálu.
Desktop COmmunication Protocol je poměrně mocný nástroj (či spíše systém), pomocí kterého mohou jednotlivé procesy mezi sebou komunikovat. Konkrétní aplikace musí být s podporou DCOP napsána, ale to je u kmenových KDE aplikací samozřejmostí a mnohé externí Qt/KDE aplikace jsou podporou DCOP vybaveny také.
DCOP mohou využívat buď samotné aplikace mezi sebou, nebo můžeme k DCOP
rozhraní jednotlivých programů přistupovat "zvenčí". Pro nejjednodušší
seznámení s podobou DCOP rozhraní je vhodné využít program
kdcop. Jde o jednoduchý GUI program, který poskytuje přístup
k DCOP rozhraním spuštěných aplikací. Chcete-li si udělat rámcovou
představu o tom, jaká volání která aplikace (nebo komponenta desktopu)
nabízí, projděte si kdcop.
Prostřednictvím kdcop lze volání i aplikovat. Praktické
využití (kromě zjištění DCOP možností aplikací) to však nemá. K volání z
příkazové řádky - a tedy i ze skriptů - lze využít program
dcop. Jeho možnosti jsou docela široké, i když neoplývá
závratným množstvím parametrů (viz dcop --help).
Nebudu se snažit o vymýšlení nějakého úchvatně praktického využití. Každý jistě pozná, jestli by se mu možnosti DCOP mohly k něčemu hodit. Pracovní a ukázkový příklad, který bude následovat, tedy berte s vědomím toho, že jde o naprostou hloupost, kterou by při skutečné práci nikdo nepotřeboval. Nám však poslouží k představení základních postupů a možností DCOP.
Aplikace většinou (podle svého zaměření) poskytují DCOP rozhraní jednak informativního charakteru (název okna, právě hrající písnička apod.) a potom taková, pomocí kterých lze program i ovládat (zastav přehrávání, otevři okno apod.). Využijeme tedy od každého trochu.
dcop `dcop konqueror* | head -1` konqueror-mainwindow#1 \
newTab "`dcop amarok player nowPlaying`"
Co tento příkaz dělá? Zjistí, jakou skladbu právě hraje přehrávač
amaroK. Tato informace je předána Konqueroru (máte-li otevřeno více
instancí Konqueroru, je zvolena ta první - s nejnižším PID), který otevře
novou záložku s URL, které odpovídá právě názvu skladby. Což při mém
nastavení prohlížeče automaticky daný řetězec vyhledá pomocí Google. Pokud
používáte webové zkratky, měli byste do dvojitých uvozovek na začátek
ještě vložit nějaké to gg.
Rozeberme to postupně:
dcop podporuje wildcards, takže konkrétní instanci
si najdeme tak, že necháme vypsat všechny a vezmeme z nich tu první.dcop poskytne právě přehrávanou píseň z amaroKu
(nowPlaying).Ačkoliv je to prosté, určitě vidíte, že možnosti jsou veliké. Znovu opakuji, že tento konkrétní příklad je ale z hlediska reálné použitelnosti naprosto zbytečný.
Aplikace KDialog je KDE obdobou klasického programu xmessage, který máte určitě nainstalovaný spolu se základním X serverem. Její funkcí je zobrazovat jednoduché dialogové boxy, se kterými můžete snadno pracovat (zobrazovat v nich informace, nabídky, ... a odchytávat vracené hodnoty podle vstupu uživatele) opět z prostředí příkazového řádku nebo skriptu. Nejviditelnější výhodou je u KDialog to, že jde o Qt aplikaci, a proto se podřizuje nastavení vzhledu, které na svém desktopu máte.
kdialog --help vám poskytne stručný, ale přehledný seznam
parametrů, pomocí kterých můžete ovlivnit typ okna. Na výběr je několik
základních předdefinovaných druhů (informační, chybové, pro zadání hesla
apod.). Úplně nejjednodušším příkladem je jen obyčejné vypsání
informace:
kdialog --msgbox "Informační text. Bla bla" --title "První okno"

Myslím, že vysvětlivky nejsou potřeba.
Ještě přihodím jednu ukázku. Opět je to úplně nesmyslná věc. Účelem je představit pár dalších možností KDialog společně s několika voláními DCOP.
#!/bin/bash
kdialog --yesno "Počkat 5 vteřin?" --title "Co bude?"
while [ $? -eq 0 ]; do
cislo=0
pid=`kdialog --progressbar Čekám 5 | sed \
's/.\+-\([[:digit:]]\+\).\+/\1/'`
until [ $cislo -eq 5 ]; do
sleep 1
cislo=$((cislo + 1))
dcop kdialog-$pid ProgressDialog setProgress $cislo
done
dcop kdialog-$pid MainApplication-Interface quit
kdialog --yesno "Počkej ještě 5 vteřin." --title "Znovu?"
done
kdialog --sorry "Konec." --title "Fňuk"
Stručně:

$? obsahuje vrácené hodnoty podle stisknutého
tlačítka. Kladná odpověď je 0, záporná 1 (zrušení 2).

Poznámky:
Tímto dílem asi miniseriál o nepříliš známých dovednostech KDE končí. Pokud vás napadá nějaká oblast, která by ještě stála za rozepsání, zmiňte ji, prosím, v diskuzi.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Ja to pouzivam spolocne s micq (conzolovy ICQ client). nuieje to este dokoncene...
Ked dojde sprava, cez tcl spustim kdialog s input-boxom. Ked dam cancal ingnorujem spravu, ked tam nieco napisem, odosle text s input-boxu. Prakticke a nemam ICQ klienta stale na ocich... (ziadneho nemam rad)
#! /bin/bash nowPlaying="$(dcop amarok player nowPlaying)" position="$(dcop amarok player currentTime)" total="$(dcop amarok player totalTime)" dcop klipper klipper setClipboardContents "amaroK 1.2.3 >> $nowPlaying [ $position / $total ]"
dcop konqueror* pořád jsem přemýšlel, jak zjistit identifikátor již běžícího okna, ale protože to nebylo moc nutné, tak se mi to nechtělo hledat.