[xubuntu-users] startup applications in correct order
Wybo Dekker
wybo at xs4all.nl
Fri Feb 17 11:51:34 UTC 2012
On 2012-02-16 13:46, Chris Green wrote:
> This is an everlasting problem, I've raised it before and not really got
> any very useful answers. I did use devilspie for a while but it doesn't
> *really* do what I (and it looks like a few others) want.
>
> What I have done is to use wmctrl and a 'waitFor' script that waits for
> a specific command to start so I have a script called from .xprofile
> that is as follows:-
This helped a lot! I did not quite understand your script, neither how
you started it and what the waitFor script should be like, but I
solved my problem, and more.
What I did was:
1. I removed devilspie
2. I removed all xfce startups except those started from
/etc/xdg/autostart.
3. I created one xfce starter to execute bin/startup, writing output
to ~/tmp/log: sh -c "bin/startup >tmp/log"
4. I logged out and in and ran wmctrl -l to see that there were three
windows active:
$ wmctrl -l
0x01200004 -1 wybo xfce4-panel
0x01200038 -1 wybo xfce4-panel
0x01600003 -1 wybo Desktop
5. I created this ~/bin/startup:
------------------------------------------
#!/bin/bash
# Startup what we need
rm .keepassx.kdb.lock
/usr/bin/xfce4-terminal --geometry 100x62+100+0 &
/usr/bin/cairo-clock &
/usr/bin/chromium-browser &
/usr/bin/keepassx &
/usr/bin/rhythmbox &
/usr/bin/gvim /home/wybo/bin/weight &
/usr/bin/skype &
# wait until all windows are there, 7 in all,
# plus 2 panels and the desktop makes 10 of them
while true; do
wmctrl -l
sleep 1
if [ `wmctrl -l |wc -l|tr -cd '[0-9\n]'` -eq 10 ]; then
break
fi
done
sleep 1
# put them in position and set properties
echo running window controls
echo terminal; wmctrl -r terminal -t 1
echo rhythmbox; wmctrl -r rhythmbox -t 5
echo cairo; wmctrl -r cairo -b add,sticky
wmctrl -r cairo -e 0,1720,0,200,200
echo chromium; wmctrl -r chromium -b add,sticky
wmctrl -r chromium -e 0,1920,0,1280,1024
echo keepassx; wmctrl -r keepassx -b add,sticky,above
wmctrl -r keepassx -e 0,950,550,600,300
echo skype; wmctrl -r skype -b add,hidden
wmctrl -c skype
echo weight; wmctrl -r weight -b add,sticky
wmctrl -r weight -e 0,950,0,600,500
------------------------------------------
Now, after logging in, everything runs smoothly.
Thanks Chris!
--
Wybo
More information about the xubuntu-users
mailing list