I'm using gnome-do and its
docky skin -- this gives me a cool (and useful) task bar.
My problem: docky won't load until AFTER fusion is loaded and initialized.
Here is how I load things upon gnome login:
Using System->Preferences->Personal->Sessions: I have it start ~/bin/autostart.sh. I did this because there were a few programs that I wanted to load AFTER fusion, and there was no way I could find to set the loading order using the "Sessions" application.
The autostart.sh script says:
Code:
#!/bin/bash
/usr/bin/fusion-icon &
sleep 12
/usr/bin/gkrellm &
/usr/local/bin/gnome-do &
So, I start fusion (by launching "fusion icon"), wait an arbitrary amount of time, and then load the two things that I want to load only after fusion is loaded and ready to rock-and-roll. This works 90% of the time. The other 10% of the time gnome-do loads before fusion is ready and I have to toggle the docky skin off and then back on to get docky working. If I increase the sleep time, it works 100% of the time -- but that bugs me because most of the time it is ready in 8-12 seconds.
I all seems too hackalicious to me to control this with "sleep". I've spent a reasonable amount of time with Google looking for a way to test if a composite window manager is running, and I can't find it. Can someone either point me towards an existing program I can use to test if fusion is running (and ready) -- or point me in the direction of an API I can use to write a (hopefully 10-line) "are there composite extensions ready to use?" program?
I'd like to do something like this with my autostart.sh:
Code:
#!/bin/bash
/usr/bin/fusion-icon &
COMPREADY=`~/bin/check-composite`
while [ "$COMPREADY" == "not ready" ]
do
sleep 1
COMPREADY=`~/bin/check-composite`
done
/usr/bin/gkrellm &
/usr/local/bin/gnome-do &
Or, if I'm writing it myself, I could write "wait-for-composite" that does the polling/looping internally until composite extensions are ready to use.