Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: CONKY от olgmen 2  (Прочитано 44960 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн olgmen

  • Автор темы
  • Активист
  • *
  • Сообщений: 493
    • Просмотр профиля
CONKY от olgmen 2
« : 11 Ноября 2010, 15:32:57 »
Вывод погоды с http://weather.noaa.gov/

Для вывода погоды используются данные полученные из аэропортов. Список аэропортов, с которых можно вывести прогноз, в приложении.



Шрифт Ubuntu
Иконки погоды из комплекта conkyForecast

Иконки можно использовать любые, главное, чтобы они имели названия типа 1.png
Большой выбор разных иконок на сайте http://winzoro.com/catalog/icons/wether/, да и поиск в интернете никто не отменял

Краткое описание скриптов:

CONKYRC - самый простой, можно использовать любой.

(Нажмите, чтобы показать/скрыть)

ГЛАВНОЕ - если ниже слова TEXT в conkyrc нет никаких команд, то должна быть хотя бы одна пустая строка ниже слова TEXT, иначе скрипт работать не будет.

Запускают скрипт погоды в conkyrc две строки

lua_load ~/olgmen/calendar.lua
lua_draw_hook_pre widgets

Первая строка указывает адрес скрипта. Если вы помещаете скрипт в папку с именем отличным от olgmen, то необходимо указать путь к папке где находится скрипт.

Вторая строка - запускает скрипт

Скрипту необходимо дать права на исполнение

СКРИПТ WEATHER.LUA

(Нажмите, чтобы показать/скрыть)

Так как скрипт писался под определенные конки, то прогноз выводится как бы в квадрат, высота и ширина выводимой информации равна.
В скрипте использовано масштабирование шрифта и иконки. В зависимости от выбранного размера ширины w пропорционально изменяются размер шрифта и иконки погоды.
Основной размер шрифта вычисляется автоматически в зависимости от разрешения экрана, я считаю, что так удобней, не надо подбирать размеры шрифта.

В данный момент скрипт принимает погоду для Санкт-Петербурга (код ULLI), для приема погоды в другом городе необходимо заменить код Санкт-Петербурга на код своего города. Для этого открываем скрипт в любимом редакторе gedit и заменяем автоматом код ULLI на код своего города, но можно это сделать врукопашную заменив коды в строках

(Нажмите, чтобы показать/скрыть)

Кстати об указанных строках.

Первая выводит температуру
Вторая - давление в мм. ртутного столба, если есть желание принимать в миллибарах то приведите строку к такому виду

text = conky_parse('${weather http://weather.noaa.gov/pub/data/observations/metar/stations/ ULLI pressure}')

Третья - влажность
Четвертая - направление ветра
Пятая - скорость ветра в м/с
Шестая - время последнего обновления.
Седьмая - состояние погоды, облачно, ясно и т.д.
Восьмая - осадки


В данный момент вывод прогноза не полностью русифицирован, просто я не знаю, какие данные к чему относятся, например тайфун и т.п. Тем более, что в Питере сейчас кроме дождя ничего нет, и проверить нет возможности. Но вы можете сами русифицировать текст по такой схеме.

Не русифицированный прогноз выводится на английском языке, и кроме того иконка не выводится, в этом случае, заходите в список состояния погоды (находится в приложении) и добавляете в скрипт, часть скрипта русификации

(Нажмите, чтобы показать/скрыть)
строку в таком формате

if text == "cloudy"      then text = "Облачно"   image = 26 end

Здесь:

"cloudy" - то что выведено в прогнозе
"Облачно" - перевод
26 - номер выводимой иконки

Если прогноз выведен на английском в левой части, то строку вносите в верхний список, а если справа то в нижний.

Под температурой вывод производится только при осадках, в остальное время - пусто


И под конец, строка с параметрами вывода

   weather (cr, 15, 20, 250, "Ubuntu", 0x151515, 1, 0xffffff, 1)

Здесь:

15 - расстояние от левой кромки окна конки
20 - расстояние от верхней кромки окна конки
250 - ширина выводимого прогноза
"Ubuntu" - шрифт, можно заменить на свой любимый
0х151515 - цвет фона, в данном скрипте не используется
1 - насыщенность цвета фона, т.е. прозрачность, значения от 0 до 1, 0 - прозрачный, 1 - насыщенность 100%
0хffffff - в данном случае цвет шрифта белый
1 - насыщенность цвета шрифта

Вот кажется и всё. Возникнут вопросы, если знаю - то отвечу.

кто хочет, тот добьется,
кто ищет, тот всегда найдет

Оффлайн olgmen

  • Автор темы
  • Активист
  • *
  • Сообщений: 493
    • Просмотр профиля
Re: CONKY от olgmen 2
« Ответ #1 : 27 Ноября 2010, 08:08:02 »
Еще один способ получения прогноза погоды на три дня



Заходим на сайт http://www.accuweather.com/rss-center.asp



В окне вводим, на английском, название города и через запятую страну. В моем случае St. Petersburg, Russia



Жмем set  и во втором окне получаем ссылку на код города



копируем её, например в gedit

http://rss.accuweather.com/rss/liveweather_rss.asp?metric=0&locCode=ASI|RU|RS073|SAINT PETERSBURG

Нас интересует код города и страны ASI|RU|RS073|SAINT PETERSBURG

Если название города состоит из двух слов, то необходимо между словами в названии поставить знак подчеркивания

ASI|RU|RS073|SAINT_PETERSBURG

Теперь скачиваем пакет http://ubuntuforums.org/attachment.php?attachmentid=155183&d=1272819292

Распаковываем в домашнюю директорию, или куда захотите, заходим в папку conky_accuweather, затем в папку conky_weather. В ней находится скрипт weather_scripn.sh и шрифт ConkyWeather.otf, который помещаем в папку шрифтов для конку .fonts. Открываем скрипт в gedit и заменяем teo на путь к скрипту, в моем случае boris/olgmen (в gedit это можно сделать сразу для всего скрипта выбрав "Поиск" > "Заменить").

Также меняем код города на свой в начале скрипта в строке

curl "http://rss.accuweather.com/rss/liveweather_rss.asp?metric=1&locCode=ASI|RU|RS073|SAINT_PETERSBURG">/home/boris/olgmen/conky_weather/weather
В conkyrc вписываем строки

${color Cyan}SAINT_PETERSBURG WEATHER ${hr 2}$color
${execi 600 sh /home/boris/olgmen/conky_weather/weather_script.sh}
${font conkyweather:size=35}${execi 600  sed -n '4p' /home/boris/olgmen/conky_weather/weather1}${font} ${voffset -20}${execi 600 sed -n '1p' /home/boris/olgmen/conky_weather/weather1}


${rss http://rss.accuweather.com/rss/liveweather_rss.asp?metric=1&locCode=ASI|RU|RS073|SAINT_PETERSBURG 10 item_title 1}
${font conkyweather:size=35}${execi 600  sed -n '5p' /home/boris/olgmen/conky_weather/weather1}${font} ${voffset -20}${execi 600 sed -n '2p' /home/boris/olgmen/conky_weather/weather1}


${rss http://rss.accuweather.com/rss/liveweather_rss.asp?metric=1&locCode=ASI|RU|RS073|SAINT_PETERSBURG 10 item_title 2}
${font conkyweather:size=35}${execi 600  sed -n '6p' /home/boris/olgmen/conky_weather/weather1}${font} ${voffset -20}${execi 600 sed -n '3p' /home/boris/olgmen/conky_weather/weather1}

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

sudo fc-cache -v -f
Вот и всё. Удачи.
кто хочет, тот добьется,
кто ищет, тот всегда найдет

Оффлайн olgmen

  • Автор темы
  • Активист
  • *
  • Сообщений: 493
    • Просмотр профиля
Re: CONKY от olgmen 2
« Ответ #2 : 01 Декабря 2010, 19:49:47 »
Ещё один способ вывода прогноза погоды с помощью conkyForecast



conkyrc

(Нажмите, чтобы показать/скрыть)


templateW

(Нажмите, чтобы показать/скрыть)

Как установить conkyForecast описывалось на форуме не один раз.

Необходимо сменить location=RSXX0091 на свои данные

Подложки во вложении, пропишите правильный путь к ним
кто хочет, тот добьется,
кто ищет, тот всегда найдет

Оффлайн mozillaman

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: CONKY от olgmen 2
« Ответ #3 : 03 Декабря 2010, 14:58:33 »
у меня не появляются картинки((

Оффлайн olgmen

  • Автор темы
  • Активист
  • *
  • Сообщений: 493
    • Просмотр профиля
Re: CONKY от olgmen 2
« Ответ #4 : 03 Декабря 2010, 15:39:38 »
Извини, но о чем ты говоришь. Там два скрипта из трех выводят цветные картинки. Объясни, что ты пробовал, и попробуй запустить из терминала. В терминале всегда пишутся замечания если что не так.
Остановка вывода сообщений нажатием CTRL+Z. Ответ лучше скинь в личку.
кто хочет, тот добьется,
кто ищет, тот всегда найдет

Оффлайн olgmen

  • Автор темы
  • Активист
  • *
  • Сообщений: 493
    • Просмотр профиля
Re: CONKY от olgmen 2
« Ответ #5 : 11 Декабря 2010, 06:53:58 »
Запуск LUA скриптов

Для запуска скрипта lua имеется встроенная в conky команда состоящая из двух строк

Первая строка загружает скрипт
Вторая - запускает

lua_load /путь/до_скрипта/название_скрипта.lua
lua_draw_hook_pre название_запускаемой_функции_в_скрипте

Также имеется вторая встроенная команда, позволяющая запускать второй скрипт lua

lua_load /путь/до_скрипта/название_2_скрипта.lua
lua_draw_hook_post название_запускаемой_функции_в_скрипте

Но бывает необходимость запустить более двух скриптов lua. Для этого необходимо в скрипт  поместить вызов второго, третьего и т.д. скриптов lua. Это можно сделать поместив в первый скрипт строки вызова, в начало скрипта до или сразу после строки require 'cairo'

require 'cairo'

dofile ("/полный/путь/до_скрипта/название_скрипта.lua")

Запуск второго скрипта производится командой помещаемой в запускаемую функцию в виде строки следующего содержания

название_запускаемой_функции()
кто хочет, тот добьется,
кто ищет, тот всегда найдет

Оффлайн Sega

  • Любитель
  • *
  • Сообщений: 50
  • ubuntu 12.04 x64 gnome 3
    • Просмотр профиля
Re: CONKY от olgmen 2
« Ответ #6 : 21 Декабря 2010, 19:35:00 »
огромное человеческое СПАСИБО! :D

Пользователь решил продолжить мысль 21 Декабря 2010, 21:16:12:
ERROR: Error reading weather data: Data element <lsup> not present under <cc>
КАК ПОПРАВИТЬ? :o
« Последнее редактирование: 21 Декабря 2010, 21:16:12 от Sega »
всё дело в мелочах

Оффлайн olgmen

  • Автор темы
  • Активист
  • *
  • Сообщений: 493
    • Просмотр профиля
Re: CONKY от olgmen 2
« Ответ #7 : 22 Декабря 2010, 09:32:27 »
Несколько слов о скрипте выводящем в коньки количество дней оставшихся до определенной даты или количество дней прошедших с определенной даты

Скрипт очень простой, не помню где нашел. Производит вычисления количества дней до определенной даты.

#!/usr/bin/python
import datetime
diff = datetime.datetime (2011, 1, 1) - datetime.datetime.today()
print diff.days,

Производится простое вычитание, поэтому необходимо соблюдать порядок ввода даты.

гггг,мм,дд

если месяц или день однозначный, то необходимо перед цифрой поставить пробел.

Для вывода количества дней прошедшей с определенной даты скрипт будет иметь вид

#!/usr/bin/python
import datetime
diff = datetime.datetime.today() - datetime.datetime (2006, 8, 6)
print diff.days,

Так я вывожу количество дней со дня окончательного перехода на UBUNTU
кто хочет, тот добьется,
кто ищет, тот всегда найдет

Оффлайн olgmen

  • Автор темы
  • Активист
  • *
  • Сообщений: 493
    • Просмотр профиля
Re: CONKY от olgmen 2
« Ответ #8 : 07 Января 2011, 16:45:02 »
Вывод индикатора раскладки клавиатуры в коньки

Натолкнулся на такую статью

http://muhas.ru/?p=104

Смысл в том, что с помощью программы skb, ссылка на скачивание (весит всего 8.9 КБ)

http://aur.archlinux.org/packages.php?ID=30667

возможно вывести в окно коньков раскладку клавиатуры.

Скачиваем пакет, распаковываем в домашнюю директорию, далее как всегда

make
sudo make install

Всё готово для вывода раскладки. Добавляем в conkyrc следующую строку

${exec skb 1}
И в окне коньков появляется, в зависимости от локали, Rus или USA.

Но на этом я не остановился и сделал вывод флажков.

Строка в conkyrc

${if_match "${exec skb 1}" == "Rus"} ${image /home/boris/olgmen/images/ru.png -p 200,20 -s 32x32}${else}${image /home/boris/olgmen/images/us.png -p 200,20 -s 32x32}${endif}
Пропишите свои пути к картинкам.
кто хочет, тот добьется,
кто ищет, тот всегда найдет

Оффлайн Haron Prime

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 11313
  • Нетолерантный социопат
    • Просмотр профиля
Re: CONKY от olgmen 2
« Ответ #9 : 07 Января 2011, 17:10:15 »
olgmen
СПС. Раньше я располагал в самом низу коньков апплет от GLX-dock, отображающий текущую раскладку и позволяющий её переключать. Теперь можно обойтись без него. Вот только бы ещё сделать переключение...
Может Вы в курсе, какую команду повесить на кнопку, чтобы работала как переключатель, и спрятать под коньками?

Оффлайн olgmen

  • Автор темы
  • Активист
  • *
  • Сообщений: 493
    • Просмотр профиля
Re: CONKY от olgmen 2
« Ответ #10 : 07 Января 2011, 17:19:15 »
Об этом просто не думал, т.к. привык переключать Alt+Shift
кто хочет, тот добьется,
кто ищет, тот всегда найдет

Оффлайн Haron Prime

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 11313
  • Нетолерантный социопат
    • Просмотр профиля
Re: CONKY от olgmen 2
« Ответ #11 : 07 Января 2011, 17:24:36 »
Для переключения конечно пользуюсь клавиатурой, но привычка осталась ещё со времён оффтопа - если кликнуть по индикатору, то раскладка переключиться. Хотя, по большому счёту, оно и не надо вовсе... Так, блажь... )))

Оффлайн anatoliykoval

  • Старожил
  • *
  • Сообщений: 1540
    • Просмотр профиля
Re: CONKY от olgmen 2
« Ответ #12 : 07 Января 2011, 18:32:18 »
 olgmen спасибо, интересно, особо в боксах думаю применимо.

Оффлайн olgmen

  • Автор темы
  • Активист
  • *
  • Сообщений: 493
    • Просмотр профиля
Re: CONKY от olgmen 2
« Ответ #13 : 07 Января 2011, 18:35:37 »
Я думаю, что не только в боксах, может в арче, да и так многие избавляются от панелей
кто хочет, тот добьется,
кто ищет, тот всегда найдет

Оффлайн Talles

  • Активист
  • *
  • Сообщений: 364
  • arch linux
    • Просмотр профиля
Re: CONKY от olgmen 2
« Ответ #14 : 08 Января 2011, 00:36:16 »
ыыы yaourt -S skb хотя на мой взгляд лучше xxkb

 

Страница сгенерирована за 0.035 секунд. Запросов: 23.