Americká technologická společnost Meta Platforms se dohodla, že zaplatí až zhruba 18 miliard dolarů (asi 373 miliard Kč) za mimosoudní urovnání sporu o závislosti dětí na sociálních sítích a provede významné změny pro jejich používání mladistvými. Téměř tři desítky států USA firmu v roce 2023 obvinily z toho, že sítě Facebook a Instagram vědomě navrhla tak, aby u dětí vyvolávaly závislost, a zatajovala tyto dopady před veřejností. Firma se
… více »Byl publikován aktuální přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Blíží se vydání podporující čipy M3. Vývojáře lze podpořit na GitHub Sponsors a Open Collective.
Kancelářský balík LibreOffice byl vydán ve verzi 26.8. Mimo jiné vylepšuje typografii a kompatibilitu s formáty MS Office, více v poznámkách k vydání.
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 26.8. Přehled novinek v poznámkách k vydání.
Byla vydána nová verze 23.1.0, tj. první stabilní verze z nové řady 23.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools, Libc++, Polly a Flang.
Google Chrome 152 byl prohlášen za stabilní. Nejnovější stabilní verze 152.0.7977.64 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 327 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Před 35 lety, 25. srpna 1991, oznámil Linus Benedict Torvalds v diskusní skupině comp.os.minix, že vyvíjí (svobodný) operační systém (jako koníček, nebude tak velký a profesionální jako GNU) pro klony 386 (486), že začal v dubnu a během několika měsíců by mohl mít něco použitelného.
Apple představil čipy M6 a M5 Ultra, Mac mini s M6 nebo M5 Pro a Mac Studio s M5 Max nebo M5 Ultra. Fedora Asahi Remix zatím podporuje jenom M1 a M2.
Firefox 157 přinese zapnutou podporu rastrového grafického formátu JPEG XL. Založena je na v Rustu napsané implementaci jxl-rs používané i v Chrome a Chromiu.
Vanilla OS 3 „Reunion“ byl vydán. Tato na Debianu „Sid“ založená desktopová distribuce s transakčními aktualizacemi „neměnného“ základního systému (ABRoot) nově podporuje architekturu arm64 (vedle x86-64), podporuje reprodukovatelné sestavení většiny balíčků a vylepšuje systémové nástroje. Vlastní meta-správce balíčků APX nyní používá Distrobox v2 a je dostupný i pro jiné distribuce.
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.