2008/10/8 andrey mirtchovski <[EMAIL PROTECTED]>
> scratch my previous explanation. it is incorrect. looking through > rio's source code it appears that the cause is the supplied "rc -c" > argument to 'window'. the window command assumes that everything after > the switches is a command to be executed and actually prepends 'rc -c' > in front of your command line. due to quoting and other mishaps, the > end effect is that the command as specified (i'm testing with "sleep" > instead of "tail -f") is executed as: > > rc -c 'rc -c label test; sleep 20' (quoting as per the rio window manager) > > instead, you should probably just do: > > window 'label test; sleep 20', which will be executed as: > > rc -c 'label test; sleep 20' > > and will work fine even without the -m switch. > > you can see for yourself the described behaviour via the following > test on a plain shell (all execute commands to be run without the > double quotes): > > 1: execute "rc -c 'label test; sleep 20'" > 2: hide the window (you'll see the label 'test') > 3: unhide the window and terminate the sleep > 4: execute "rc -c 'rc -c label test; sleep 20'" > 5: hide the window (you'll see an empty entry for the window label) > 6: unhide the window. notice that the label remains empty even after > the sleep has completed > > finally, try a fully escaped shell to see that it works: > 7: execute "rc -c 'rc -c ''label test; sleep 20'''" > 8: hide the window > > why rc behaves this way is a different matter altogether. i'll leave > it to you, but i encourage you to dig in the source. i figured all > this out after editing the rio source and adding a piece of code to > print me the argument list it executes for a new window. i doubt > you'll ever find an easier source to deal with than on plan9. rio is > only 5K lines of code and acme makes navigation through that code a > bliss. same goes for almost everything else in the system. > > Thanks a lot. I probably just wouldn't be able to find that :) I'll try and go through the code myself. Just one last question concerning this. Is it the right, expected behaviour of the window command, or should the original version work and sth. should be changed? Ruda
