Open source software pro úpravu digitálních fotografií LightZone (Wikipedie) byl vydán v nové verzi 5.0.0. LightZone je dnes k dispozici pod licencí BSD. Původně se jednalo o proprietární software vyvíjený společností Light Crafts. Ta v prosinci 2012 souhlasila s uvolněním zdrojových kódů jako open source [Wayback Machine].
Byla vydána verze 0.84 telnet a ssh klienta PuTTY (Wikipedie). Podrobnosti v přehledu nových vlastností a oprav chyb a Change Logu.
Microsoft představil Azure Linux 4.0 a Azure Container Linux. Na konferenci Open Source Summit North America 2026 organizované konsorciem Linux Foundation a sponzorované také Microsoftem. Azure Linux 4.0 vychází z Fedora Linuxu. Azure Container Linux je založen na projektu Flatcar. Azure Linux (GitHub, Wikipedie) byl původně znám jako CBL-Mariner.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 165 (pdf).
Byla vydána verze 9.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a informačním videu.
Firefox 151 podporuje Web Serial API. Pro komunikaci s různými mikrokontroléry připojenými přes USB nebo sériové porty už není nutné spouštět Chrome nebo na Chromiu postavené webové prohlížeče.
Byla vydána nová stabilní verze 8.0 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 148. Přehled novinek i s náhledy v příspěvku na blogu.
Ve FreeBSD byla nalezena a opravena zranitelnost FatGid aneb CVE-2026-45250. Jedná se o lokální eskalaci práv. Neprivilegovaný uživatel se může stát rootem.
Společnost Flipper Devices oznámila Flipper One. Zcela nový Flipper postavený od nuly. Jedná se o open-source linuxovou platformu založenou na čipu Rockchip RK3576. Hledají se dobrovolníci pro pomoc s dokončením vývoje (ovladače, testování, tvorba modulů).
Vývojáři Wine oznámili vydání verze 2.0 knihovny vkd3d pro překlad volání Direct3D na Vulkan. Přehled novinek na GitLabu.
Jak jsem slíbil (http://www.abclinuxu.cz/forum/show/168981), tak činím. Zkusil jsem popsat možnosti menu v IceWM.
Po letech mnoha letech používání počítače jsem získal některé návyky. Jedním z nich je používání kvalitního menu ve window manageru. Nejprve jsem používal zejména WindowMaker, tam je velmi dobré menu, ale já jsem jej tak nějak pomíjel a používal převážně dock. Pak přišlo období s IceWM, kdy jsem měl k dispozici ikony na liště a pak také ikony na ploše zajištěné aplikací Rox. Jenže plocha je sice dobrá úvodní spuštění hlavní aplikace, ale pak je neustále zakryta nějakými okny a tudíž je víceméně nepřístupná a na liště je omezené místo. Vím o tom, že jsou klávesové zkratky které ji dokáží vytáhnout do popředí, ale to mi připadalo nepohodlné, když jsem si chtěl jen spustit další okno s dalšími potřebnými daty a ono najednou všechno zmizelo. Nevím zda jsem začal používat počítač intenzivněji nebo prostě jen jiným způsobem, takže jsem objevil kouzlo menu.
Postupně jsem začínal více a více používat menu až nakonec jsem odboural ostatní způsoby spouštění aplikací a používám už téměř výhradně menu. (A samozřejmě klávesové zkratky.)
Nedávno jsem narazil na text ukazující, že někteří lidé považují IceWM za window manager druhé kategorie, který se nedá pořádně nastavit a nemá pořádné menu. Myslím že to není pravda, IceWM podle mého názoru má možnosti menu velmi dobré a pokusím se je popsat.
Základní statická forma menu vypadá takto:
prog "Terminál rxvt" "xterm" rxvt
prog "Gvim" "vim" gvim
menu "test" "folder" {
prog "OpenOffice" "ooo_gulls" openoffice
prog "Lyx" "emacs" lyx
}
prog "ROOT terminál" "control-center" rxvt -bg darkred -e su -
Na prvním místě je klíčové slovo prog nebo menu které říká, že se jedná
o spuštění programu, nebo submenu, které uvozuje vnořené submenu. Pak následuje
nadpis položky, pokud obsahuje mezeru nebo jiné "speciální" znaky, musí být v
uvozovkách, jinak uvozovky nejsou povinné. Následuje ikona.
Ikona může být název ikony dle konvence IceWM (viz.
manuál) nebo to může být i obecně jakýkoliv
grafický soubor ve formátu xpm s plnou cestou nebo bez cesty pokud se nachází v IconPath. Pokud je
IceWM kompilováno s podporou Imlib jsou podporovány další grafické formáty -
bmp, jpeg, ppm, tiff, gif, png, ps, xpm. Pokud se uživatel nechce ikonou
zabývat, napíše jako název ukony pomlčku a žádná ikona není zobrazena. Zajímavou
sbírku ikon lze najít na http://bbs.cvut.cz/~covex/icewm/iceicons/.
Pak následují složené závorky v případě submenu nebo příkaz pro provedení.
Součástí menu mohou být některé speciální položky.
separator slouží k vytvoření oddělovací čáry v menu.
runonce slouží ke zvláštnímu způsobu spouštění položek. Ono once
napovídá, že se IceWM podívá, zda již neexistuje okno zadané třídy a pokud ano,
nespouští další program, ale jen okno vytáhne do popředí.
runonce "title" icon_name "res_name.res_class" program_executable options runonce "title" icon_name "res_name" program_executable options runonce "title" icon_name ".res_class" program_executable options
restart slouží k přechodu do jiného wm. IceWM se ukončí a je nahrazen
zadaným wm.
restart "title" icon_name program_executable options
A nyní se dostáváme k zajímavějším možnostem menu. Bohužel dále uvedené možnosti mají jedno nepříjemné omezení - nejdou použít jako seznam položek v exitující větvi (sub)menu, ale jen jako samostatná submenu. Takže nelze napsat část větve staticky, pak zařadit např. dynamické položky a pokračovat zase statickými položkami na stejné úrovni.
Vložení dalšího souboru snad není třeba nijak upřesňovat funkce je zřejmá.
menufile Programs folder programs
Bude vytvořeno subnemu "Programs" s ikonou "folder" a jako položky se natáhne
obsah souboru programs. Pozor na jednu vlastnost - obsah souboru programs se natáhne
jen při vytváření menu - typicky při prvním zobrazení, další změny změny v
souboru programs se pak již nepromítnou do dalšího znovuvytvoření menu. Kdy
to bude závisí na nastavení IceWM - u mne při každé změně hlavního souboru.
Restart IceWM, samozřejmě, nové natažení menu vynutí kdykoliv.
Takto je třeba možno vkládat do menu součásti společné více uživatelům.
Menu lze i generovat programem. Položky se čtou ze standardního výstupu.
menuprog Gnome folder icewm-menu-gnome1 --list
Místo programu icewm-menu-gnome1 --list, lze dosadit jakýkoliv vlastní
generátor menu. menuprog se spouští též jen jednou při vytváření menu
stejně jako v předchozím případě při vkládání souboru. Takže tato varianta není
tak úplně dynamická.
A nyní se konečně dostáváme ke skutečně dynamicky generovanému menu.
Syntaxe je následující:
menuprogreload title icon timeout command
Timeout je zadáván v sekundách a určuje dobu platnosti položek získaných z výstupu příkazu. Pokud je timeout 0, pak se příkaz spouští při každém zobrazení podmenu.
Něco málo mnou používaných příkazů jako ilustrační příklad (exec v druhém
řádku není příkaz, ale název ikony - obrázku ozubeného kola
):
menuprogreload "Procházet..." folder 0 dirBrowserMenu.sh /home/martin roxopen.sh menuprogreload "Procesy" exec 0 process.sh
První položka umožňuje rekurzívní procházení adresářů, druhá je jednoduchý správce procesů.
Pokud někoho zajímá jak takový script vypadá, tady je dirBrowserMenu.sh:
#!/bin/bash
# Popis:
# $1 - adresář k prozkoumání
# $2 - příkzaz pro otevírání souborů
echo prog \"Otevřít...\" "folder" $2 $1
echo separator
find $1 -maxdepth 1 -mindepth 1 -type d -not -name '.*' \
-printf "menuprogreload \"%f\" folder 0 $0 \"%p\" $2\n"
echo separator
find $1 -maxdepth 1 -mindepth 1 -not -type d -not -name '.*' -not -name '*.clean' \
-printf "prog \"%f\" file $2 \"%p\"\n"
a tady je process.sh:
#!/bin/bash
top -U`whoami` -b -n1 | tail +8 | sed '/^[^[:space:]]*$/d' | \
awk '{print $1 " \"" $12 " (" $9 "; " $8 "; " $6 "; " $4 ")\"" }' | \
while read PID CAPTION; do
echo menu $CAPTION \"-\" {
echo prog '"renice +5" "-" renice +5' $PID
echo prog '"kill" "-" kill' $PID
echo prog '"kill -9" "-" kill -9' $PID
echo }
done
Nedělám si žádné nároky na úplnost a neprůstřelnost, ale u mne to funguje v dostatečné míře.
Jak vidno je menu v IceWM je jednoduché a přitom má dostatečné možnosti. Takže si každý snadno může menu vyrobit podle svých potřeb.
Tiskni
Sdílej: