I’m using the following code, and it seems as if it’s executing cat before it’s done redirecting the output to file.log. I don’t know how this is possible since it has to allow $foo to wait for output, “done”, but it does seem this way because it will often say file.log does not exist. But when I run it twice it usually works, because it has created the file. Any ideas of why this is happening? It’s most likely an error on my behalf, but I’m blind. 
Set $foo = (GetOutput {exec $FVWM_SCRIPT_PATH/file.py $FVWM_USERDIR/images/files/ > $FVWM_SCRIPT_PATH/file.log && echo done} 1 -1)
Set $f_text = (GetOutput {exec cat $FVWM_SCRIPT_PATH/file.log} 1 -1)
Set $f_icon = (GetOutput {exec cat $FVWM_SCRIPT_PATH/file.log} 2 -1)
ChangeIcon 1 $f_icon
ChangeTitle 2 $f_text
it’s like it has a mind of its own. it works sometimes when i restart, but most of the time it does not. again, it works sometimes when it starts up from console and sometimes not.
when I WriteToFile /home/newpers/.fvwm/scripts/foo $foo it writes out a blank line. When I WriteToFile /home/newpers/.fvwm/scripts/foo $foo it writes out “$foo”. Another thing is when it doesn’t draw i often get Error: 13 (BadGC (invalid GC parameters)) major opcode of failed request 70: (PolyFilledRectangle)…
That error could be the result of many things – most likely the GC that’s being redrawn can’t keep up – but I’d need a lot more detail before I could say for sure – just how frequent an update were you using when this happened?
– Thomas Adam
When I comment out the “Set $foo = …” line I don’t get any errors and it works perfectly at every restart and startup, assuming there is the correct info in file.log. Uncommented, the “Set $foo = …” line does not give me any errors and it does put the correct output in file.log.