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 04:33 | IT novinky

    Společnost Espressif (ESP8266, ESP32, …) získala většinový podíl ve společnosti M5Stack, čímž posiluje ekosystém AIoT.

    Ladislav Hagara | Komentářů: 0
    včera 23:44 | Nová verze

    Byla vydána nová stabilní verze 3.5 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). Přehled novinek také na YouTube. Nově lze využívat cloud (audio.com). Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Zajímavý článek

    50 let operačního systému CP/M, článek na webu Computer History Museum věnovaný operačnímu systému CP/M. Gary Kildall z Digital Research jej vytvořil v roce 1974.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Pozvánky

    Byl zveřejněn program a spuštěna registrace na letošní konferenci Prague PostgreSQL Developer Day, která se koná 4. a 5. června. Na programu jsou 4 workshopy a 8 přednášek na různá témata o PostgreSQL, od konfigurace a zálohování po využití pro AI a vector search. Stejně jako v předchozích letech se konference koná v prostorách FIT ČVUT v Praze.

    TomasVondra | Komentářů: 0
    včera 03:00 | IT novinky

    Po 48 letech Zilog končí s výrobou 8bitového mikroprocesoru Zilog Z80 (Z84C00 Z80). Mikroprocesor byl uveden na trh v červenci 1976. Poslední objednávky jsou přijímány do 14. června [pdf].

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

    Ještě letos vyjde Kingdom Come: Deliverance II (YouTube), pokračování počítačové hry Kingdom Come: Deliverance (Wikipedie, ProtonDB Gold).

    Ladislav Hagara | Komentářů: 3
    21.4. 19:11 | Komunita

    Thunderbird 128, příští major verze naplánovaná na červenec, přijde s nativní podporou Exchange napsanou v Rustu.

    Ladislav Hagara | Komentářů: 19
    21.4. 04:44 | Komunita

    Byly vyhlášeny výsledky letošní volby vedoucího projektu Debian (DPL, Wikipedie). Novým vedoucím je Andreas Tille.

    Ladislav Hagara | Komentářů: 7
    21.4. 00:11 | Nová verze

    Po osmi měsících vývoje byla vydána nová verze 0.12.0 programovacího jazyka Zig (GitHub, Wikipedie). Přispělo 268 vývojářů. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    20.4. 23:55 | Pozvánky

    Poslední měsíc byl plný zajímavých akcí, o kterých Vám bastlíři z projektu MacGyver mohou povědět, protože se na ně sami vydali. Kde všude byli, ptáte se? Objevili se na Installfestu, Arduino Day, Hackaday Europe a tajném srazu bastlířů z Twitteru. A z každé akce pro vás mají zajímavé poznatky.

    … více »
    bkralik | Komentářů: 1
    KDE Plasma 6
     (71%)
     (10%)
     (2%)
     (17%)
    Celkem 669 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Fvwm - III

    12. 11. 2004 | Petr Bravenec | Recenze | 8973×

    Představení nejzajímavějších rozšiřujících modulů, příklady nastavení.

    Okenní manažer fvwm se sám o sobě stará pouze o základní funkčnost - umí zvětšovat/zmenšovat/přesouvat okna, nakreslí kolem oken rámečky, čudlíky, knoflíky, nadpisy, dovede vytvořit jednoduché menu. O další nadstandardní funkčnost se starají moduly. Pomocí modulů může fvwm dělat další užitečné věci. Pro ty, kteří si nedovedou představit kupříkladu život bez tlačítka "Start", existuje module FvwmTaskBar. Další modul - FvwmPager - se stará o zobrazení virtuálních obrazovek. Chcete-li mít na každé obrazovce jiný podklad, poslouží modul FvwmBacker.

    Musím se přiznat, že ačkoliv mě čas od času popadne průzkumnická nálada a snažím se zjistit, k čemu by mohly být všechny ty moduly, které jsou přibalené k fvwm, nepoužívám moduly prakticky vůbec. Základní funčnost fvwm mým potřebám bohatě stačí. Ale pro ostatní by se mezi moduly mohlo najít pár užitečných maličkostí.

    Konfigurace modulů

    Obecně se všechny moduly konfigurují podobně. Parametry se zapisují do konfiguračního souboru ~/.fvwm2rc či do globálního /etc/X11/fvwm/system.fvwmrc. Parametry pro moduly jsou uvedené hvězdičkou a jménem modulu:

    *FvwmButtons: Back gray

    Někdy je potřeba nastartovat více instancí jednoho modulu a každý modul nakonfigurovat jinak. Proto lze některé moduly "přejmenovat" - říci modulu, že má hledat svou konfiguraci pod jiným jménem (například moduly FvwmButtons nebo FvwmEvent).

    Většina jednodušších modulů je ale konfigurovatelná přímo uvedením parametrů na své povelové řádce.

    Moduly jsou dobře popsané na svých manuálových stránkách. Navíc jsou k fvwm přibaleny i dosti složité ukázky konfigurace jednotlivých modulů (u mě v adresáři /usr/share/fvwm).

    Seznam zajímavých modulů

    FvwmAnimate

    Hned první modul v abecedě a hned jeden z nejužitečnějších. Tedy... o jeho užitečnosti by mohli někteří s úspěchem pochybovat, ale mě vždycky potěší, když se někdo začne zajímat "Co ti to tam lítá, na té obrazovce? To jsou nějaké nové Windows?" Modul FvwmAnimate umí při shození okna do ikonky (nebo naopak) vyrobit efektní animaci. Pomocí parametrů v konfiguračním souboru lze nastavit šest různých animačních efektů, barvy, délku animace a podobně. Experimentováním se moje konfigurace modulu ustálila na této podobě:

    *FvwmAnimate: Effect Turn
    *FvwmAnimate: Width 2
    *FvwmAnimate: Twist 1
    *FvwmAnimate: Iterations 20

    Popravdě je modul FvwmAnimate jediný, který používám. Velmi mě potěší, až jednoho krásného dne někdo přebuduje modul FvwmAnimate tak, aby se při animaci nepohybovaly pouze kontury okna, ale celé okno i se svým obsahem. Snad se mi pak aspoň částečně vrátí investice do OpenGL karty (když už si moc nehraju...)

    Do problémů jsem se s modulem FvwmAnimate dostal po instalaci distribuce Fedora Core 2. Může za to s největší pravděpodobností okenní systém Xorg - věcí, které přestaly ve FC2 v souvislosti s okýnky fungovat, je podezřele vysoké množství.

    FvwmAuto

    Kdo se chce trochu pobavit, může zkusit přidat do svého (či lépe kolegova) konfiguračního souboru pár řádků:

    AddToFunc StartFunction
    + I Module FvwmAuto 0 Nop "Silent Lower"
    + I Module FvwmAuto 0 Nop "Silent Iconify"

    Byl pro mě trochu oříšek přeložit výraz "when a window gets the focus". Ale snad to bude jasné: modul FvwmAuto umožní provést nějaký příkaz vždy, když okno dostane nebo mu je odebrán fokus. Výše uvedený příklad funguje tak, že každé okno, které ztratí fokus, modul FvwmAuto shodí do ikonky. Na obrazovce po chvíli práce skončíte s jediným oknem, které se při otevření jiného okna automaticky minimalizuje. Záhy zjistíte, že je nemožné mít na ploše více než jedno otevřené okno a že s takto nakonfigurovaným modulem FvwmAuto se prostě nedá spolupracovat.

    V manuálu je uvedený trochu praktičtější příklad - pomocí modulu FvwmAuto lze sledovat, v jakých oknech se uživatel pohyboval.

    FvwmBacker

    I když jsem to dosud v žádném předchozím povídání o fvwm neprozradil, je fvwm vůbec prvním okenním manažerem, který mi před deseti lety ukázal výhodu virtuálních obrazovek. Pro jejich snadnou správu existuje ve fvwm modul FvwmPager - module FvwmBacker je pomocníkem, který dovede měnit obrázky na pozadí jednotlivých virtuálních obrazovek.

    V minulém díle seriálu jsem přiložil konfigurační soubor, ve kterém je nastavená velikost 2×2. FvwmBacker může využívat nastavený desktop třeba takto:

    *Fvwmbacker: Command (Desk 0, Page 0 0) Exec xloadimage -onroot obrazek.jpg
    *Fvwmbacker: Command (Desk 0, Page 0 1) -solid green
    *Fvwmbacker: Command (Desk 0, Page 1 0) -solid blue
    *Fvwmbacker: Command (Desk 0, Page 1 1) -solid red

    FvwmBanner

    Fvwm je jeden z mála sympatických programů, které neotravují při startu s grafickým logem. Pokud by snad přece jen někoho lákalo mít při startu okenního manažeru výrazný barevný emblém, může si do konfigurace přidat startování modulu FvwmBanner:

    AddToFunc StartFunction I Modules FvwmBanner
    Style "FvwmBanner" StaysOnTop, NoTitle, NoHandles, BorderWidth 0

    FvwmButtons

    Modul vytvoří na obrazovce sadu tlačítek pro komfortnější spouštění aplikací.

    *FvwmButtons: Geometry -9-50
    *FvwmButtons: Back darkblue
    *FvwmButtons: Fore Yellow
    *FvwmButtons: Rows 3
    *FvwmButtons: BoxSize smart
    *FvwmButtons: Padding 2 2
    *FvwmButtons: (Title "xmms", Icon xmms.xpm , Action Exec xmms)
    *FvwmButtons: (Title "freeciv", Icon freeciv.xpm, Action Exec civ)

    Ukázka knoflíků na mojí obrazovce

    Ukázka knoflíků na mojí obrazovce podle uvedené konfigurace. Obrázky jsou součástí příslušných balíčků (xmms a freeciv) a jsou uložené v adresáři /usr/share/pixmaps (distribuce Fedora Core 2). Na uvedený adresář proto musí odkazovat parametr ImagePath v konfiguračním souboru fvwm. Hodiny nejsou součástí modulu FvwmButtons, i když modul umožňuje použít jako ikonku výstup z běžící aplikace (například oclock nebo xclock).

    FvwmCpp

    Volání preprocesoru CPP na konfigurační soubor fvwm. Jestli tomu dobře rozumím, měl by vám tento modul umožnit používat v konfiguračním souboru konstrukce jako #include <soubor.h> - jenom si nedovedu představit, k čemu bych to na svém jednoužitelském stroji použil. Ale při masivnějším nasazení fvwm například v podnikovém prostředí by se dal modul s úspěchem použít pro "předpřípravu" konfiguračního souboru například podle uživatelských skupin.

    FvwmEvent

    Modul FvwmEvent je obecnější náhradou za starší modul FvwmAudio. Umožňuje při každé nakonfigurované události (start fvwm, otevření okna, zavření okna a podobně - pro seznam událostí doporučuji prostudovat manuálovou stránku) přehrát nějaký zvuk.

    *FvwmEvent: Cmd "Exec /usr/bin/play"
    *FvwmEvent: startup "TaDa.wav"
    *FvwmEvent: shutdown "zvuk1.wav"

    FvwmIdent

    Drobnost, ale potěší. Modul vypíše množství informací o okně: jméno okna, jméno ikony, šířku, výšku, hloubku, umístění na obrázovce a množství dalších údajů, které mě naposledy zajímaly, když jsem koketoval s myšlenkou programování v Xlib.

    FvwmPager

    Přepínání/zobrazení virtuálních obrazovek. V konfiguračním souboru z minulého dílu je použitá jen velmi jednoduchá konfigurace virtuálních obrazovek, pro kterou není třeba FvwmPager nijak konfigurovat. Nicméně pomocí modulu FvwmPager lze vytvořit i velmi složitý systém virtuálních obrazovek a pracovních ploch.

    FvwmRearrange

    Uspořádá okna na ploše.

    AddToMenu HlavniMenu
    + Module FvwmRearrange -cascade 10 10 90 90

    Uvedený příklad uspořádá okna do kaskády hezky jedno za druhým. Masochisti mohou vyzkoušet i jiné chování: -resize -tile -h 10 10 90 90. S těmito parametry modul FvwmRearrange nejenže okna přeskládá tak, jak by vás v životě nenapadlo, ale navíc ještě změní jejich velikost.

    FvwmTaskBar

    Klasický taskbar známý z Windows. Původně vychází FvwmTaskBar z jednoduchého modulu FvwmWinList, který byl součástí fvwm už před deseti lety, kdy Windows existovaly pouze ve verzi 3 a něco a o taskbaru nikdo neslyšel. Modul FvwmWinList se ale dnešnímu taskbaru příliš nepodobá. Zato modul FvwmTaskBar by zřejmě nemusel být problém nastavit tak, aby uživatel na první pohled nepoznal rozdíl mezi taskbarem "opravdovým, od Billa" a mezi taskbarem fvwm.

    AddToFunc StartFunction I Module FvwmTaskBar

    *FvwmTaskBar: AutoHide 2
    *FvwmTaskBar: StartMenu HlavniMenu

    I když je uvedený příklad velice skromný, ve skutečnosti má modul FvwmTaskBar o cosi širší možnosti nastavení.

    Kromě obvyklých vlastností, které by se daly od taskbaru očekávat, umí FvwmTaskBar zobrazovat i hodiny a hlídat novou poštu. S největší pravděpodobností FvwmTaskBar nedovede zapouzdřit cizí aplikaci jako svou součást - nelze tedy použít například místo digitálek jiné hodiny. K tomu se dá velice dobře použít modul FvwmButtons nebo FvwmWharf.

    FvwmWharf

    O něco jednodušší varianta modulu FvwmButtons.

    Na závěr

    V článku jsem rozhodně nezmínil všechny moduly. U některých modulů jsem ani záměrně nešel příliš do hloubky, abych si nechal prostor na případné další pokračování seriálu o fvwm.

           

    Hodnocení: 45 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

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

    Komentáře

    Vložit další komentář

    12.11.2004 00:55 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše FvwmCpp
    $SUBJ sice opravdu nevím, k čemu bych použil, ale bez FvwmM4 (M4 preprocesor) bych byl jako bez ruky.
    14.11.2004 14:52 Staon
    Rozbalit Rozbalit vše Re: FvwmCpp
    Fvwm sice uz uz asi 5 let nepouzivam, ale pouziti CPP si dokazu dobre predstavit. Cckovy preprocesor totiz nabizi nekolik moznosti:

    1) vkladani dalsich konfiguraku (#include). Diky tomu je mozno slozite konfiguraky modularizovat, cimz se v nich lepe clovek vyzna.

    2) vytvareni konstant. Pokud nekde zadavam nejake rozmery, tak si je strcim do konstanty a treba pri pripadne zmene rozliseni snadno na jednom miste je pozmenim.

    3) vytvareni maker. Mozna to jde lepe, ale co si vzpominam, kdyz jsem chtel stejnou reakci na dve ruzne udalosti, musel jsem to psat dvakrat. Pokud si udelam makro, napisu to jen jednou.

    4) podmineny preklad (#ifdef, #ifndef) - pro ruzne skupiny muzu udelat ruzne konfiguraky. CPP casti, ktere neodpovidaji dane podmince, zcela odstrani.

    Myslim si, ze pro nekoho, kdo spravuje pocitac pro vic uzivatelu tohle muze byt dost uzitecny nastroj, ale napriklad pouziti konstant bych doporucil i pro jednouzivatelsky pocitac. Pokud navic konstanty includuji z dalsiho souboru, tak se konfiguraky dost zprehledni.
    15.11.2004 10:40 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: FvwmCpp
    ;-)))

    Proč používat C preprocesor když máš k disposici M4, který je pohodlnější a mocnější? Leda když vůbec netušíš, co M4 je...
    23.11.2004 00:39 Staon
    Rozbalit Rozbalit vše Re: FvwmCpp
    Mocnejsi ano, pohodlnejsi se mi rozhodne nezda. A pokud nebudu mit nejake slozitejsi naroky, tak radsi zvolim preprocesor. Na M4 jsem narazil v ramci autoconfigu a moc dobry dojem na me neudelal.
    franta avatar 12.11.2004 10:22 franta | skóre: 6
    Rozbalit Rozbalit vše dokovani aplikaci
    Jakym zpusobem se vlastne dokuji aplikace typu Psi, Valknut atp. napr. do taskbaru jako treba ve fluxboxu? Nejak jsem na to neprisel. Diky
    Petr Bravenec avatar 12.11.2004 10:57 Petr Bravenec | skóre: 43 | blog: Bravenec
    Rozbalit Rozbalit vše Re: dokovani aplikaci
    V taksbaru, řekl bych, to asi nepůjde. Na to by se dal použít spíše modul FvwmButtons - kdysi jsem používal jeho předchůdce GoodStuff a měl jsem zadokované hodiny, load, pager a zkoušel jsem i další. Ale postupem času jsem FvwmButtons opustil. Přesto o FvwmButtons chystám samostatný díl.
    Petr Bravenec - Hobrasoft s.r.o.
    12.11.2004 11:05 Martin Lebeda | skóre: 22 | blog: Martinuv_blog | Plzeň
    Rozbalit Rozbalit vše přepínání aplikací
    Lze v Fvwm přepínak aplikace pomocí jejich seznamu na Alt-tab tak jak to má udělané IceWM (a MS Windows samozřejmě). Respektive na Alt-tab si nastavím co chci, ale nenašel jsem ten přepínací seznam.
    12.11.2004 11:30 vol0da | skóre: 2 | Topoľčany
    Rozbalit Rozbalit vše Re: přepínání aplikací
    Napriklad takto:
    Key Tab A M Windowlist (CurrentPage) root c c CurrentDesk SelectOnRelease Alt_L \ 
                NoHotkeys NoCurrentDeskTitle NoGeometry CurrentAtEnd
    
    12.11.2004 12:14 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: přepínání aplikací
    To funguje celkem dobře, používám tam navíc jen !Focused, protože se přece nechci přepínat do aktivního okna, když v něm jsem. Jenže problém nastane u tří a více oken. Jakmile se do nějakého okna přepnu kliknutím myši, tak následný Alt+Tab mě už nevrátí do původního okna, ale skočí to někam jinam.
    12.11.2004 12:28 vol0da | skóre: 2 | Topoľčany
    Rozbalit Rozbalit vše Re: přepínání aplikací
    To !Focused je tam podla mna zbytocne, pretoze CurrentAtEnd sposobi, ze sa aktualne okno presunie na koniew windowlistu. A dalsi alt+tab ma presunie na predchadzajuce okno aj po kliknuti mysou a aj pri viacerych oknach.
    15.11.2004 14:44 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: přepínání aplikací
    To !Focused je pouze otázka vkusu - mě zkrátka vyhovuje, když se v seznamu oken to aktuální nevyskytuje vůbec. Ale to je detail. Horší je to s tou myší. Nemohu si pomoci, ale opravdu se to chová, jak jsem psal. Zkusím to popsat přesněji:
    1) na desktopu si otevřu tři okna, označme je A,B,C, přičemž A nechť je aktivní
    2) Pomocí Alt+Tab se několikrát po sobě přepnu mezi okny A->B->A, takže okno A je opět aktivní
    3) Kliknu na okno B, které se tímto stane aktivním
    4) Alt+Tab mě přepne na okno C :-(
    Petr Bravenec avatar 12.11.2004 15:56 Petr Bravenec | skóre: 43 | blog: Bravenec
    Rozbalit Rozbalit vše Re: přepínání aplikací
    Nádhera. Tohle je fantazie. Díky za tip.
    Petr Bravenec - Hobrasoft s.r.o.
    15.11.2004 20:16 radek
    Rozbalit Rozbalit vše Re: přepínání aplikací
    Mám taky dotaz týkající se stejného tématu: rád bych docílil přepínání oken ve stylu, jak mi běhá ve WindowMakeru, tj. něco jako "Next (AcceptsFocus CurrentDesk CurrentPage) Focus", ale s tím rozdílem, že seznam oken je seřazen podle pořadí posledního zaměření (tj. Windows chovaní). Je to ve fvwm možný?
    12.11.2004 13:24 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
    Rozbalit Rozbalit vše uz se tesim az si najdu cas
    Zdravim

    Vypada to pekne a chtel bych se zeptat cim realizovat buttony na plose ve forme bitmapy, ne ten fvwm Buttons co ma kolem ikony text a barevnej ramecek. Taky bych chtel nektere z techto buttonu vyuzit na skryvani/odkryvani dalsich nekolika ikon ktere uz budou spoustet programy. Kliknu na ikonu "graficke programy", obrazek se zmeni na jiny (opacny stin - zmacknuty button) a objevi se mi nekolik dalsich ikon, po kliku na nekterou z tech ikon zmizej, ta prvni ikona zase dostane normalni obrazku a pochopitelne se spusti pozadovany program. V LiteStepu to slo uplne jednoduse, umi tohle fvwmButtons nebo wharf taky?

    Zdenek
    www.pirati.cz - s piráty do parlamentu i jinam www.gavanet.org - czfree varnsdorf
    12.11.2004 14:27 Maude Lebowski
    Rozbalit Rozbalit vše cislo okna ve stylu wm
    Dobra vlastnost FvwmBackeru je, ze umozuje, pri prepnuti na nejakou plochu, spustit jakykoliv prikaz. Velmi zajimava vec je to ve spojeni s osd (on screen display). Ja mam treba nakonfigurovane pro vsechny plochy ktere pouzivam prikaz

    *FvwmBacker: Command (Desk 0, Page 0 0) Exec echo "1" | \

    nice osd_cat - -f "font" -c gold -o -20 -p bottom -A right -s 2 -d 2

    ktery ma za ukol pri prepnuti napsat do dolniho praveho rohu cislo desktopu a za 2 sekundicky zmizet. Neco podobneho ma treba window maker taktez, ale rusi vas to uprostred plochy. Modifikaci je nepocitane.
    Aleš Černý avatar 12.11.2004 15:52 Aleš Černý | skóre: 16
    Rozbalit Rozbalit vše Re: cislo okna ve stylu wm
    Neco podobneho ma treba window maker taktez, ale rusi vas to uprostred plochy.

    Hele, nepomlouvat! Zaprvé se mi to spíš líbí, než ruší a za druhé si to můžeš změnit a nechat to taky zobrazovat třeba v pravém dolním rohu a nebo to úplně vypnout. S WindowMakerem jsem začínal (když jsem zjistil, že na mojí starý šunce jen nabíhání KDE či Gnome trvá asi dvě minuty:-) ) a i když jsem potom přešel na Fuxbox a teď zkouším Fvwm, myslím, že je to kvalitní WM.
    Ale jinak dobrý tipy. Např. to přepínání Alt-Tab je o mnoho lepší než to původní, jak je nakonfigurovaný defaultně. Už se teším na další díly! Snad se třeba i dozvím, jak ikony umístit do rámečku pevné velikosti (jako to dělá právě třeba WindowMaker).

    Založit nové vláknoNahoru

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