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 16:00 | Nová verze

    Byla vydána nová verze 2025.4 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení na blogu.

    Ladislav Hagara | Komentářů: 1
    včera 12:44 | IT novinky

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) zveřejnil Národní politiku koordinovaného zveřejňování zranitelností (pdf), jejímž cílem je nejen zvyšování bezpečnosti produktů informačních a komunikačních technologií (ICT), ale také ochrana objevitelů zranitelností před negativními právními dopady. Součástí je rovněž vytvoření „koordinátora pro účely CVD“, jímž je podle nového zákona o kybernetické … více »

    Ladislav Hagara | Komentářů: 6
    včera 04:33 | Nová verze

    Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 25.12. Přehled novinek i s náhledy a videi v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    včera 03:55 | Nová verze

    Společnost System76 vydala Pop!_OS 24.04 LTS s desktopovým prostředím COSMIC. Videoukázky na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 03:11 | Nová verze

    Byla vydána verze 1.92.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    včera 01:33 | Komunita

    Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2024. Oceněni byli Andy Wingo, jeden ze správců GNU Guile, Alx Sa za příspěvky do Gimpu a Govdirectory jako společensky prospěšný projekt.

    |🇵🇸 | Komentářů: 3
    11.12. 18:55 | Nová verze

    Bylo vydáno Eclipse IDE 2025-12 aneb Eclipse 4.38. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 0
    11.12. 17:44 | Nová verze

    U příležitosti oslav osmi let prací na debianím balíčku vyšlo GPXSee 15.6. Nová verze přináší především podporu pro geotagované MP4 soubory, včetně GoPro videí. Kdo nechce čekat, až nová verze dorazí do jeho distribuce, nalezne zdrojové kódy na GitHubu.

    Martin Tůma | Komentářů: 15
    11.12. 09:22 | Nová verze

    Monado, tj. multiplatformní open source implementace standardu OpenXR specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro virtuální realitu (VR) a rozšířenou realitu (AR), bylo vydáno ve verzi 25.1.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    11.12. 02:44 | Nová verze

    Byla vydána listopadová aktualizace aneb nová verze 1.107 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.107 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (17%)
     (22%)
     (15%)
     (24%)
     (15%)
     (17%)
    Celkem 459 hlasů
     Komentářů: 19, poslední 11.12. 20:04
    Rozcestník

    Menu v icewm

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