echo >> xosd (поиск проги)

Софт под Linux, разные программы, но только связанные с Linux

Модератор: /dev/random

gtlinuxman
Сообщения: 184
ОС: Gentoo 2006.0

echo >> xosd

Сообщение gtlinuxman »

Товарисчи, подскажите махонькую прогу, или скрипт для вывода произвольного текста через xosd
Спрашиваю, ибо сам в сях и в скриптах пока не шарю.
Open Source
Создавать и воспитывать [сущее]; создавая, не обладать [тем, что создано];
приводя в движение, не прилагать к этому усилий; руководя, не считать себя
властелином – вот что называется глубочайшим дэ.
"Дао Дэ Цзин" && Gentoo 2005.1
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: echo >> xosd

Сообщение elide »

так там вместе с xosd идет osd_cat, которая именно так и работает

Код: Выделить всё

echo "ПРЕВЕД! КАГДИЛА?" | osd_cat -p middle -A center -c green
слава роботам!
Спасибо сказали:
Den001
Сообщения: 666
ОС: Suse 11

Re: echo >> xosd

Сообщение Den001 »

А не подскажете ли еще, как можно сделать вывод индикации пошустрее? А то попробовал сделать индикацию уровня громкости вот таким образом:

Код: Выделить всё

killall osd_cat
set myValue=`amixer get 'Master' | grep "Front Left:" | awk '{print $5}' | awk '{gsub(/\[+|\]+|\%/, ""); print;}'`
osd_cat -b percentage -c green -P $myValue -f "-misc-freemono-*-r-*-*-34-*-*-*-*-*-*-*" -p bottom -d 2 -T Volume -a 1 -s 3

Типа этот скрипт запускается при каждом нажатии мультимедиа кнопки регулировки звука. Но этот способо скоростью отображения не выделяется :( если часто нажимать, то моргает и ощутимо запаздывает.
Спасибо сказали:
Den001
Сообщения: 666
ОС: Suse 11

Re: echo >> xosd

Сообщение Den001 »

Получается, что другого варианта, кроме как использовать для этих целей sven нет? :(
Спасибо сказали:
Egan
Сообщения: 247

Re: echo >> xosd

Сообщение Egan »

Den001 писал(а):
08.11.2006 22:10
А не подскажете ли еще, как можно сделать вывод индикации пошустрее? А то попробовал сделать индикацию уровня громкости вот таким образом:

Код: Выделить всё

killall osd_cat
set myValue=`amixer get 'Master' | grep "Front Left:" | awk '{print $5}' | awk '{gsub(/\[+|\]+|\%/, ""); print;}'`
osd_cat -b percentage -c green -P $myValue -f "-misc-freemono-*-r-*-*-34-*-*-*-*-*-*-*" -p bottom -d 2 -T Volume -a 1 -s 3

Типа этот скрипт запускается при каждом нажатии мультимедиа кнопки регулировки звука. Но этот способо скоростью отображения не выделяется :( если часто нажимать, то моргает и ощутимо запаздывает.

Писал сегодня аналогичный скрипт, столкнулся с такими же проблемами. После пары часов безуспешных попыток решить проблему выключил компьютер и занялся другими делами. Затем включил и оказалось что запаздывание практически исчезло, в чём была причина запаздываний так и не выяснил, не удалось искуственно создать ситуацию чтобы оно появилось снова. Так что osd_cat может работать без тормозов, причина тормозов в чём то другом.
Спасибо сказали:
Den001
Сообщения: 666
ОС: Suse 11

Re: echo >> xosd

Сообщение Den001 »

А у меня даже после перезагрузки первый вызов происходит с запазыванием. Потом уже более или менее успевает, если кнопку не держать просто :)
Спасибо сказали:
Egan
Сообщения: 247

Re: echo >> xosd

Сообщение Egan »

Сравнил свой скрипт с

Код: Выделить всё

killall osd_cat
set myValue=`amixer get 'Master' | grep "Front Left:" | awk '{print $5}' | awk '{gsub(/\[+|\]+|\%/, ""); print;}'`
osd_cat -b percentage -c green -P $myValue -f "-misc-freemono-*-r-*-*-34-*-*-*-*-*-*-*" -p bottom -d 2 -T Volume -a 1 -s 3

нужно в конце добавить знак &, т.е.

Код: Выделить всё

killall osd_cat
set myValue=`amixer get 'Master' | grep "Front Left:" | awk '{print $5}' | awk '{gsub(/\[+|\]+|\%/, ""); print;}'`
osd_cat -b percentage -c green -P $myValue -f "-misc-freemono-*-r-*-*-34-*-*-*-*-*-*-*" -p bottom -d 2 -T Volume -a 1 -s 3 &

правда это не решает проблему моргания.
Спасибо сказали:
Egan
Сообщения: 247

Re: echo >> xosd

Сообщение Egan »

Решил проблему моргания

Код: Выделить всё

sp_osd=`ps -A | grep "osd_cat" | awk '{print($1)}'`

myValue=`amixer get 'Master' | grep "Front Left:" | awk '{print $5}' | awk '{gsub(/\[+|\]+|\%/, ""); print;}'`

osd_cat -b percentage -c green -P $myValue -f "-misc-freemono-*-r-*-*-34-*-*-*-*-*-*-*" -p bottom -d 2 -T Volume -a 1 -s 3 &

sleep 0.05

for sp in $sp_osd
    do
      kill -9 $sp
    done
Спасибо сказали:
Den001
Сообщения: 666
ОС: Suse 11

Re: echo >> xosd

Сообщение Den001 »

Хм, интересное решение, надо будет попробовать, когда домой приду. Вдруг и правда поможет :)
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: echo >> xosd

Сообщение Portnov »

Egan
То же, но короче и с меньшим количеством запускаемых процессов:

Код: Выделить всё

sp_osd=$(ps -A | awk '/osd_cat/ {print($1)}')
myValue=$(amixer get 'Master' | awk '/Front Left:/ {gsub(/\[+|\]+|\%/, "",$5);print $5}')
osd_cat -b percentage -c green -P $myValue -f "-misc-freemono-*-r-*-*-34-*-*-*-*-*-*-*" -p bottom -d 2 -T Volume -a 1 -s 3 &
sleep 0.05

for sp in $sp_osd
    do
      kill -9 $sp
    done
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Den001
Сообщения: 666
ОС: Suse 11

Re: echo >> xosd

Сообщение Den001 »

Хех, все равно все это ощутимо притормаживает по сравнению, например, с отображением уровня звука через плагин в xmms. Может все же есть другие пути привзяки индикации к уровню звука?
Спасибо сказали:
Den001
Сообщения: 666
ОС: Suse 11

Re: echo >> xosd

Сообщение Den001 »

А я не могу что ли свои ссобщения удалять? А то случайно сделал дубль, а удалить не могу :(
Спасибо сказали: