Вывод погоды в Conky (Настройка с помощью скриптов)

Любые разговоры которые хоть как-то связаны с тематикой форума

Модератор: Модераторы разделов

Аватара пользователя
Dunris
Сообщения: 295
Статус: ...
ОС: Archlinux

Re: Вывод погоды в Conky

Сообщение Dunris »

Извиняюсь за глупость :laugh: , все, понял:)
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3122
ОС: Gentoo

Re: Вывод погоды в Conky

Сообщение ormorph »

Да специальные шрифты прикольно использовать вот прямая ссылка на пакетик там тоже есть шрифты например ConkyWeather.
проверял работают.
http://www.dleu.be/download/conky/conkyFor...ast-2.02.tar.gz
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3122
ОС: Gentoo

Re: Вывод погоды в Conky

Сообщение ormorph »

Опс забыл сразу было ссылочку дать сайта с которого это все качается
там есть разные скрипты.
http://www.dleu.be/download/index.php?path=conky/
Спасибо сказали:
Sleeep
Сообщения: 104
Статус: crw-rw-rw-
ОС: Arch

Re: Вывод погоды в Conky

Сообщение Sleeep »

ormorph писал(а):
27.05.2009 20:14
Да специальные шрифты прикольно использовать вот прямая ссылка на пакетик там тоже есть шрифты например ConkyWeather.
проверял работают.
http://www.dleu.be/download/conky/conkyFor...ast-2.02.tar.gz


красяво.
буду читать 1.5к строк :happy:
Стал чуть добрее - и ты уже цундере
Спасибо сказали:
Аватара пользователя
Dunris
Сообщения: 295
Статус: ...
ОС: Archlinux

Re: Вывод погоды в Conky

Сообщение Dunris »

ormorph писал(а):
27.05.2009 20:46
Опс забыл сразу было ссылочку дать сайта с которого это все качается
там есть разные скрипты.
http://www.dleu.be/download/index.php?path=conky/

Спасибо, интересненько, сейчас лазю качаю, пригодятся;)
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3122
ОС: Gentoo

Re: Вывод погоды в Conky

Сообщение ormorph »

вот еще нашел ссылку может кому пригодится, там более новая версия conkyforecast - 2.04
шрифты теже самые, ну и там есть еще скрипты для conky на python
https://launchpad.net/~m-buck/+archive/ppa
Спасибо сказали:
Аватара пользователя
butch
Сообщения: 331
ОС: :OC

Re: Вывод погоды в Conky

Сообщение butch »

нашел шрифты для отображения температуры: ds-digit
выглядит терь так (кстати, желтые тучки мне кажутся интереснее =))):
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:
Аватара пользователя
Dunris
Сообщения: 295
Статус: ...
ОС: Archlinux

Re: Вывод погоды в Conky

Сообщение Dunris »

Вот и баги пошли:) Не знаю, может я что-то не так делал, но тот скрипт, который был у меня вчера как-то странно работал: коньки загружались, но по не понятной мне причине файл temp не обновлялся, то есть мне выводилась вчерашняя погода... Если вдруг заметите такой баг (как минимум 2 человека используют этот скрипт, хе:)) попробуйте, например, как я:
текст основного скрипта, показывает нужную картинку:

Код:

#!/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

Сообщение butch »

да уж. что правда, то правда =)
вышел на улицу и обнаружил что там гораздо теплее =))

кстати, неплохо было бы обработку ошибок запихнуть.
а то если курл не получит страничку, весело становится =))
Спасибо сказали:
Аватара пользователя
Dunris
Сообщения: 295
Статус: ...
ОС: Archlinux

Re: Вывод погоды в Conky

Сообщение Dunris »

butch писал(а):
28.05.2009 10:57
да уж. что правда, то правда =)
вышел на улицу и обнаружил что там гораздо теплее =))

Простейший спосов проверить - загрузить в браузере страницу, с которой скрипт и брал всю инфу:
http://informer.gismeteo.ru/rss/27347.xml
Ну код само собой свой не забудьте вставить;)
У меня до сегодняшнего поправления результаты расходились :happy:
butch писал(а):
28.05.2009 10:57
кстати, неплохо было бы обработку ошибок запихнуть.
а то если курл не получит страничку, весело становится =))

Ну тут, скорее всего, придется и скрипт переписывать:D Хотя можно прикрутить при ненайденной странице фразу "Страница не найдена", но толку от неё не так уж и много будет;)
Он кстати и так каждый раз записывает содержимое странички в файл, если там будет не то что ожидается, выведется какая-нибудь билиберда...
Да и вряд ли гисметео просто удалит страницу, чаще они просто перестают обновлять их:)
Спасибо сказали:
Аватара пользователя
butch
Сообщения: 331
ОС: :OC

Re: Вывод погоды в Conky

Сообщение butch »

простой вариант - отсутсвие тырнета.
я думаю стоит сделать что то вроде:
curl -s ... >~/.conky/temp 2>/dev/null || тут какие то действия, так чтобы в файле temp в 18 строке были данные, которые скрипты остальные вытаскивили без ошибок, но на там ни пример будут просто знаки вопроса

кстати, посмотрел, curl никаких ошибок не отдает на stderr
так что можно просто curl -s ... >~/.conky/temp || какие то действия =)
Спасибо сказали:
Аватара пользователя
Dunris
Сообщения: 295
Статус: ...
ОС: Archlinux

Re: Вывод погоды в Conky

Сообщение Dunris »

butch писал(а):
28.05.2009 11:45
кстати, посмотрел, curl никаких ошибок не отдает на stderr
так что можно просто curl -s ... >~/.conky/temp || какие то действия =)

Честно говоря, я не очень разбираюсь в шелл-сриптинге, так что мало понял из вашего поста :blush:
Опишите, пожалуйста, поподробнее алгоритм действий или даже пример, тогда до меня допрет:)
Спасибо сказали:
Аватара пользователя
butch
Сообщения: 331
ОС: :OC

Re: Вывод погоды в Conky

Сообщение butch »

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

Сообщение ormorph »

тут ни чего сложного нет узнать что означает этот знак ~/ можно просто выполнить команду из любого каталога
cd ~/
аналогично cd $HOME
ну а || если первая команда заканчивается ошибкой то выполняется следующая за этими слэшами ||
Спасибо сказали:
Sleeep
Сообщения: 104
Статус: crw-rw-rw-
ОС: Arch

Re: Вывод погоды в Conky

Сообщение Sleeep »

ни у кого нет идей как заставить коньки фиксировать высоту? maximal_width вроде есть, а вот height нет(
gap y не спасает, настройки в компизе тоже. хочу таки допилить ето дело, дабы превратить в панельку
Стал чуть добрее - и ты уже цундере
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3122
ОС: Gentoo

Re: Вывод погоды в Conky

Сообщение ormorph »

Не это? расположение conky по углам рабочего стола:

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

#alignment top_left
#alignment top_right
#alignment bottom_left
alignment bottom_right
Спасибо сказали:
Sleeep
Сообщения: 104
Статус: crw-rw-rw-
ОС: Arch

Re: Вывод погоды в Conky

Сообщение Sleeep »

ormorph писал(а):
28.05.2009 13:43
Не это? расположение conky по углам рабочего стола:

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

#alignment top_left
#alignment top_right
#alignment bottom_left
alignment bottom_right

безразлично(

нужно фиксировать ему высоту, либо подвинуть чуть за край экрана
Стал чуть добрее - и ты уже цундере
Спасибо сказали:
Аватара пользователя
Dunris
Сообщения: 295
Статус: ...
ОС: Archlinux

Re: Вывод погоды в Conky

Сообщение Dunris »

ormorph писал(а):
28.05.2009 13:24
тут ни чего сложного нет узнать что означает этот знак ~/ можно просто выполнить команду из любого каталога

Ну, тут уж вы явно перегнули:) Это-то я узнал, наверное, на 3-ий день пользования Линукс;)
ormorph писал(а):
28.05.2009 13:24
ну а || если первая команда заканчивается ошибкой то выполняется следующая за этими слэшами ||

А вот за это спасибо:)
Я тогда просто недопонял сам алгоритм действий скрипта, сейчас после разъяснений все встает на свои места.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3122
ОС: Gentoo

Re: Вывод погоды в Conky

Сообщение ormorph »

безразлично(

нужно фиксировать ему высоту, либо подвинуть чуть за край экрана

Хм незнаю почему тогда gap неспасает передвинуть за край экрана можно числа с минусом прописывать.

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

gap_x -40
gap_y -40
Спасибо сказали:
Sleeep
Сообщения: 104
Статус: crw-rw-rw-
ОС: Arch

Re: Вывод погоды в Conky

Сообщение Sleeep »

Пробовал, только вверх, за край экране не хочет. Впрочем, возможно, дело в компизе. Сейчас проверю ОБ

UPD: чьерт, и вправду в нем дело.
Стал чуть добрее - и ты уже цундере
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3122
ОС: Gentoo

Re: Вывод погоды в Conky

Сообщение ormorph »

А у меня нормально в верх за край экрана уходит)
Плюсы использования легковесных менеджеров, без 3d эфектов
Спасибо сказали:
Sleeep
Сообщения: 104
Статус: crw-rw-rw-
ОС: Arch

Re: Вывод погоды в Conky

Сообщение Sleeep »

все разобрался, надо через own_window_type override ^^ только теперь без прозрачностей

ormorph писал(а):
28.05.2009 14:14
А у меня нормально в верх за край экрана уходит)
Плюсы использования легковесных менеджеров, без 3d эфектов


не столько из-за эффектов, сколько из-за удобного управления мышой (scale, tile, expo всякие)

Upd: разобрался) type=Unknown
Стал чуть добрее - и ты уже цундере
Спасибо сказали:
Аватара пользователя
Dunris
Сообщения: 295
Статус: ...
ОС: Archlinux

Re: Вывод погоды в Conky

Сообщение Dunris »

По предложению butch`a решил попробовать прикрутить проверку на ошибки. Правда, использовать || нормально я так и не научился:) Пошел обходным путем. Ведь если у curl`а будут проблемы с отображением страницы, в качестве вывода он не передаст iconv ничего, значит cat запишет пустой файл. На этом я и строил дальнейшие действия. Изменил существующие скрипты и что в итоге.
.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

Re: Вывод погоды в Conky

Сообщение butch »

Dunris писал(а):
28.05.2009 15:26
case $test in
'<?xml')

плохо так проверять. некошерна!
Спасибо сказали:
Аватара пользователя
butch
Сообщения: 331
ОС: :OC

Re: Вывод погоды в Conky

Сообщение butch »

идея еще есть.
в зависимости от погоды менять цвет шрифта отображения состояния погоды =)
тобишь в скрипт с
case $cloud in
добавить для каждого варианта sed с изменением конфига конки и его реконфигурации (или рестарта?)
ну или может быть есть еще варианты без реконфигурации конки? =))
Спасибо сказали:
Аватара пользователя
Dunris
Сообщения: 295
Статус: ...
ОС: Archlinux

Re: Вывод погоды в Conky

Сообщение Dunris »

butch писал(а):
28.05.2009 16:37
Dunris писал(а):
28.05.2009 15:26
case $test in
'<?xml')

плохо так проверять. некошерна!

:) какая разница, если курл выдаст ошибку файл будет пустым, сам проверял, работает;)

butch писал(а):
28.05.2009 17:27
идея еще есть.
в зависимости от погоды менять цвет шрифта отображения состояния погоды =)
тобишь в скрипт с
case $cloud in
добавить для каждого варианта sed с изменением конфига конки и его реконфигурации (или рестарта?)
ну или может быть есть еще варианты без реконфигурации конки? =))

Ну, цвет то меняет conky, елси бы можно было сделать с помощью скрипта. Тут если и получится что-то то довольно проблемно мне кажется, не знаю;)
Спасибо сказали:
Аватара пользователя
butch
Сообщения: 331
ОС: :OC

Re: Вывод погоды в Conky

Сообщение butch »

Dunris писал(а):
28.05.2009 17:31
какая разница

разница в том, что правильно проверять код возрата курл. а не содержимое файла ;)
Dunris писал(а):
28.05.2009 17:31
цвет то меняет conky

полюбому видимо прийдется менять конфиг и рестартить конки
или чтобы было более гладкий переход - стартовать новый конки с обновленным конфигом и потом прибивать старый
Спасибо сказали:
Sleeep
Сообщения: 104
Статус: crw-rw-rw-
ОС: Arch

Re: Вывод погоды в Conky

Сообщение Sleeep »

butch писал(а):
01.06.2009 08:56
Dunris писал(а):
28.05.2009 17:31
какая разница

разница в том, что правильно проверять код возрата курл. а не содержимое файла ;)
Dunris писал(а):
28.05.2009 17:31
цвет то меняет conky

полюбому видимо прийдется менять конфиг и рестартить конки
или чтобы было более гладкий переход - стартовать новый конки с обновленным конфигом и потом прибивать старый


в conky есть if_runnong и if_existing, или как-то так.
Т.е. для каждого цвета создаем пустой файлег с определенным именем и проверяем в коньках перед выводом, старые удаляем.

жаль, case в коньках нету
Стал чуть добрее - и ты уже цундере
Спасибо сказали:
Аватара пользователя
butch
Сообщения: 331
ОС: :OC

Re: Вывод погоды в Conky

Сообщение butch »

Sleeep писал(а):
01.06.2009 09:22
if_runnong и if_existing, или как-то так.

есть ж

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

 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

Сообщение Sleeep »

Небольшой фикс:
в .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'
  ;;
esac


Sed поставил до записи в temp.
Воть.
Стал чуть добрее - и ты уже цундере
Спасибо сказали: