Executing too fast

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. :stuck_out_tongue:

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.