<div dir="ltr">BTW Openbox runs autostart after it has started up now, instead of before, so those sleeps may be unnecessary with an up-to-date Openbox.</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Oct 22, 2014 at 8:32 AM, R. Mattes <span dir="ltr"><<a href="mailto:rm@mh-freiburg.de" target="_blank">rm@mh-freiburg.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Wed, 22 Oct 2014 01:02:14 -1000, E R wrote<br>
<span class="">> I don't see anything complicated about this. The way I have the two<br>
> sleep lines is a common way of doing this, this method has been<br>
> practied this way for many years in Linux...<br>
<br>
</span>Somehow, some of us here seem to get the impression that you don't<br>
really unerstand your own shell program ...<br>
<span class=""><br>
> I don't see any behind the keyboard errors here, LMAO, if so, someone<br>
> please point it out in that copy of my autostart.sh below...<br>
><br>
> # This shell script is run before Openbox launches.<br>
> # Environment variables set here are passed to the Openbox session.<br>
><br>
<br>
</span><span class="">> (sleep 1s && tint2) &<br>
> (sleep 2s && redshift-gtk >/dev/null 2>&1) &<br>
<br>
</span>So, here you run two subshells. Each subshell will execute /bin/sleep [1],<br>
wait for sleep to exit, an then look at sleeps return code, and, if<br>
sleep exited with return value 0, run the next program (tint2 or<br>
redshift-gtk). Now, do you really expect 'sleep' to fail??? Most likely<br>
not, so you might change this to<br>
<br>
 (sleep 1s; tint2)&<br>
<br>
Next question: how long do you expect those subschells to run? The way<br>
you programmed this, the shell will terminate once the last program it<br>
invoked terminates. So, as long as tint2 or redshift-k run, you'll see<br>
to shell processes in your top/ps output. Not what you want - so write<br>
it like this:<br>
<br>
 ( sleep 1s; tint2 & ) &<br>
<br>
That way the subshell forks tint2 and terminates. No more shell<br>
processes arround.<br>
<span class=""><br>
> /usr/lib64/xfce4/notifyd/xfce4-notifyd &<br>
> /usr/bin/xbindkeys &<br>
> eval `cat $HOME/.fehbg`<br>
<br>
</span>That's a rather baroque way of doing this: a normal .fehbg file contains<br>
an invokation of feh like this: feh --bg-fill .... which will terminate<br>
feh.<br>
So, a simple:<br>
<br>
 sh $HOME/.fehbg<br>
<br>
or even_<br>
<br>
 . $HOME/.fehbg<br>
<br>
will do.<br>
BTW: I never saw the need for all those sleep invokations, in my<br>
autostart I'll just run<br>
<br>
tint2 &<br>
<br>
et al.<br>
<br>
HTH Ralf MAttes<br>
<br>
[1] Actually, it probably won't run an external program but rather<br>
invoke the shell's buildin sleep command ....<br>
<div class="HOEnZb"><div class="h5"><br>
_______________________________________________<br>
openbox mailing list<br>
<a href="mailto:openbox@icculus.org">openbox@icculus.org</a><br>
<a href="http://icculus.org/mailman/listinfo/openbox" target="_blank">http://icculus.org/mailman/listinfo/openbox</a><br>
</div></div></blockquote></div><br></div>