Вывод погоды в Conky (Настройка с помощью скриптов)
Модератор: Модераторы разделов
-
Dunris
- Сообщения: 295
- Статус: ...
- ОС: Archlinux
Re: Вывод погоды в Conky
Извиняюсь за глупость
, все, понял
-
ormorph
- Сообщения: 3122
- ОС: Gentoo
Re: Вывод погоды в Conky
Да специальные шрифты прикольно использовать вот прямая ссылка на пакетик там тоже есть шрифты например ConkyWeather.
проверял работают.
http://www.dleu.be/download/conky/conkyFor...ast-2.02.tar.gz
проверял работают.
http://www.dleu.be/download/conky/conkyFor...ast-2.02.tar.gz
-
ormorph
- Сообщения: 3122
- ОС: Gentoo
Re: Вывод погоды в Conky
Опс забыл сразу было ссылочку дать сайта с которого это все качается
там есть разные скрипты.
http://www.dleu.be/download/index.php?path=conky/
там есть разные скрипты.
http://www.dleu.be/download/index.php?path=conky/
-
Sleeep
- Сообщения: 104
- Статус: crw-rw-rw-
- ОС: Arch
Re: Вывод погоды в Conky
ormorph писал(а): ↑27.05.2009 20:14Да специальные шрифты прикольно использовать вот прямая ссылка на пакетик там тоже есть шрифты например ConkyWeather.
проверял работают.
http://www.dleu.be/download/conky/conkyFor...ast-2.02.tar.gz
красяво.
буду читать 1.5к строк
Стал чуть добрее - и ты уже цундере
-
Dunris
- Сообщения: 295
- Статус: ...
- ОС: Archlinux
Re: Вывод погоды в Conky
ormorph писал(а): ↑27.05.2009 20:46Опс забыл сразу было ссылочку дать сайта с которого это все качается
там есть разные скрипты.
http://www.dleu.be/download/index.php?path=conky/
Спасибо, интересненько, сейчас лазю качаю, пригодятся
-
ormorph
- Сообщения: 3122
- ОС: Gentoo
Re: Вывод погоды в Conky
вот еще нашел ссылку может кому пригодится, там более новая версия conkyforecast - 2.04
шрифты теже самые, ну и там есть еще скрипты для conky на python
https://launchpad.net/~m-buck/+archive/ppa
шрифты теже самые, ну и там есть еще скрипты для conky на python
https://launchpad.net/~m-buck/+archive/ppa
-
butch
- Сообщения: 331
- ОС: :OC
Re: Вывод погоды в Conky
нашел шрифты для отображения температуры: ds-digit
выглядит терь так (кстати, желтые тучки мне кажутся интереснее =))):
выглядит терь так (кстати, желтые тучки мне кажутся интереснее =))):
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
Dunris
- Сообщения: 295
- Статус: ...
- ОС: Archlinux
Re: Вывод погоды в Conky
Вот и баги пошли
Не знаю, может я что-то не так делал, но тот скрипт, который был у меня вчера как-то странно работал: коньки загружались, но по не понятной мне причине файл temp не обновлялся, то есть мне выводилась вчерашняя погода... Если вдруг заметите такой баг (как минимум 2 человека используют этот скрипт, хе
) попробуйте, например, как я:
текст основного скрипта, показывает нужную картинку:
То есть я снял с него задачу по обновлению temp-файла...
Это в .conkyrc:
Пусть сам при запуске обновляет файл, а потом и скрипт пустит
Насчет всяких там подгонок (лишние пробелы между значком и температурой, остальные косметические подкручивания) тут скорее всего придется подгонять под конкретные настройки conky. У меня он настроен так, вот скрин вместе с работающим (вроде
) выводом погоды:
текст основного скрипта, показывает нужную картинку:
Код:
#!/bin/bash
cloud=$(sed -n 18p .conky/temp | awk '{print$1$2$3}' | cut -c14-)
icon=1
#Необходим weather.ttf
case $cloud in
'ясно,безосадков,'|'малооблачно,безосадков,')
icon='A'
;;
'облачно,безосадков,'|'пасмурно,безосадков,')
icon='e'
;;
'облачно,снег'|'малооблачно,снег,')
icon='e'
;;
'пасмурно,снег,')
icon='k'
;;
'облачно,дождь,'|'малооблачно,дождь,')
icon='h'
;;
'пасмурно,дождь,')
icon='h'
;;
'облачно,ливень'|'пасмурно,ливень,')
icon='g'
;;
'пасмурно,гроза,')
icon='i'
;;
esac
echo $icon
exitТо есть я снял с него задачу по обновлению temp-файла...
Это в .conkyrc:
Код:
${color white}${execi 3600 curl -s http://informer.gismeteo.ru/rss/27347.xml | iconv -f CP1251 -t UTF-8 | cat > $HOME/.conky/temp}${font weather:size=72}${execi 3600 $HOME/.conky/weather.sh}${font}
${color white}${execi 3600 sed -n 18p $HOME/.conky/temp | awk '{print" "$5" °C\n",$8" мм\n",$12,$13" м/с"}'}Пусть сам при запуске обновляет файл, а потом и скрипт пустит
Насчет всяких там подгонок (лишние пробелы между значком и температурой, остальные косметические подкручивания) тут скорее всего придется подгонять под конкретные настройки conky. У меня он настроен так, вот скрин вместе с работающим (вроде
-
butch
- Сообщения: 331
- ОС: :OC
Re: Вывод погоды в Conky
да уж. что правда, то правда =)
вышел на улицу и обнаружил что там гораздо теплее =))
кстати, неплохо было бы обработку ошибок запихнуть.
а то если курл не получит страничку, весело становится =))
вышел на улицу и обнаружил что там гораздо теплее =))
кстати, неплохо было бы обработку ошибок запихнуть.
а то если курл не получит страничку, весело становится =))
-
Dunris
- Сообщения: 295
- Статус: ...
- ОС: Archlinux
Re: Вывод погоды в Conky
Простейший спосов проверить - загрузить в браузере страницу, с которой скрипт и брал всю инфу:
http://informer.gismeteo.ru/rss/27347.xml
Ну код само собой свой не забудьте вставить
У меня до сегодняшнего поправления результаты расходились
Ну тут, скорее всего, придется и скрипт переписывать
Он кстати и так каждый раз записывает содержимое странички в файл, если там будет не то что ожидается, выведется какая-нибудь билиберда...
Да и вряд ли гисметео просто удалит страницу, чаще они просто перестают обновлять их
-
butch
- Сообщения: 331
- ОС: :OC
Re: Вывод погоды в Conky
простой вариант - отсутсвие тырнета.
я думаю стоит сделать что то вроде:
curl -s ... >~/.conky/temp 2>/dev/null || тут какие то действия, так чтобы в файле temp в 18 строке были данные, которые скрипты остальные вытаскивили без ошибок, но на там ни пример будут просто знаки вопроса
кстати, посмотрел, curl никаких ошибок не отдает на stderr
так что можно просто curl -s ... >~/.conky/temp || какие то действия =)
я думаю стоит сделать что то вроде:
curl -s ... >~/.conky/temp 2>/dev/null || тут какие то действия, так чтобы в файле temp в 18 строке были данные, которые скрипты остальные вытаскивили без ошибок, но на там ни пример будут просто знаки вопроса
кстати, посмотрел, curl никаких ошибок не отдает на stderr
так что можно просто curl -s ... >~/.conky/temp || какие то действия =)
-
Dunris
- Сообщения: 295
- Статус: ...
- ОС: Archlinux
Re: Вывод погоды в Conky
Честно говоря, я не очень разбираюсь в шелл-сриптинге, так что мало понял из вашего поста
Опишите, пожалуйста, поподробнее алгоритм действий или даже пример, тогда до меня допрет
-
butch
- Сообщения: 331
- ОС: :OC
Re: Вывод погоды в Conky
Dunris писал(а): ↑28.05.2009 10:50${color white}${execi 3600 curl -s http://informer.gismeteo.ru/rss/27347.xml | iconv -f CP1251 -t UTF-8 | cat > $HOME/.conky/temp}${font weather:size=72}${execi 3600 $HOME/.conky/weather.sh}${font}
меняем одну часть ${execi 3600 curl -s http://informer.gismeteo.ru/rss/27347.xml | iconv -f CP1251 -t UTF-8 | cat > $HOME/.conky/temp}
на:
Код: Выделить всё
${execi 3600 (curl -s http://informer.gismeteo.ru/rss/27347.xml > $HOME/.conky/temp1 || cp $HOME/.conky/err $HOME/.conky/temp) && cat $HOME/.conky/temp1 | iconv -f CP1251 -t UTF-8 > $HOME/.conky/temp}первая часть:
тоесть мы собираем xml в новый временный файл. и если при выполнении данного действияй у курла возникает ошибка (любая), мы копируем заранее подготовленный файл для вывода информации через конки с нашей инфой, о том что нет нифига погоды.
вторая часть из полученного нового темп файла делает то что нам нужно.
что то вроде этого (я не проверял =))
и cat temp1 | iconv наверное неправильно, у iconv скорее всего есть какой нить параметр для работы с файлом =)
-
ormorph
- Сообщения: 3122
- ОС: Gentoo
Re: Вывод погоды в Conky
тут ни чего сложного нет узнать что означает этот знак ~/ можно просто выполнить команду из любого каталога
cd ~/
аналогично cd $HOME
ну а || если первая команда заканчивается ошибкой то выполняется следующая за этими слэшами ||
cd ~/
аналогично cd $HOME
ну а || если первая команда заканчивается ошибкой то выполняется следующая за этими слэшами ||
-
Sleeep
- Сообщения: 104
- Статус: crw-rw-rw-
- ОС: Arch
Re: Вывод погоды в Conky
ни у кого нет идей как заставить коньки фиксировать высоту? maximal_width вроде есть, а вот height нет(
gap y не спасает, настройки в компизе тоже. хочу таки допилить ето дело, дабы превратить в панельку
gap y не спасает, настройки в компизе тоже. хочу таки допилить ето дело, дабы превратить в панельку
Стал чуть добрее - и ты уже цундере
-
ormorph
- Сообщения: 3122
- ОС: Gentoo
Re: Вывод погоды в Conky
Не это? расположение conky по углам рабочего стола:
Код: Выделить всё
#alignment top_left
#alignment top_right
#alignment bottom_left
alignment bottom_right-
Sleeep
- Сообщения: 104
- Статус: crw-rw-rw-
- ОС: Arch
Re: Вывод погоды в Conky
ormorph писал(а): ↑28.05.2009 13:43Не это? расположение conky по углам рабочего стола:
Код: Выделить всё
#alignment top_left #alignment top_right #alignment bottom_left alignment bottom_right
безразлично(
нужно фиксировать ему высоту, либо подвинуть чуть за край экрана
Стал чуть добрее - и ты уже цундере
-
Dunris
- Сообщения: 295
- Статус: ...
- ОС: Archlinux
Re: Вывод погоды в Conky
Ну, тут уж вы явно перегнули
А вот за это спасибо
Я тогда просто недопонял сам алгоритм действий скрипта, сейчас после разъяснений все встает на свои места.
-
ormorph
- Сообщения: 3122
- ОС: Gentoo
Re: Вывод погоды в Conky
безразлично(
нужно фиксировать ему высоту, либо подвинуть чуть за край экрана
Хм незнаю почему тогда gap неспасает передвинуть за край экрана можно числа с минусом прописывать.
Код: Выделить всё
gap_x -40
gap_y -40-
Sleeep
- Сообщения: 104
- Статус: crw-rw-rw-
- ОС: Arch
Re: Вывод погоды в Conky
Пробовал, только вверх, за край экране не хочет. Впрочем, возможно, дело в компизе. Сейчас проверю ОБ
UPD: чьерт, и вправду в нем дело.
UPD: чьерт, и вправду в нем дело.
Стал чуть добрее - и ты уже цундере
-
ormorph
- Сообщения: 3122
- ОС: Gentoo
Re: Вывод погоды в Conky
А у меня нормально в верх за край экрана уходит)
Плюсы использования легковесных менеджеров, без 3d эфектов
Плюсы использования легковесных менеджеров, без 3d эфектов
-
Sleeep
- Сообщения: 104
- Статус: crw-rw-rw-
- ОС: Arch
Re: Вывод погоды в Conky
все разобрался, надо через own_window_type override ^^ только теперь без прозрачностей
не столько из-за эффектов, сколько из-за удобного управления мышой (scale, tile, expo всякие)
Upd: разобрался) type=Unknown
не столько из-за эффектов, сколько из-за удобного управления мышой (scale, tile, expo всякие)
Upd: разобрался) type=Unknown
Стал чуть добрее - и ты уже цундере
-
Dunris
- Сообщения: 295
- Статус: ...
- ОС: Archlinux
Re: Вывод погоды в Conky
По предложению butch`a решил попробовать прикрутить проверку на ошибки. Правда, использовать || нормально я так и не научился
Пошел обходным путем. Ведь если у curl`а будут проблемы с отображением страницы, в качестве вывода он не передаст iconv ничего, значит cat запишет пустой файл. На этом я и строил дальнейшие действия. Изменил существующие скрипты и что в итоге.
.conkyrc:
Здесь собстно, изменений 2: время обновления файла немного уменьшено на всякий пожарный - 2 конки обновляет файл и вывод погоды секунда в секунду, значит неизвестно что обновиться все-таки первее
Пусть лучше сначала перезальется файл а через несколько секунд обновится и вывод погоды... Вывод погоды проходит через небольшой скрипт, вот его содержание:
То бишь перед выводом проверяется имеет ли файл нужное содержание по первому слову. Если нет - вывод ошибки.
Ну скрипт Sleeep`a остался почти без изменений. Для тех кто в танке вот он (почти в оригинале
):
Вот вроде и все. На закуску скрины:
.conkyrc:
Код:
${execi 3400 curl -s http://informer.gismeteo.ru/rss/27347.xml | iconv -f CP1251 -t UTF-8 | cat > $HOME/.conky/temp}${font
weather:size=25}${execi 3600 $HOME/.conky/weather.sh}${font}${execi 3600 $HOME/.conky/test.sh}Здесь собстно, изменений 2: время обновления файла немного уменьшено на всякий пожарный - 2 конки обновляет файл и вывод погоды секунда в секунду, значит неизвестно что обновиться все-таки первее
Код:
#! /bin/bash
test=$(sed -n 1p $HOME/.conky/temp | awk '{print$1}')
wea='Невозможно получить информацию'
case $test in
'<?xml')
wea=$(sed -n 18p $HOME/.conky/temp | awk '{print$5" °C"$8" мм"$12,$13" м/с"}') ;;
esac
echo $wea
exitТо бишь перед выводом проверяется имеет ли файл нужное содержание по первому слову. Если нет - вывод ошибки.
Ну скрипт Sleeep`a остался почти без изменений. Для тех кто в танке вот он (почти в оригинале
Код:
#!/bin/bash
cloud=$(sed -n 18p .conky/temp | awk '{print$1$2$3}' | cut -c14-)
icon=' '
#Необходим weather.ttf
case $cloud in
'ясно,безосадков,'|'малооблачно,безосадков,')
icon='A'
;;
'облачно,безосадков,'|'пасмурно,безосадков,')
icon='e'
;;
'облачно,снег'|'малооблачно,снег,')
icon='e'
;;
'пасмурно,снег,')
icon='k'
;;
'облачно,дождь,'|'малооблачно,дождь,')
icon='h'
;;
'пасмурно,дождь,')
icon='h'
;;
'облачно,ливень'|'пасмурно,ливень,')
icon='g'
;;
'пасмурно,гроза,')
icon='i'
;;
esac
echo $icon
exitВот вроде и все. На закуску скрины:
-
butch
- Сообщения: 331
- ОС: :OC
-
butch
- Сообщения: 331
- ОС: :OC
Re: Вывод погоды в Conky
идея еще есть.
в зависимости от погоды менять цвет шрифта отображения состояния погоды =)
тобишь в скрипт с
case $cloud in
добавить для каждого варианта sed с изменением конфига конки и его реконфигурации (или рестарта?)
ну или может быть есть еще варианты без реконфигурации конки? =))
в зависимости от погоды менять цвет шрифта отображения состояния погоды =)
тобишь в скрипт с
case $cloud in
добавить для каждого варианта sed с изменением конфига конки и его реконфигурации (или рестарта?)
ну или может быть есть еще варианты без реконфигурации конки? =))
-
Dunris
- Сообщения: 295
- Статус: ...
- ОС: Archlinux
Re: Вывод погоды в Conky
butch писал(а): ↑28.05.2009 17:27идея еще есть.
в зависимости от погоды менять цвет шрифта отображения состояния погоды =)
тобишь в скрипт с
case $cloud in
добавить для каждого варианта sed с изменением конфига конки и его реконфигурации (или рестарта?)
ну или может быть есть еще варианты без реконфигурации конки? =))
Ну, цвет то меняет conky, елси бы можно было сделать с помощью скрипта. Тут если и получится что-то то довольно проблемно мне кажется, не знаю
-
butch
- Сообщения: 331
- ОС: :OC
Re: Вывод погоды в Conky
разница в том, что правильно проверять код возрата курл. а не содержимое файла
полюбому видимо прийдется менять конфиг и рестартить конки
или чтобы было более гладкий переход - стартовать новый конки с обновленным конфигом и потом прибивать старый
-
Sleeep
- Сообщения: 104
- Статус: crw-rw-rw-
- ОС: Arch
Re: Вывод погоды в Conky
в conky есть if_runnong и if_existing, или как-то так.
Т.е. для каждого цвета создаем пустой файлег с определенным именем и проверяем в коньках перед выводом, старые удаляем.
жаль, case в коньках нету
Стал чуть добрее - и ты уже цундере
-
butch
- Сообщения: 331
- ОС: :OC
Re: Вывод погоды в Conky
есть ж
Код: Выделить всё
if_match expression
Evaluates the given boolean expression, printing everything between $if_match and the matching $endif depending on whether the evaluation returns true or not. Valid expressions consist of a left side, an operator and a right side. Left and right sides are being parsed for contained text objects before evaluation. Recognised left and right side types are:
double: argument consists of only digits and a single dot.
long: argument consists of only digits.
string: argument is enclosed in quotation mark or the checks for double and long failed before.
Valid operands are: '>', '<', '>=', '<=', '==', '!='.этого должно хватить =))
не case кнчно =) но вариант
-
Sleeep
- Сообщения: 104
- Статус: crw-rw-rw-
- ОС: Arch
Re: Вывод погоды в Conky
Небольшой фикс:
в .conky-weather.sh
в .conky-conditions.sh
Sed поставил до записи в temp.
Воть.
в .conky-weather.sh
Код: Выделить всё
temper=$(awk -F, '{print$3}' $HOME/.conky/temp | awk '{print$2"°C"}')в .conky-conditions.sh
Код: Выделить всё
cloud=$(awk -F, '{print$1$2}' $HOME/.conky/temp |cut -c17-)
icon='A'
#echo $cloud
#-- Необходим weather.ttf
case $cloud in
'ясно без осадков'|'малооблачно без осадков')
icon='A'
;;
'облачно безосадков,'|'пасмурно без осадков')
icon='e'
;;
'облачно снег'|'малооблачно снег')
icon='e'
;;
'пасмурно снег')
icon='k'
;;
'облачно дождь'|'малооблачно дождь'|'малооблачно небольшой дождь')
icon='h'
;;
'пасмурно дождь'|'облачно небольшой дождь'|'пасмурно небольшой дождь')
icon='h'
;;
'облачно ливень'|'пасмурно ливень')
icon='g'
;;
'пасмурно гроза')
icon='i'
;;
esacSed поставил до записи в temp.
Воть.
Стал чуть добрее - и ты уже цундере