Eric Lengyel dobrovolně uvolnil jako volné dílo svůj patentovaný algoritmus Slug. Algoritmus vykresluje text a vektorovou grafiku na GPU přímo z dat Bézierových křivek, aniž by využíval texturové mapy obsahující jakékoli předem vypočítané nebo uložené obrázky a počítá přesné pokrytí pro ostré a škálovatelné zobrazení písma, referenční ukázka implementace v HLSL shaderech je na GitHubu. Slug je volným dílem od 17. března letošního
… více »Sashiko (GitHub) je open source automatizovaný systém pro revizi kódu linuxového jádra. Monitoruje veřejné mailing listy a hodnotí navrhované změny pomocí umělé inteligence. Výpočetní zdroje a LLM tokeny poskytuje Google.
Cambalache, tj. RAD (rapid application development) nástroj pro GTK 4 a GTK 3, dospěl po pěti letech vývoje do verze 1.0. Instalovat jej lze i z Flathubu.
KiCad (Wikipedie), sada svobodných softwarových nástrojů pro počítačový návrh elektronických zařízení (EDA), byl vydán v nové major verzi 10.0.0 (𝕏). Přehled novinek v příspěvku na blogu.
Letošní Turingovou cenu (2025 ACM A.M. Turing Award, Nobelova cena informatiky) získali Charles H. Bennett a Gilles Brassard za základní přínosy do oboru kvantové informatiky, které převrátily pojetí bezpečné neprolomitelné komunikace a výpočetní techniky. Jejich protokol BB84 z roku 1984 umožnil fyzikálně zaručený bezpečný přenos šifrovacích klíčů, zatímco jejich práce o kvantové teleportaci položila teoretické základy pro budoucí kvantový internet. Jejich práce spojila fyziku s informatikou a ovlivnila celou generaci vědců.
Firefox 149 dostupný od 24. března přinese bezplatnou vestavěnou VPN s 50 GB přenesených dat měsíčně (s CZ a SK se zatím nepočítá) a zobrazení dvou webových stránek vedle sebe v jednom panelu (split view). Firefox Labs 149 umožní přidat poznámky k panelům (tab notes, videoukázka).
Byla vydána nová stabilní verze 7.9 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 146. Přehled novinek i s náhledy v příspěvku na blogu.
Dle plánu byla vydána Opera GX pro Linux. Ke stažení je .deb i .rpm. V plánu je flatpak. Opera GX je webový prohlížeč zaměřený na hráče počítačových her.
GNUnet (Wikipedie) byl vydán v nové major verzi 0.27.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.
Byly publikovány informace (technické detaily) o bezpečnostním problému Snapu. Jedná se o CVE-2026-3888. Neprivilegovaný lokální uživatel může s využitím snap-confine a systemd-tmpfiles získat práva roota.
V kterémsi z předchozích dílů jsem slíbil, že se ještě vrátím k některým zajímavějším modulům. Dnes slib plním a vy si tak můžete přečíst o virtuálních obrazovkách v prostředí fvwm.
Fvwm je okenní manažer, na kterém jsem se poprvé setkal s virtuálními obrazovkami. Dnes je myšlenka dostatečně profláknutá, ale přesto vysvětlím, oč jde. Ve fvwm lze definovat velikost virtuální obrazovky například 2x2 - fyzické rozlišení je například 1024×768 a virtuální rozlišení 2048×1536 pixelů. Fyzická obrazovka tak tvoří pouze výřez z mnohem větší virtuální pracovní plochy. Okenní manažer fvwm takovou virtuální pracovní plochu označuje slovem "Desk". Virtuální pracovní plochu v tomto případě tvoří čtyři stránky - v terminologii fvwm "Page". Fvwm zná ještě další výraz "Screen" - tím označuje skutečnou, fyzickou obrazovku. Fvwm umí pracovat i s více fyzickými obrazovkami současně - v počítači musí být v takovém případě dvě video karty a připojené dva monitory (nebo více) a celý systém X11 musí být nastavený tak, aby dokázal obě videokarty obhospodařovat. Ale o tom se nebudu dále rozepisovat. Zájemci nechť si sami prostudují technologii označovanou jako Xinerama. Já jsem vícenásobné přijení fyzických obrazovek vzdal kvůli nemožnosti zprovoznit OpenGL akceleraci.
Chování manažeru fvwm lze nastavit různým způsobem. Sám mám nastavený rozměr virtuální pracovní plochy na 2×2. Jednotlivé stránky mé pracovní plochy jsou relativně nezávislé, ale fvwm lze nastavit tak, aby se fyzická obrazovka chovala jako skutečný průhled na větší pracovní plochu. Chování se řídí třemi příkazy: DeskTopSize, EdgeResistance a EdgeScroll:
DesktopSize 2x2
EdgeResistance 100 0
EdgeScroll 10 10
Parametry příkazu DesktopSize jsou, předpokládám, jasné - definují rozměry virtuální pracovní plochy v horizontálním a vertikálním směru. Protože fyzická obrazovka je pouze průhledem na skutečnou pracovní plochu, lze dalšími dvěma příkazy definovat, jakým způsobem se má systém virtuální plochy chovat, když se kurzorem myši dostaneme na okraj.
Příkazem EdgeResistance definujeme citlivost okraje. První parametr okennímu manažeru sděluje, jak dlouho se musí kurzor myši zdržovat na okraji obrazovky (v milisekundách), než se začne posouvat celý průhled na virtuální pracovní ploše za kurzorem myši. Nastavením hodnoty na 10000 se přesun průhledu či přepínání jednotlivých stránek virtuální pracovní plochy pomocí myši zakáže úplně. Na další stránky pracovní plochy se lze nicméně i pak dostat jinými prostředky, například pomocí modulu FvwmPager nebo pomocí nějaké vytvořené klávesové zkratky.
Druhý parametr příkazu EdgeResistance definuje chování oken na okrajích stránky - říká, o kolik se musí okno při přesunech posunout za okraj fyzické obrazovky, aby je bylo možné přesunout na jinou stránku virtuální pracovní plochy. Dostatečně vysokým číslem lze přesun oken mezi jednotlivými stránkami virtuální pracovní plochy znemožnit úplně.
Příkazem EdgeScroll definujeme, o kolik procent se má posunout průhled na virtuální pracovní ploše při najetí kurzoru myši na okraj. Nastavit se dá zvlášť hodnota pro horizontální i vertikální směr. Při nastavení hodnot 0 0 se nebude průhled na plochu pohybovat vůbec, při nastavení hodnot 100 100 se při najetí kurzorem myši na okraj fyzické obrazovky přepne průhled na celou vedlejší stránku.
Když vyzkoušíte uvedené tři příkazy ve svém nastavení, bude vám rychle jasné, jak celý systém virtuální pracovní plochy funguje.
Pro symbolické zobrazení celé virtuální plochy slouží modul FvwmPager. Jistě nejjednodušším způsobem startování je jeho uvedení do funkce StartFunction. Vzhledem ke své funkci by měl mít modul FvwmPager nastavené ještě některé vlastnosti. Určitě je pro nás výhodné, zůstává-li okno modulu na jednom místě obrazovky, ať už se fyzický průhled pohybuje po virtuální pracovní ploše kterýmkoliv směrem. Pravděpodobně bude vhodné, aby se modul FvwmPager s ostatními okny vzájemné neovlivňoval a byl hezky vespod (nebo nahoře, pak použijte parametr StaysOnTop) a nežádoucí jsou nejspíš i rámečky:
Style "FvwmPager" Sticky, NeverFocus, StaysOnBottom, \
NoTitle, NoHandles, BorderWidth 0
AddToFunc StartFunction
+ I Module FvwmPager
Pokud by modul FvwmPager na obrazovce zavazel, může se pověsit například na některou klávesovou či myší zkratku a zůstat na obrazovce jen dočasně, dokud nedokončíme požadovanou operaci s modulem:
Style "FvwmPager" Sticky, NeverFocus, StaysOnTop, \
NoTitle, NoHandles, BorderWidth 0
Mouse 3 R C Module FvwmPager -transient
V uvedeném příkladu se modul FvwmPager nastartuje kombinací CTRL+levé tlačítko myši a na obrazovce zůstává pouze do prvního kliknutí v okně modulu.
Modul FvwmPager může být použitý nejen pro přepínání stránek virtuální obrazovky. Levým tlačítkem myši můžeme posouvat fyzický průhled na virtuální plochu bez ohledu na hranice jednotlivých stránek. Prostředním tlačítkem pak lze "okno" v modulu FvwmPager uchopit a přesunout na jinou pracovní plochu nebo stránku.
Jednu virtuální pracovní plochu lze používat i bez modulu FvwmPager, stačí nastavit parametry EdgeScroll a EdgeResistance, případně nastavit klávesové zkratky. Modul FvwmPager umožňuje dále rozšířit počet pracovních ploch. Ty už jsou navzájem nezávislé, nelze se mezi nimi například přepínat myší nebo mezi nimi přesovat okna.
Každá virtuální pracovní plocha (Desk) má své číslo. Pro využití více pracovních ploch je potřeba modulu FvwmPager říci, kolik pracovních ploch má fvwm vytvořit:
AddToFunc StartFunction I Module FvwmPager 0 3
V příkladu výše se říká, že modul FvwmPager má vytvářet pracovní plochy 0 až 3. Je možné, aby byl modul FvwmPager nastartovaný vícekrát, každý modul by pak měl mít vlastní jméno kvůli dalšímu nastavení. V takovém případě může každý modul vytvářet a obsluhovat vlastní sadu virtuálních pracovních ploch:
AddToFunc StartFunction +I Module FvwmPager Franta 0 3 +I Module FvwmPager Arnost 4 7
Při nastavování vlastností takto pojmenovaných modulů se nebude používat obecné jméno *FvwmPager, ale *Franta a *Arnost.
O konfiguraci modulů jsem psal něco o už ve třetím díle seriálu, takže nyní se už nebudu příliš rozepisovat a přímo předvedu ukázkovou konfiguraci:
*FvwmPager: Geometry -1+50 *FvwmPager: Rows 4 *FvwmPager: Columns 1 *FvwmPager: Label 0 Kladno *FvwmPager: Label 1 Rožnov *FvwmPager: Label 2 Ostrava *FvwmPager: Label 3 Singapur *FvwmPager: Balloons All *FvwmPager: Back #202050 *FvwmPager: Fore #ffffff *FvwmPager: Hilight #404080 *FvwmPager: Font \ "-adobe-helvetica-medium-r-normal-*-12-120-75-75-*-*-iso8859-2" *FvwmPager: BalloonFont \ "-adobe-helvetica-medium-r-normal-*-12-120-75-75-*-*-iso8859-2"
Parametrem Geometry umístíme okno modulu FvwmPager na levý okraj obrazovky, mírně pod horní okraj. Parametry Rows a Columns modulu FvwmPager říkáme, jak má zobrazit své virtuální pracovní plochy. Parametry Label můžeme každou pracovní plochu pojmenovat, pokud se nám nelíbí FvwmPagerovo označení "Desk 0", "Desk 1" a tak dál. Já jsem zvolil pojmenování po významných světových metropolích. Parametr Balloons All způsobí, že při najetí kurzoru myši na miniaturu okna v modulu FvwmPager se zobrazí rámeček-bublinka s názvem okna. No a nakonec jsou definované barvy a použité písmo. Aby se mi vešel text s názvem fontů na stránku AbcLinuxu, napsal jsem název fontu na pokračovací řádek. Při té příležitosti jsem zjistil, že text s názvem fontu musí začínat hned v prvním sloupci - nelze jej odsadit.
Možnosti nastavení modulu jsou široké. Nastavovat lze barvy, obrázek na pozadí, chování nápisů, chování modulu FvwmPager v ikoně a podobně. Více podrobností lze objevit v manuálové stránce FvwmPager.
Užitečným pomocníkem modulu FvwmPager je modul FvwmBacker, který umožňuje měnit pozadí aktuální stránky. Protože je ale FvwmBacker napsaný dosti obecně, umožňuje spustit ve skutečnosti jakýkoliv příkaz. Velmi dobrý se mi jeví nápad, který se objevil v diskusi pod jedním z dřívějších článků seriálu.
*FvwmBacker: Command (Desk 1, Page 0 0) \ Exec echo "Rožnov 2" | \ osd_cat -c gold -o 10 -p top -A right -s 2 -d 2 \ -f "-adobe-helvetica-medium-r-normal-*-34-*-*-*-*-*-*-2" *FvwmBacker: Command (Desk 1, Page 0 1) \ Exec echo "Rožnov 2" | \ osd_cat -c gold -o 10 -p top -A right -s 2 -d 2 \ -f "-adobe-helvetica-medium-r-normal-*-34-*-*-*-*-*-*-2" *FvwmBacker: Command (Desk 1, Page 1 0) \ Exec echo "Rožnov 3" | \ osd_cat -c gold -o 10 -p top -A right -s 2 -d 2 \ -f "-adobe-helvetica-medium-r-normal-*-34-*-*-*-*-*-*-2" ....atd.
Při přepnutí obrazovky se vyvolá nějaký obecný příkaz - v tomto případě se příkazem osd_cat na několik vteřin vypíše do pravého horního rohu název pracovní plochy a číslo stránky. Stránka je adresovaná svým číslem pracovní plochy (Desk) a stránky. Nastavení modulu FvwmBacker neuvádím celé, protože rozsah článku by pak byl zbytečně veliký.
Pro vypisování názvu stránky je použitý program osd_cat, který můžete najít na stránce http://www.ignavus.net/.
Jednotlivé stránky virtuální pracovní plochy lze přepínat například pomocí klávesnice. Ve své konfiguraci používám kombinace CTRL+šipka:
Key Left ARI C Scroll -100 0 Key Right ARI C Scroll +100 +0 Key Up ARI C Scroll +0 -100 Key Down ARI C Scroll +0 +100
Při stištění kláves CTRL+šipka se vyvolá příkaz Scroll. Jeho parametry udávají, o kolik procent se má posunout fyzický průhled v horizontálním a vertikálním směru. Hodnotou 100 se přepne vždy celá stránka. Podobně lze pro přepínání pracovních ploch použít příkaz GotoDesk nebo GotoDeskAndPage.
Původně jsem předpokládal, že v dnešním díle se pouze letmo zmíním o virtuálních pracovních plochách a zbytek prostoru budu věnovat spíše modulu FvwmButtons. Povídání o modulu FvwmPager se ale rozrostlo do netušených rozměrů - modul FvwmButtons jsem si proto ponechal jako téma na některé z dalších pokračování seriálu.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Ukazka (obsahuje snad vsechno) napr:
http://bah.spb.su/~fox/fvwm/
Bohuzel moje konfigurace FVWM je dost skareda, ale zato funkcni k me spokojenosti :)
mi se nejvic libi a sam to tak mam, kdyz fvwm vypada jako motifovsky mwm.Jojo, takových lidí je myslím víc. Po různých experimentech s konfigurací FVWM (a po zkušenostech s jinými správci oken) jsem stejně zjistil, že nejlíp se mi kouká na něco jako MWM.
kdyby bylo zadarmo pro linux CDE, tak bych to hned bral, ale CDE je myslim za 50 $.S CDE jsem pracoval nedávno na Solarisu a trochu mi vadilo, že MWM není tak dobře konfigurovatelný jako FVWM (i když žít by se s tím určitě dalo