Изучаем conky

Автор saveriy, 17 февраля 2011, 20:34:34

« назад - далее »

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

Александр Кряжев

Цитата: vladimir_ar от 31 декабря 2011, 15:52:48
Почти каждый день вываливается - не отображает ничего после включения компа. Только несколько раз подряд перезапустить коньки - появляется. С чем проблема может быть?
Немного подождать - и оно само обновится. Либо - перезапускать коньки, обновляя таким образом, вручную. Не так быстро работает сервис, как нам хотелось бы. ;)

olgmen

Вывод в conky доступных обновлений

В conkyrc вставляется строка ниже слова TEXT

Обновления : ${execi 1800 aptitude search '~U' | wc -l}

Каждые пол часа будет обновляться информация о доступных обновлениях

Удачных коньков

Александр Кряжев

Хм, прикольно! Спасибо, olgmen!

olgmen

#33
На примере вывода информации об обновлениях покажу как можно избежать использования команд exec, execi в lua-скриптах. Почему именно эти команды, просто потому что, как написано в документации conky, эти команды очень энергоемкие. Команды execi и execpi вообще не работают, так как при каждом проходе программы они запускаются снова и снова и не дают никакой задержки.

Обычно в lua-скрипты просто прописывают эти команды

conky_parse("${execi 1800 aptitude search '~U' | wc -l}")

И когда этих команд много, нагрузка на процессор возрастает, поэтому просто считываем данные в память

local f = io.popen("aptitude search '~U' | wc -l")

забираем данные из памяти

update_text = f:read("*a")
f:close()


Ну а дальше просто выводим, я пропускаю настройки цвета, шрифта и места вывода

cairo_show_text (cr, update_text)

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

используем данные обновления conky

local updates = tonumber(conky_parse('${updates}'))

запускаем таймер, заменив secs на количество секунд между обновлениями

local timer = (updates %secs)+1

если время истекло, то запускается запрос об обновлениях

if timer == secs or updates == 6 then
   local f = io.popen("aptitude search '~U' | wc -l")
   update_text = f:read("*a")
   f:close()
   update_text = "Обновления : " .. string.gsub(update_text,"[\n\r]","")
end


Таким образом можно выводить и другие данные.

Готовый скрипт можно взять здесь http://dl.dropbox.com/u/22038871/update_info.lua.tar.gz


Удачных коньков

olgmen

Цифровые часы

Скрипт выводит в окно conky цифровые часы



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

Основные настройки

   x         -- координаты по оси x (по умолчанию центр окна conky)
   y         -- координаты по оси y (по умолчанию центр окна conky)
   width      -- ширина часов (по умолчанию 200)
   height      -- высота часов   (по умолчанию 100)

с такими настройками часы будут иметь такой вид



   следующие данные позволяют
   
   seconds = true      -- включить вывод секунд (true, false), по умолчанию без секунд


   
   background   -- корпус часов, доступны 3 вида корпусов (1, 2, 3), по умолчанию без корпуса

   background = 1



background = 2



background = 3



   glass      -- стекло часов, доступны 3 вида (1, 2, 3), по умолчанию без стекла

glass = 1



glass = 2



glass = 3



Работа программы немного описана в скрипте

Взять можно здесь http://dl.dropbox.com/u/22038871/old_digital_watch.lua.tar.gz

Удачных коньков

Valeron

olgmen, превосходно!
Enter нажат, к чему теперь рыданья...

duletant

Цитата: Александр Кряжев от 26 сентября 2011, 16:06:20Проходите бесплатную регистрацию на сайте weather.com. Получаете XOAP_PARTNER_ID и XOAP_LICENCE_KEY.
Ребят, помогите, пожалуйста, разобраться с получением XOAP_PARTNER_ID и XOAP_LICENCE_KEY. Регистрацию прошел, а вот где взять ключ, так и не нашел.  XOAP_PARTNER_ID вроде как нашел, но погода не отображается, видимо из-за отсутствия ключа.
Заранее благодарен!

Metrix

duletant, смотри здесь ;)
Юзербар в отпуске

duletant

ID я нашел, откуда ключ взять?

Metrix

XOAP_LICENCE_KEY = 0c1bd826927639b7
Юзербар в отпуске

duletant

Все равно не показывает!) Спасибо!

Valeron

