TerminalTextEffects (TTE) je engine pro vizuální efekty v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Od čtvrtka 30. 5. do soboty 1. 6. lze v Praze navštívit Veletrh vědy, tj. největší populárně naučnou akci v České republice, kterou každoročně od roku 2015 pořádá Akademie věd ČR. Vstup zdarma.
Canonical představil Ubuntu optimalizované pro jednodeskový počítač s RISC-V procesorem Milk-V Mars.
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 24.5.1 Havier. Přehled novinek v Changelogu.
Společnost xAI založena Elonem Muskem a stojící za AI LLM modelem Grok získala investici 6 miliard dolarů.
Finálový zápas mistrovství světa v ledním hokeji přinesl nový rekord NIX.CZ (𝕏): "Dosavadní absolutní maximum našeho propojovacího uzlu bylo překonáno v čase 21:10, kdy jsme při přenosu dat dosáhli 3,14 Tbps. Je třeba také doplnit, že po deváté hodině večerní byly na maximu i ostatní datové přenosy nesouvisející s hokejovým šampionátem".
Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 12. a 13. října na FIT ČVUT v pražských Dejvicích. CfP poběží do konce prázdnin, pak proběhne veřejné hlasování a výběr přednášek.
Na crowdsourcingové platformě Crowd Supply byla spuštěna kampaň na podporu open source biometrického monitoru ve tvaru hodinek HealthyPi Move. Cena je 249 dolarů a plánovaný termín dodání listopad letošního roku.
Firma Murena představila /e/OS verze 2.0. Jde o alternativní sestavení Androidu bez aplikací Google. Mezi novinkami je podrobnější nastavení ochrany soukromí před sledováním aplikacemi. Murena prodává několik smartphonů s předinstalovaným /e/OS (Fairphone, repasovaný Google Pixel 5).
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: