On Wed, 28 Sep 2005, Zack Brown wrote:
On Wed, Sep 28, 2005 at 07:13:52PM +0200, Viktor Griph wrote:
On Wed, 28 Sep 2005, Zack Brown wrote:

DestroyFunc RememberDesk
AddToFunc RememberDesk
+ I SetEnv VillageDeskX$[desk.n] $[page.nx]
+ I SetEnv VillageDeskY$[desk.n] $[page.ny]
+ I PipeRead `echo "GotoDeskAndPage $0 ${VillageDeskX$0}
${VillageDeskY$0}"`

# move from desktop to desktop
Key F1           A       M       RememberDesk 0
Key F2           A       M       RememberDesk 1

With the current CVS version (or any snapshot after September 19) FVWM is
capable of nested variable expansion.

That is you will be able to do
 + I GotoDeskAndPage $0 $[VillageDeskX$0] $[VillageDeskY$0]
instead of the PipeRead invoking a shell.

I'm using 2.5.12 as found in Debian Testing. Will this feature be officially
introduced in 2.5.15?

Yes. Until then you might actually be able to trick FVWM to expand variables in the order you want by escaping and use of always true tests.

+ I Test (True) GotoDeskAndPage $0 $$[VillageDeskX$0] $$[VillageDeskY$0]
will probably work for you. That is it will expand the $0 before the Test is evalueated, and at the same time change $$ to $, and then expand the variables as the test is evalueated and the command executes.


/Viktor

Reply via email to