abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 22:33 | Nová verze

    Oficiálně byl vydán Android 16. Detaily na blogu a stránkách věnovaných vývojářům.

    Ladislav Hagara | Komentářů: 1
    včera 14:33 | Nová verze

    Byla vydána nová verze 14.3 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | Upozornění

    CSIRT.CZ upozorňuje, že na základě rozhodnutí federálního soudu ve Spojených státech budou veškeré konverzace uživatelů s ChatGPT uchovávány. Včetně těch smazaných.

    Ladislav Hagara | Komentářů: 8
    včera 13:44 | Pozvánky

    Ač semestr ve škole právě končí, bastlíři ze studentského klubu Silicon Hill neodpočívají a opět se jako každý měsíc hlásí s pravidelným bastlířským setkáním Virtuální Bastlírna, kde si můžete s ostatními techniky popovídat jako u piva o novinkách, o elektronice, softwaru, vědě, technice obecně, ale také o bizarních tématech, která se za poslední měsíc na internetu vyskytla.

    Z novinek za zmínku stojí Maker Faire, kde Pájeníčko předvedlo … více »
    bkralik | Komentářů: 0
    včera 04:44 | Zajímavý software

    Na WWDC25 byl představen balíček Containerization a nástroj container pro spouštění linuxových kontejnerů na macOS. Jedná se o open source software pod licencí Apache 2.0 napsaný v programovacím jazyce Swift.

    Ladislav Hagara | Komentářů: 1
    včera 02:00 | IT novinky

    Do 16. června do 19:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | červen 2025 doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.

    Ladislav Hagara | Komentářů: 0
    9.6. 21:44 | IT novinky

    Apple na své vývojářské konferenci WWDC25 (Worldwide Developers Conference, keynote) představil řadu novinek: designový materiál Liquid Glass, iOS 26, iPadOS 26, macOS Tahoe 26, watchOS 26, visionOS 26, tvOS 26, nové funkce Apple Intelligence, …

    Ladislav Hagara | Komentářů: 1
    9.6. 20:44 | Komunita

    Organizátoři konference LinuxDays 2025, jež proběhne o víkendu 4. a 5. října 2025 v Praze na FIT ČVUT, spustili přihlašování přednášek (do 31. srpna) a sběr námětů na zlepšení.

    Ladislav Hagara | Komentářů: 0
    9.6. 19:11 | Nová verze

    Po roce byla vydána nová stabilní verze 25.6.0 svobodného multiplatformního multimediálního přehrávače SMPlayer (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    9.6. 12:55 | IT novinky

    DNS4EU, tj. evropská infrastruktura služeb DNS založená na vysoce federovaném a distribuovaném ochranném ekosystému, byla spuštěna v testovacím režimu [𝕏]. Na výběr je 5 možností filtrování DNS.

    Ladislav Hagara | Komentářů: 20
    Jaký je váš oblíbený skriptovací jazyk?
     (55%)
     (32%)
     (7%)
     (2%)
     (0%)
     (0%)
     (3%)
    Celkem 242 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Menu v icewm

    17.4.2007 13:21 | Přečteno: 1834× | blog | Výběrový blog

    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.

    Statické menu

    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í.

    Speciální položky

    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
    

    Vložené soubory

    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.

    Generované menu

    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á.

    Dynamické generované menu

    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.

           

    Hodnocení: 91 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    David Ježek avatar 17.4.2007 20:28 David Ježek | skóre: 83 | blog: Mostly_IMDB
    Rozbalit Rozbalit vše Re: Menu v icewm
    no koukám že se k tomu nikdo nemá, tak to řeknu já: díky moc, icewm plánuju na jednu šunku a tohle se mi bude hodně hodit.
    Josef Kufner avatar 17.4.2007 20:30 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Menu v icewm
    Jojo, IceWm má výborné menu. Ještě dolním, že v názvu položky lze použít podtržítko a tím nastavit klávesu na kterou bude položka reagovat (podtržené písmenko).

    A taky si přihřeju polívčičku: Pokud chcete pohodlně vybírat kam se připojit po ssh nebo zapínat/vypínat síťovky v Debianu (i s profilama), tak mám pár věcí na svém webu.
    Hello world ! Segmentation fault (core dumped)
    18.4.2007 13:57 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Menu v icewm
    Dekuji pekne za vysvelteni ;)

    Nevyjadril jste se, zda vam ten gnome2icewm script funguje. Takze kdyby nekomu ne, tak muze pouzit primitivni skript, ktery jsem narychlo spichnul, abych nemusel psat menu rucne.
    18.4.2007 14:11 Martin Lebeda | skóre: 22 | blog: Martinuv_blog | Plzeň
    Rozbalit Rozbalit vše Re: Menu v icewm
    Nemám gnome a tudíš nepoužívám gnome2icewm. Ani to nikde netvrdím - používám výhradně vlastní scripty.
    22.10.2007 15:32 ahlstrom | skóre: 2
    Rozbalit Rozbalit vše Re: Menu v icewm
    Ja icewm nepouzivam na sunce ale na svem pocitaci na kterem delam denne, musim rict ze lepsi window manager jsem nevidel. Musim rict, ze jak vidim nektere ty windowsaky jak si zapnou ve skole notebook a jak jim najede graficke prostredi, tak musi jeste dalsi 3 minuty cekat nez se jim zastavi disk. S linuxem, a zvlaste s IceWM mohu pracovat ihned po najeti Xwindow

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.