Re: Menu ve Fvwm2 - VYRESENO

d.petr d.petr na post.cz
Úterý Říjen 20 10:02:59 CEST 2009


> % > > Dobrý den,
> % > >    pokouším se zapsat do menu ve Fvwm2 (v Debian Lenny už se zas značí
> jen
> % > jako Fvwm) program tak, aby po jeho spuštění z menu se ihned maximalizoval.
> % > >    Všude, co jsem viděl, se uvádí jen spuštění xterm a tam je parametr
> % > geometry pro velikost okna. Já potřebuji spustit xzgv. Ten má, jak jsem
> zjistil,
> % > také parametr geometry, kterým lze zadat velikost a umístění. Zadání
> velikosti
> % > funguje, ale na zadání pozice nebere ohled.
> % > >    Ovšem tento způsob stejně patrně není vhodný, protože když jsou už na
> ploše
> % > nějaká okna (a to i třeba orientační ukazatel ploch Fvwm), se kterými by se
> xzgv
> % > překryl, neusadí se automaticky, ale zůstane "viset" na myši a musím ho
> umístit
> % > ručně. A to je právě ta chyba. Pokud ho někam usadím a maximalizuji, obsadí
> % > celou plochu a to je přesně to, co požaduji.
> % > > 
> % > >    Takže má otázka: věděl by někdo, jak zadat v menu Fvwm při spuštění
> % > programu i automatickou maximalizaci jeho okna? Nebo alespoň jak by mohl
> znít
> % > vhodný dotaz pro vyhledávač?
> % > >    Zkoušel jsem všechno možné, různě kombinovat příkazy v menu, zkoušel
> jsem i
> % > styly, ale nedaří se mi a vše je buď bez účinku, nebo se program vůbec
> % > nespustí.
>
>
> 
> Do .fvwm/config pridejte neco jako:
> 
> Style "xzgv" TileCascadePlacement
> 
> AddToFunc xzgv
> + I exec exec xzgv
> + I Wait xzgv
> + I Next (xzgv) Maximize 100 100
>
> Michael Mráka


Ano, děkuji, to je ono. Už jsem na to přišel taky, chtěl jsem to sem napsat, ale předeběhl jste mne.
Styl jsem ani nepoužil, funkci jsem si vylepšil nějak takto (Linux mám doma, takže snad to moc nepomotám):

AddToFunc nazevfunkce
+ I Exec exec $0 $2
+ I Wait $1
+ I Next ($0) Maximize

a v menu pak volám místo programu tuto funkci. Jako parametry jí předávám název programu ($0), název jeho okna ($1; protože třeba iceweasel pojmenovává okno Iceweasel a velké písmeno není to samé, jako malé, proto Wait  $0 nereaguje), a parametry pro program ($2). Mohu tedy takto volat z menu různé programy, u kterých chci, aby se ihned maximalizovaly.
Je to přesně to, co jsem požadoval, zůstává už jen nepatrná, prakticky bezvýznamná, muška, kterou řešit není nutné: když se okno před maximalizací nevejde na plochu tak, aby se nepřekrylo s jiným oknem, zůstane stejně "viset" na myši. Je to zřejmě chování samotného příkazu Exec. Stačí ovšem kdekoliv, kde zrovna myš je, kliknout, okno se otevře a ihned správně maximalizuje na plochu. Takže stačí jen to jediné kliknutí kdekoliv.

Ještě jednou děkuji všem, kdo měli snahu poradit. Ani jsem nepočítal s tím, že se ještě někdo bude zabývat fvwm.

Petr



Další informace o konferenci Linux