Byla vydána (𝕏) nová verze 9.5 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.
Společnost Raspberry Pi dnes vstoupila na Londýnskou burzu jako Raspberry Pi Holdings plc (investor).
Do 17. června do 19:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | červen 2024 doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.
Apple na své vývojářské konferenci WWDC24 (Worldwide Developers Conference, keynote) představil řadu novinek: svou umělou inteligenci pojmenovanou jednoduše Apple Intelligence, iOS 18, visionOS 2, macOS Sequoia, iPadOS 18, watchOS 11, …
Vyšla nová verze XMPP (Jabber) klienta Gajim, která přidává podporu reakcí pomocí emoji (XEP-0444: Message Reactions) a citace zpráv (XEP-0461: Message Replies). Přehled dalších vylepšení je k dispozici na oficiálních stránkách.
Po po téměř roce vývoje od vydání verze 5.38 byla vydána nová stabilní verze 5.40 programovacího jazyka Perl (Wikipedie). Do vývoje se zapojilo 75 vývojářů. Změněno bylo přibližně 160 tisíc řádků v 1 500 souborech. Přehled novinek a změn v podrobném seznamu.
Uroš Popović popisuje, jak si nastavit Linux na desce jako Raspberry Pi Zero, aby je šlo používat jako USB „flešku“.
Andreas Kling oznámil, že jelikož už se nevěnuje nezávislému operačnímu systému SerenityOS, ale výhradně jeho webovému prohlížeči Ladybird, přičemž vyvíjí primárně na Linuxu, SerenityOS opustí a Ladybird bude nově samostatný projekt (nový web, repozitář na GitHubu).
Po dvou měsících vývoje byla vydána nová verze 0.13.0 programovacího jazyka Zig (GitHub, Wikipedie). Přispělo 73 vývojářů. Přehled novinek v poznámkách k vydání.
Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.
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: