Open source webový aplikační framework Django slaví 20. narozeniny.
V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.
Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.
Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.
Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.
Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.
McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.
Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána nová verze 2.4.64 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 8 bezpečnostních chyb.
Společnost xAI na síti 𝕏 představila Grok 4, tj. novou verzi svého AI LLM modelu Grok.
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.