[Antique] icewm, icewmtray, xxkb startup (was: icewm patches)

Michael Shigorin mike на osdn.org.ua
Пт Апр 1 12:32:08 UTC 2011


On Fri, Apr 01, 2011 at 03:52:58AM +0400, Anatoly Chernov wrote:
> >Думаю, там.
> Так сойдёт? (в прицепе)

Да, но можно лучше. :)

> while [ pidof icewmtray | grep [0-9] > /dev/null ]; do  break; done;

Это получается бесконечный плотный цикл -- если icewmtray так и
не запустится (например, снесли пакет), то всё на этом закончится.

MAXDELAY=10
i=0
until pidof icewmtray >&/dev/null; do
	sleep 1
	let i=i+1
	[ "$i" = "$MAXDELAY" ] && break
done

> sleep 1

А этого можно избежать вот так (суммарная продолжительность
спанья в цикле и добавочным sleep при одинаковом MAXDELAY
и прочих равных уменьшится на секунду, но при любом исходном
состоянии будет иметь место задержка минимум в одну секунду):

MAXDELAY=10
i=1
until [ "$i" = "$MAXDELAY" ]; do
	sleep 1
	i="$(($i+1))"
	pidof icewmtray >&/dev/null && break
done


On Fri, Apr 01, 2011 at 04:07:54AM +0400, Владимир Гусев wrote:
> Или вообще вместо sleep=* использовать xtoolwait ?

Или так (с -timeout), если применимо.

-- 
 ---- WBR, Michael Shigorin <mike на altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


Подробная информация о списке рассылки Antique