abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 15:11 | Nová verze

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

    Ladislav Hagara | Komentářů: 0
    dnes 11:44 | IT novinky

    Společnost Raspberry Pi dnes vstoupila na Londýnskou burzu jako Raspberry Pi Holdings plc (investor).

    Ladislav Hagara | Komentářů: 0
    dnes 01:22 | IT novinky

    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.

    Ladislav Hagara | Komentářů: 0
    včera 22:33 | IT novinky

    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, …

    Ladislav Hagara | Komentářů: 7
    včera 21:44 | Nová verze

    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.

    sonicpp | Komentářů: 1
    včera 15:00 | Nová verze

    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.

    Ladislav Hagara | Komentářů: 7
    včera 12:00 | Zajímavý článek

    Uroš Popović popisuje, jak si nastavit Linux na desce jako Raspberry Pi Zero, aby je šlo používat jako USB „flešku“.

    Fluttershy, yay! | Komentářů: 1
    včera 08:44 | Zajímavý software

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

    Fluttershy, yay! | Komentářů: 2
    včera 02:22 | Nová verze

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

    Ladislav Hagara | Komentářů: 0
    8.6. 17:55 | Komunita

    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.

    Ladislav Hagara | Komentářů: 11
    Rozcestník

    Menu v icewm

    17.4.2007 13:21 | Přečteno: 1807× | 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.