Byla vydána nová verze 14.3 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.
CSIRT.CZ upozorňuje, že na základě rozhodnutí federálního soudu ve Spojených státech budou veškeré konverzace uživatelů s ChatGPT uchovávány. Včetně těch smazaných.
Ač semestr ve škole právě končí, bastlíři ze studentského klubu Silicon Hill neodpočívají a opět se jako každý měsíc hlásí s pravidelným bastlířským setkáním Virtuální Bastlírna, kde si můžete s ostatními techniky popovídat jako u piva o novinkách, o elektronice, softwaru, vědě, technice obecně, ale také o bizarních tématech, která se za poslední měsíc na internetu vyskytla.
Z novinek za zmínku stojí Maker Faire, kde Pájeníčko předvedlo … více »Na WWDC25 byl představen balíček Containerization a nástroj container pro spouštění linuxových kontejnerů na macOS. Jedná se o open source software pod licencí Apache 2.0 napsaný v programovacím jazyce Swift.
Do 16. června do 19:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | červen 2025 doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.
Apple na své vývojářské konferenci WWDC25 (Worldwide Developers Conference, keynote) představil řadu novinek: designový materiál Liquid Glass, iOS 26, iPadOS 26, macOS Tahoe 26, watchOS 26, visionOS 26, tvOS 26, nové funkce Apple Intelligence, …
Organizátoři konference LinuxDays 2025, jež proběhne o víkendu 4. a 5. října 2025 v Praze na FIT ČVUT, spustili přihlašování přednášek (do 31. srpna) a sběr námětů na zlepšení.
Po roce byla vydána nová stabilní verze 25.6.0 svobodného multiplatformního multimediálního přehrávače SMPlayer (Wikipedie).
DNS4EU, tj. evropská infrastruktura služeb DNS založená na vysoce federovaném a distribuovaném ochranném ekosystému, byla spuštěna v testovacím režimu [𝕏]. Na výběr je 5 možností filtrování DNS.
Skriptovací programovací jazyk PHP (PHP: Hypertext Preprocessor, původně Personal Home Page) dnes slaví 30 let. Přesně před třiceti lety, 8. června 1995, oznámil Rasmus Lerdorf vydání PHP Tools (Personal Home Page Tools) verze 1.0.
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.