#41
Цитата: duletant от 31 января 2012, 02:54:49
Все равно не показывает!) Спасибо!
Попробуй так: в .conkyrc замени все коды местности на свои (если там их много, то используй Ctrl+F для поиска, так удобней), а в .conkyForecast.config строки XOAP_PARTNER_ID = и XOAP_LICENCE_KEY = вообще закомментируй (поставь # перед этими строками). У меня предыдущие коньки так работали и погоду нормально показывали без всяких регистраций на www.weather.com (в нынешних погоду не использую).  :)
Enter нажат, к чему теперь рыданья...

duletant

Не особо разбираюсь в коде conkyrc
Открыть содержимое (спойлер)

######################
# - Conky settings - #
######################
update_interval 2.0
total_run_times 0
net_avg_samples 1
cpu_avg_samples 1

imlib_cache_size 0
double_buffer yes
no_buffers yes

format_human_readable

#####################
# - Text settings - #
#####################
use_xft yes
xftfont Droid Sans:size=10
override_utf8_locale yes
text_buffer_size 2048

#############################
# - Window specifications - #
#############################
own_window_class Conky
own_window yes
own_window_type override
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

alignment top_right
gap_x 25
gap_y 40
minimum_size 182 0
maximum_width 182

default_bar_size 60 8

#########################
# - Graphics settings - #
#########################
draw_shades no

default_color cccccc

color0 black
color1 77507b
color2 black

TEXT
${font Droid Sans:style=Bold:size=10}п?п?п?п?п?п°п? $stippled_hr${font}
##############
# - SYSTEM - #
##############
${color0}${voffset 6}${font OpenLogos:size=19}J${font}${color}${goto 32}${voffset -14}Kernel:  ${alignr}${color2}${kernel}${color}
${goto 32}п?я?п?п?я? я?п?п?п?я?я?: ${alignr}${color2}${uptime}${color}
# |--CPU
${offset 1}${color0}${font Poky:size=16}P${font}${offset -19}${voffset 9}${cpubar cpu0 4,18}${color}${voffset -16}${goto 32}CPU1: ${font Droid Sans:style=Bold:size=10}${color1}${cpu cpu1}%${font} ${alignr}${font Droid Sans:style=Bold:size=8}${color1}${execi 30 sensors | grep 'Core 0' | cut -c15-16}б?C${color}${font}  ${color2}${cpugraph cpu1 8,50 5C3566 77507B}${color}
${goto 32}CPU2: ${font Droid Sans:style=Bold:size=8}${color1}${cpu cpu2}%${font} ${alignr}${font Droid Sans:style=Bold:size=10}${color1}${execi 30 sensors | grep 'Core 1' | cut -c15-16}б?C${color}${font}  ${color2}${cpugraph cpu2 8,50 5C3566 77507B}${color}
# |--MEM
${color0}${font Poky:size=16}M${font}${color}${goto 32}${voffset -7}RAM: ${font Droid Sans:style=Bold:size=10}${color1}$memperc%${color}${font}
${offset 1}${voffset 2}${color0}${membar 4,18}${color}${goto 32}${voffset -2}F: ${font Droid Sans:style=Bold:size=8}${color2}${memeasyfree}${color}${font} U: ${font Droid Sans:style=Bold:size=8}${color2}${mem}${color}${font}
# |--CPU
${voffset 2}${color0}${font Poky:size=14}s${font}${color}${voffset -8}${goto 32}SWAP: ${font Droid Sans:style=Bold:size=8}${color1}${swapperc}%${color}${font}
${voffset 4}${offset 1}${color0}${swapbar 4,18}${color}${voffset -4}${goto 32}F: ${font Droid Sans:style=Bold:size=8}${color2}$swapmax${color}${font} U: ${font Droid Sans:style=Bold:size=8}${color2}$swap${color}${font}
# |--PROC
${voffset 2}${color0}${font Poky:size=15}a${font}${color}${goto 32}${voffset -10}п?я?п?я?п?я?я?я?: ${color2}${alignr 13}CPU${alignr}RAM${color}
${voffset -1}${goto 42}${color2}${top name 1}${color}${font Droid Sans:style=Bold:size=8}${color1} ${goto 124}${top cpu 1}${alignr }${top mem 1}${color}${font}
${voffset -1}${goto 42}${color2}${top name 2}${color}${font Droid Sans:style=Bold:size=8}${color1} ${goto 124}${top cpu 2}${alignr }${top mem 2}${color}${font}
${voffset -1}${goto 42}${color2}${top name 3}${color}${font Droid Sans:style=Bold:size=8}${color1} ${goto 124}${top cpu 3}${alignr }${top mem 3}${color}${font}
${voffset -1}${goto 42}${color2}${top name 4}${color}${font Droid Sans:style=Bold:size=8}${color1} ${goto 124}${top cpu 4}${alignr }${top mem 4}${color}${font}
${voffset -1}${goto 42}${color2}${top name 5}${color}${font Droid Sans:style=Bold:size=8}${color1} ${goto 124}${top cpu 5}${alignr }${top mem 5}${color}${font}
${voffset -1}${goto 42}${color2}${top name 6}${color}${font Droid Sans:style=Bold:size=8}${color1} ${goto 124}${top cpu 6}${alignr }${top mem 6}${color}${font}
${voffset -1}${goto 42}${color2}${top name 7}${color}${font Droid Sans:style=Bold:size=8}${color1} ${goto 124}${top cpu 7}${alignr }${top mem 7}${color}${font}
#############
# - CLOCK - #
#############
${voffset 4}${font Droid Sans:style=Bold:size=8}п?п?п?п? $stippled_hr${font}
${voffset -12}${goto 28}${font Arial Black:size=38}${color2}${time %H}${color}${font}${voffset -28}${font Droid Sans:style=Bold:size=11}${color2}${time :%M}${time :%S}${color}${font}
${voffset -2}${goto 100}${font Droid Sans:style=Bold:size=8}${color2}${time %A}${color}${font}
${goto 100}${time %d %b %Y}
################
# - CALENDAR - #
################
${voffset -2}${color0}${font Poky:size=15}d${font}${color}${voffset -8}${font Liberation Mono:size=8}${execpi 10800 DJS=`date +%-d`; cal | sed 's/^/${goto 32} /' | sed '1d' | sed s/" $DJS "/" "'${font Liberation Mono:style=bold:size=8}${color1}'"$DJS"'${color}${font}${font Liberation Mono:size=8}'" "/}${font}${font}${voffset -14}
##############
# - NVIDIA - #
##############
${voffset 4}${font Droid Sans:style=Bold:size=10}NVIDIA $stippled_hr${font}
${color2}${voffset -4}${font Poky:size=17}N${font}${color}${goto 32}${voffset -10}GPU Temp:${alignr}${font Droid Sans:style=Bold:size=8}${color2} ${exec nvidia-settings -q GPUCoreTemp | grep Attribute | cut -d ' ' -f 6 | cut -c 1-2}${font}${color}б?C
${goto 32}GPU Clock:${alignr}${font Droid Sans:style=Bold:size=8}${color2} ${exec nvidia-settings -q GPU2DClockFreqs -t}${font}${color}MHz
${goto 32}Video RAM:${alignr}${font Droid Sans:style=Bold:size=8}${color2} ${exec nvidia-settings -q VideoRam -t}${font}${color}KiB
${goto 32}Driver Version:${alignr}${font Droid Sans:style=Bold:size=8}${color2} ${exec nvidia-settings -q NvidiaDriverVersion -t}${font}${color}
##########
# - HD - #
##########
${voffset 4}${font Droid Sans:style=Bold:size=8}п?п?п?п п? $stippled_hr${font}
${execpi 30 ~/.conkycolors/bin/conkyHD3}
###############
# - WEATHER - #
###############
# For a working weather script you NEED to define, in a user specific config file, a partner id and registration code for the weather.com xoap service. For this purpose copy .conkyForecast.config in ~/.conkycolors folder to your home and setup as required.
# http://www.weather.com/services/xmloap.html
${voffset 4}${font Droid Sans:style=Bold:size=8}п?п·п?п·п?п? $stippled_hr${font}
# |--WLAN0
${if_up wlan0}
${execpi 10800 ~/.conkycolors/bin/conkyForecast --location=UPXX0011 -t ~/.conkycolors/templates/conkyForecast.template}
# |--ETH0
${else}${if_up eth0}
${execpi 10800 ~/.conkycolors/bin/conkyForecast --location=UPXX0011 -t ~/.conkycolors/templates/conkyForecast.template}
# |--PPP0
${else}${if_up ppp0}
${execpi 10800 ~/.conkycolors/bin/conkyForecast --location=UPXX0011 -t ~/.conkycolors/templates/conkyForecast.template}
${else}${voffset 4}${color2}${font PizzaDude Bullets:size=12}4${font}${color}${goto 32}п?п?я?п?я?п?п?я?п?я? п? п©п?пЁпп п?п?п©п?п?п?я?п?я?${voffset 14}${endif}${endif}${endif}
[свернуть]
кто из них коды местности?  по моему их там нет)

vladimir_ar

Debian Testing, kernel 3.16-2-amd64, OpenBox
AMD A8-3750 / 16Gb RAM / ATI HD6550D (onboard) / Sound ASUS Xonar - DS
_______________________________
Debian Testing, kernel 3.14-2-amd64, OpenBox
HP-655 AMD E1 / 8Gb RAM / ATI HD7310M

Valeron

Цитировать${else}${voffset 4}${color2}${font PizzaDude Bullets:size=12}4${font}${color}${goto 32}п?п?я?п?я?п?п?я?п?я? п? п©п?пЁпп п?п?п©п?п?п?я?п?я?${voffset 14}${endif}${endif}${endif}
Это только у меня так криво твой конфиг отображается (то, что я выделил), или и на самом деле так?
Enter нажат, к чему теперь рыданья...