Projekt VideoLAN a multimediální přehrávač VLC (Wikipedie) dnes slaví 25 let. Vlastní, tenkrát ještě studentský projekt, začal již v roce 1996 na vysoké škole École Centrale Paris. V první únorový den roku 2001 ale škola oficiálně povolila přelicencování zdrojových kódů na GPL a tím pádem umožnila používání VLC mimo akademickou půdu.
Moltbook je sociální síť podobná Redditu, ovšem pouze pro agenty umělé inteligence - lidé se mohou účastnit pouze jako pozorovatelé. Agenti tam například rozebírají podivné chování lidí, hledají chyby své vlastní sociální sítě, případně spolu filozofují o existenciálních otázkách 🤖.
scx_horoscope je „vědecky pochybný, kosmicky vtipný“ plně funkční plánovač CPU založený na sched_ext. Počítá s polohami Slunce a planet, fázemi měsíce a znameními zvěrokruhu. Upozornil na něj PC Gamer.
O víkendu probíhá v Bruselu konference FOSDEM 2026 (Free and Open source Software Developers’ European Meeting). Program konference je velice nabitý: 37 místností, 71 tracků, 1184 přednášejících, 1069 přednášek, prezentací a workshopů. Sledovat je lze i online. K dispozici budou jejich videozáznamy. Aktuální dění lze sledovat na sociálních sítích.
Společnost Nex Computer stojící za "notebooky bez procesorů a pamětí" NexDock představila telefon NexPhone, který může funguje jako desktop PC, stačí k němu připojit monitor, klávesnici a myš nebo NexDock. Telefon by měl být k dispozici ve třetím čtvrtletí letošního roku. Jeho cena by měla být 549 dolarů. Předobjednat jej lze s vratní zálohou 199 dolarů. V dual-bootu by měl být předinstalovaný Android s Linuxem (Debian) jako aplikací a Windows 11.
Byla vydána nová major verze 9.0 softwaru pro správu elektronických knih Calibre (Wikipedie). Přehled novinek v poznámkách k vydání. Vypíchnuta je podpora AI.
Wasmer byl vydán ve verzi 7.0. Jedná se o běhové prostředí pro programy ve WebAssembly. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
V reakci na nepopulární plán Microsoftu ještě více ve Windows prohloubit integraci umělé inteligence Copilot, Opera na sociální síti 𝕏 oznámila, že připravuje nativní linuxovou verzi prohlížeče Opera GX. Jedná se o internetový prohlížeč zaměřený pro hráče, přičemž obsahuje všechny základní funkce běžného prohlížeče Opera. Kromě integrace sociálních sítí prohlížeč například disponuje 'omezovačem', který umožňuje uživatelům omezit využití sítě, procesoru a paměti prohlížečem, aby se tak šetřily systémové zdroje pro jinou aktivitu.
NVIDIA vydala nativního klienta své cloudové herní služby GeForce NOW pro Linux. Zatím v beta verzi.
Open Gaming Collective (OGC) si klade za cíl sdružit všechny klíčové projekty v oblasti linuxového hraní počítačových her. Zakládajícími členy jsou Universal Blue a Bazzite, ASUS Linux, ShadowBlip, PikaOS a Fyra Labs. Strategickými partnery a klíčovými přispěvateli ChimeraOS, Nobara, Playtron a další. Cílem je centralizovat úsilí, takže namísto toho, aby každá distribuce udržovala samostatné opravy systému a podporu hardwaru na
… více »V Unixových operačních systémech si můžeme pro každou netriviální, a opakující se činnost napsat skript. Pokud je určen pouze pro naši potřebu, není problém. Když ho mají používat odborníci (správci, programátoři, ...), stačí napsat dokumentaci, nebo manuálové stránky. Jenže pokud má sloužit i běžným uživatelům, nastává problém, protože mají ti obvykle strach z příkazové řádky a dokumentaci nikdy nečtou.
A vývojáři KDE přišli s řešením. Kommander je přímo určen pro psaní jednoduchých GUI aplikací. Díky technologii DCOP (viz KDE: tipy a triky - III (DCOP a KDialog)), kterou Kommander vnitřně používá, je možné ze skriptu ovládat grafické prvky - widgety. Také nám odpadají problémy s binární kompatibilitou knihoven, od toho nás odstiňuje Kommander. Celý projekt je uložen v jednom SGML souboru, takže jeho instalace je velmi jednoduchá. Týká se to i binárních souborů, například obrázků, které jsou uloženy v souboru v textové podobě. Parser Kommanderu funguje jako makrojazyk a bohužel má i spoustu velmi nepříjemných omezení.
Od Kommanderu verze 1.2, který je součástí KDE od verze 3.4 je k dispozici nový parser, který se velmi liší od toho starého. V dalším textu budu mluvit o tom starém. Nový parser je relativní novinka a většina aplikací na kde-apps.org používá ten starší, nemluvě o tom, že je použitelný až od KDE verze 3.4. Nový parser bude tématem dalších dílů.
Dost už bylo textu, je na čase uvést nějaký obrázek. Kommander se
sestává ze svou programů. Kommander Executor (kmdr-executor),
který provádí skripty uložené v souborech kmdr. Druhým je
Kommander Editor (kmdr-editor), vývojový nástroj, v němž se
navrhují dialogy a píše kód.

Při spuštění se můžeme podívat na obrázek kočky, ale moc dlouho ji
neuvidíte, protože Editor startuje velmi rychle. Pokud jste někdy psali
projekt pro KDE, nebo Qt, bude vám jeho prostředí připadat velmi známé. Je
to totiž upravený (a zjednodušený) Qt Designer od Trolltechu. Soubor se
skriptem je prakticky totožný, s ui souborem, který generuje
Designer.
Přeskočme teorii a přejdeme rovnou k praxi. Od dob K&R je tradicí, že prvním příkladem je aplikace, která vypisuje Hello, world!. Já se rozhodl tuto tradici porušit a to ze dvou důvodů. Jednak je tento příklad nevhodný pro předvedení Kommanderu. Za druhé považuji čtenáře abclinuxu.cz za tak inteligentní, aby pochopili i složitější příklad: aplikaci pro snímání oken z obrazovky - kommander-1-snap.kmdr.

Všichni jistě znáte způsob, jak vyfotit v X Window okno (viz Snímání
obrazovky aneb vyfoťte si okno). Jenže příkaz xwd ukládá
do stejnojmenného formátu. Pokud chceme rozumný, všeobecně používaný formát
PNG, celý proces se nám roztáhne na takovou kolonu příkazů:
xwd | xwdtopnm | pnmtopng > foo.png
Geekové žasnou, ale běžného uživatele tím asi moc nepřesvědčíte. Proto tento kód přiřadíme tlačítku Shot!. V kontextovém menu tlačítka zvolíme Edit Kommander Text a do okna tu kolonu napíšeme.

Jak prosté! Teď máme jednoduchou grafickou aplikaci, která vyfotí
aktuální okno a uloží do souboru ~/foo.png. Akce je přiřazena
tlačitku jménem BtnShot, typu ExecButton. Tohle
řešení není moc dobré, uživatel by měl mít možnost si vybrat jméno souboru
a jeho umístění. Kód je nutné trochu modifikovat
@setGlobal(IMG,@exec(tempfile))
xwd | xwdtopnm | pnmtopng > @global(IMG)
@BtnSave.setEnabled(true)
Co jsme teď udělali? Za prvé neukládáme obrázek do domácího adresáře,
ale do souboru, který vytvoří příkaz tempfile v adresáři
/tmp. Jméno nově vytvořeného souboru je důležité, a protože s
ním budeme pracovat i v dalších částích kódu, uložíme si jej příkazem
@SetGlobal() do globální proměnné IMG. Ve druhém
řádku již přesměrováváme výstup do proměnné IMG, jejíž hodnotu
vrací @global(). No a v posledním příkazu povolíme tlačítko
BtnSave, protože už máme obrázek, takže můžeme ukládat.
@.
Stejným znakem začínají nejen příkazy, ale i jména grafických objektů a
dokonce i klíčová slova. Alespoň ve starém parseru to tak je.
Tlačítku BtnSave potom přiřadíme tento kód.
cp @global(IMG) @Input.savefile(~, *.png,"Uložit screenshot")
Ten zkopíruje soubor img na to místo, které vrátí dialog
@Input.savefile(), Prvním parametrem je výchozí adresář,
druhým filtr souborů a posledním je titulek dialogu.
Kód tlačítka BtnExit, které je typu
CloseButton už uvedu jen pro pořádek.
rm -f @global(IMG)
Tím jsme získali jednoduchou aplikaci na tvorbu screenshotů obrazovky.
Její největší nevýhodou je špatná správa souborů v /tmp, které
se ne vždy smažou. Každý obslužný událostní skript běží nezávisle na
ostatních, takže příkaz trap nám zde nepomůže. Ale ilustrační
aplikaci to můžeme odpustit.
Není nic smutnějšího, než když widgety nedokáží reagovat na změnu velikosti okna a aplikace potom dopadne nějak takto:

Snap se pochopitelně chová správně:

Kdysi dávno jsem měl tu čest vidět aplikaci ve Visual Basicu, kde se o rozložení widgetů v okně staral přímo programátor. Ještě dnes si vzpomínám na ta kvanta kódu, která musela být napsána a taky na to, že žádosti o změny uživatelského rozhraní byly předem odmítnuty. Nevím, zda dotyčný jenom nevěděl, anebo to skutečně nešlo. Každý lepší toolkit obsahuje svého správce rozložení, který se o rozložení widgetů stará automaticky.
Kommander používá stejný toolkit jako KDE, a proto i správce rozložení jsou ty, které používá Qt.
V našem příkladě vidíme, že jsou všechna tlačítka pod sebou, takže je můžeme libovolně naskládat na formulář, označit, dát vertikální rozložení a ony se srovnají, jak potřebujeme (jenom změníme jejich velikost na požadovanou). Nakonec ještě vybereme layout pro celý formulář (v tomto případě je to úplně jedno, který vybereme) a máme pěkně fungující formulář, který reaguje na změny velikosti okna a bez jakéhokoliv řádku kódu.
![]() |
![]() |
![]() |
![]() |
Chování widgetů se dá ještě detailněji nastavit pomocí vlastnosti Size Policy.

V mnoha případech nechceme, aby byl jeden prvek těsně u druhého. Proto potřebujete nějakým způsobem správci rozložení říci, jak se má chovat. Toto zabezpečují spacers (překládám jako rozpěrky). Může se stát, že budeme chtít, aby byla mezi tlačítkem Konec a zbytkem mezera. Takže přidáme rozpěrku mezi Konec a Uložit a mezera mezi nimi je na světě.


Podobně jako mají widgety Size Policy, jsou všechny rozpěrky nastavitelné.

V tomto díle jste se seznámili s Kommanderem. Dozvěděli jste se, že má nový a starý parser, který je pouze makrojazykem. Umíte napsat primitivní aplikaci a víte, jak pracuje správce rozložení. V dalším díle si rozebereme složitější aplikaci, na které si ukážeme více rysů jazyka Kommanderu.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
@Input.savefile(~, *, foo)Funguje tak, jak má. KDE je taky 3.4.