Изучаем conky

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

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

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

nixit

#75
${color #4ea5cd}Температура$color ${alignr 4}${acpitemp}°С$color
sensors-detect запускал, Yes отвечал. А, sensors говорит:
No sensors found!
Make sure you loaded all the kernel drivers you need.
Try sensors-detect to find out which these are.
Странно.


Сообщение объединено: 18 марта 2012, 04:37:10

И ещё, почему-то ярлыки находящиеся за конки не видны. Хотя, прозрачность вроде настроена, задержка при автозапуске стоит. Конфиг, такой:

# Мониторинг nixit
Открыть содержимое (спойлер)

#mpd_host
#mpd_port
#mpd_password

# --- Window Layout & Options --- #
own_window yes
#цвет надписей
own_window_colour #ffffff
own_window_transparent yes
own_window_type override
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes
use_spacer right
use_xft yes
alignment top_right
#Позиция
gap_x 200
gap_y 200

# --- Colours, Sizes, Fonts & Margins --- #
update_interval 1.0
maximum_width 250
stippled_borders 3
border_margin 9
border_width 10
default_color white

# --- Text --- #
draw_outline no
draw_borders no
#font Sans:size=9:weight=bold
uppercase no
draw_shades yes
override_utf8_locale yes

TEXT
${font Sans:size=9:weight=bold}${color #00FF3C}Информация о системе ${hr 2}
${color #4ea5cd}Сейчас:$color ${alignr}${time}
#${color #4ea5cd}Хост:$color ${alignr}$nodename
#${color #4ea5cd}Ядро:$color ${alignr}$kernel ($machine)
${color #4ea5cd}Работает:$color ${alignr}$uptime

${color #00FF3C}Процессор ${hr 2}$color
${color #4ea5cd}${execi 99999 cat /proc/cpuinfo | grep "model name" -m1 | cut -d":" -f2 | cut -d" " -f2- | sed 's#Processor ##'}

${color #4ea5cd}Ядро №1 $color ${cpu cpu0}% ${alignr}${color #4ea5cd}Ядро №2 $color${alignr} ${cpu cpu1}%
${cpugraph cpu0 25,120 00FFF7 FFBC00 }  ${cpugraph cpu1 25,120 00FFF7 FFBC00 }
#${color #4ea5cd}Частота$color ${alignr 4}${freq} Мгц$color
#${color #4ea5cd}Температура на ЦПУ$color ${alignr 4}${acpitemp}°С$color

${color #00FF3C}ОЗУ${hr 2}$color
${color #4ea5cd}Доступно: $color$alignr$memmax
${color #4ea5cd}Используется: $color$mem (${memperc}%)  ${color #00FFF7}${membar 3.180}

${color #00FF3C}SWAP ${hr 2}$color
${color #4ea5cd}Доступно: $color$alignr$swapmax
${color #4ea5cd}Используется: $color$swap (${swapperc}%)  ${color #00FFF7}${swapbar 3.180}

${if_up eth0}${color #00FF3C}Проводная сеть (${color #CCCCCC}IP: ${addr eth0}${color #00FF3C}) ${hr 2}$color
${color #4ea5cd}Скорость передачи данных
${color white}Вход.$color ${downspeed eth0}${alignr}${color white}Исход.$color${alignr} ${upspeed eth0}
${downspeedgraph eth0 25,120 000000 9966CC} ${alignr}${upspeedgraph eth0 25,120 000000 9966CC}
${if_up eth0}${color #00FF3C}Учёт трафика ${hr 2}$color
${color #4ea5cd}Входящий трафик:$color${alignr}${totaldown eth0}
${color #4ea5cd}Исходящий  трафик:$color${alignr}${totalup eth0}

${endif}${color #00FF3C}Свободное пространство разделов ${hr 2}$color
${color #4ea5cd}/$color  ${fs_free_perc /}%$alignr${fs_free /}/ ${fs_size /}
${color #00FFF7}${fs_bar 3 /}
${color #4ea5cd}/home/$color  ${fs_free_perc /home}%$alignr${fs_free /home}/ ${fs_size /home}
${color #00FFF7}${fs_bar 3 /home}${if_mounted /media/backup}
#${color #4ea5cd}/media/backup$color  ${fs_free_perc /media/backup}%$alignr${fs_free /media/backup}/ ${fs_size /media/backup}
#${color #00FFF7}${fs_bar 3 /media/backup}${endif}
${font}
[свернуть]

Valeron

Руководство по Conky. v.0.2
Вышел в свет небольшой, но очень полезный мануал в формате PDF по конькам, начиная с азов. Всем любителям коньков весьма рекомендую! :)
Enter нажат, к чему теперь рыданья...

Angel_ok

#77
При настройке конки столкнулся с проблемой.
Задача: выводить png изображение на рабочий стол.
Инструкция 1 2
gmail-check

own_window yes
own_window_title gmail-check
own_window_type normal
own_window_argb_visual yes
own_window_transparent yes
own_window_hints undecorated, below, sticky, skip_taskbar, skip_pager
double_buffer yes
use_xft no
alignment top_left
gap_x 190
gap_y 140
minimum_size 300 200
update_interval 1.0
lua_load ~/.conky/gmail-check.lua
lua_draw_hook_pre startlua
TEXT
[свернуть]
gmail-check.lua

require 'cairo'
function conky_startlua()
if conky_window == nil then return end
local cs = cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, conky_window.width, conky_window.height)
cr = cairo_create(cs)
image = cairo_image_surface_create_from_png ('/home/ang/.conky/gmail-check.png')
w = cairo_image_surface_get_width (image)
h = cairo_image_surface_get_height (image)
cairo_scale (cr, 74 / w, 64 / h)
cairo_set_source_surface (cr, image, 514, 354)
cairo_paint (cr)
cairo_surface_destroy (image)
cairo_stroke (cr)
end
[свернуть]
Изображение
[свернуть]

Запускаю конки
Открыть содержимое (спойлер)
ang@debian:~$ conky -c ~/.conky/conkyrces/gmail-check
Conky: desktop window (1a000ae) is subwindow of root window (bb)
Conky: window type - normal
Conky: drawing to created window (0x2a00002)
Conky: drawing to double buffer
[свернуть]
Изображение выводится. Все вроде в порядке.
Но процесс conky увеличивает потребление памяти. И в течении 40-60 минут сжирает всю RAM и swap память и вешает систему.
Как это исправить?

Может создать отдельную тему?
Вы думаете, всё так просто? Да, всё просто. Но совсем не так...
                                                                                                          Альберт Эйнштейн

qupl

Цитата: Angel_ok от 29 мая 2012, 11:38:05cairo_xlib_surface_create
В конце второго спойлера я бы добавил cairo_destroy(cr)
Честно предупреждаю, что из lua слышал только название.

Angel_ok

Цитата: qupl от 29 мая 2012, 19:10:25В конце второго спойлера я бы добавил cairo_destroy(cr)
Да, действительно пропустил такую строчку.
После ее добавления бешеное сжирание памяти прекратилось.
Оно стало более щадяще.
За два часа процесс постепенно увеличился до 7.5 мб.
Так и должно быть?  :-\
Вы думаете, всё так просто? Да, всё просто. Но совсем не так...
                                                                                                          Альберт Эйнштейн

qupl

#80
Angel_ok,  вряд ли. Проинспектируй код скрипта тщательнее. Убивай за собой все "объекты", которые создаешь.
add:
Это еще добавь последней строкой.
cairo_surface_destroy(cs)

Но это не факт. Такого метода может и не быть в xlib lua.

Angel_ok

Цитата: qupl от 30 мая 2012, 06:33:46
Это еще добавь последней строкой.
cairo_surface_destroy(cs)
qupl, спасибо большое! Помогло.
Процесс остается на уровне 970 кб.
Вы думаете, всё так просто? Да, всё просто. Но совсем не так...
                                                                                                          Альберт Эйнштейн

qupl

Angel_ok,  не подскажешь почему эти lua-рисования фоном берут стандартные обои (там где ракета ит.д.)?  В DE обои вообще не выбраны.

Angel_ok

Цитата: qupl от 31 мая 2012, 06:24:25
Angel_ok,  не подскажешь почему эти lua-рисования фоном берут стандартные обои (там где ракета ит.д.)?  В DE обои вообще не выбраны.
Точно не знаю. Но могу предположить.
Ищи подобную строку
image = cairo_image_surface_create_from_png ('/home/ang/.conky/gmail-check.png')
точнее фрагмент
cairo_image_surface_create_from_png
А лучше приведи конфиг.
Если конфигов много и не понятно кто что делает, для отладки я запускал их по одному.
Вы думаете, всё так просто? Да, всё просто. Но совсем не так...
                                                                                                          Альберт Эйнштейн

qupl

#84
Конфиг olgmen -а от 10.01.2012. Я по частям и запускал.
У него отдельный скрипт есть backgraund.lua , но там нет ни одного пути к картинкам.
--[[ backgraund.lua от olgmen 16.11.2010

Выводит в окно conky фон с градиентной окраской
Для запуска скрипта поместите следующие строки в conkyrc выше слова TEXT

Displays the window conky background with gradient color
To run the script put the following lines to the above words conkyrc

lua_load /path/to/the/lua/script/backgraund.lua
lua_draw_hook_pre draw_content

]]
require 'cairo'

function conky_draw_backgraund()


backgraund_settings={

{
--orientation = orientation,
bg_colour = {{0, 0x31489c, 0.5},{0.5, 0x9c5930, 0.75},{1, 0x889c30, 0.3}},
},

}

if conky_window==nil then return end

local cs=cairo_xlib_surface_create(conky_window.display,
conky_window.drawable,
conky_window.visual, conky_window.width, conky_window.height)
cr=cairo_create(cs)

for i,v in pairs(backgraund_settings) do
display_background(v)
end

cairo_destroy(cr)

end
-- ------------------------------------------------------------
function display_background(t)

if t.x == nil then t.x = 0 end
if t.y == nil then t.y = 0 end
if t.width == nil then t.width = conky_window.width end
if t.height == nil then t.height = conky_window.height end
if t.radius == nil then t.radius = (t.width+t.height)/2*0.04 end
if t.orientation == nil then t.orientation = "ww" end

if t.bg_colour == nil then
t.bg_colour = {{0, 0x00ffff, 0.1},{0.5, 0x00FFFF, 0.5},{1, 0x00FFFF, 0.1}}
end

local degrees = math.pi / 180.0

cairo_new_sub_path (cr)

cairo_arc (cr, t.x + t.width - t.radius, t.y + t.radius, t.radius, -90 * degrees, 0 * degrees)
cairo_arc (cr, t.x + t.width - t.radius, t.y + t.height - t.radius, t.radius, 0 * degrees, 90 * degrees)
cairo_arc (cr, t.x + t.radius, t.y + t.height - t.radius, t.radius, 90 * degrees, 180 * degrees)
cairo_arc (cr, t.x + t.radius, t.y + t.radius, t.radius, 180 * degrees, 270 * degrees)

cairo_close_path (cr)

        if #t.bg_colour == 1 then
cairo_set_source_rgba(cr,rgb_to_r_g_b2(t.bg_colour[1]))
else
local pat
local pts=linear_orientation_bg(t)
pat = cairo_pattern_create_linear (pts[1], pts[2], pts[3], pts[4])

for i=1, #t.bg_colour do
cairo_pattern_add_color_stop_rgba (pat, t.bg_colour[i][1], rgb_to_r_g_b2(t.bg_colour[i]))
end

cairo_set_source (cr, pat)
cairo_fill (cr)
cairo_pattern_destroy(pat)
end
end

-- ---------------------------------------
function rgb_to_r_g_b2(tcolour)
    colour, alpha = tcolour[2], tcolour[3]
    return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end
-- ----------------------------------------

-- ----------------------------------------------
function linear_orientation_bg(t)

if t.orientation == "nn" then
p = {t.x + t.width/2, t.y, t.x + t.width/2, t.y + t.height}
elseif t.orientation == "ne" then
p = {t.x + t.width, t.y, t.x, t.y + t.height}
elseif t.orientation == "ee" then
p = {t.x + t.width, t.y + t.height/2, t.x, t.y + t.height/2}
elseif t.orientation == "se" then
p = {t.x +t.width, t.y + t.height, t.x, t.y}
elseif t.orientation == "ss" then
p = {t.x + t.width/2, t.y + t.height, t.x + t.width/2, t.y}
elseif t.orientation == "sw" then
p = {t.x, t.y + t.height, t.x + t.width, t.y}
elseif t.orientation == "ww" then
p = {t.x, t.y + t.height/2, t.x + t.width, t.y + t.height/2}
else
p = {t.x, t.y, t.x + t.width, t.y + t.height}
end

    return p
end


Сообщение объединено: 01 июня 2012, 10:24:14

Этот скрипт только градиент для фона добавляет, но сам фон остается стандартной обоиной. :(

Сообщение объединено: 01 июня 2012, 10:42:38

Экспериментальным путем выяснил, что если поставить непрозрачность окну conky, то оно, само собой нарисует свой фон. А вот если оно "прозрачное" own_window_transparency= yes, то , видимо, просвечивает насквозь через xfce-шный рабочий стол и показывает в фоне ту самую стандартную обоину.

Сообщение объединено: 01 июня 2012, 10:48:22

Победил - надо добавить  own_window_argb_visual yes

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

qupl

vladimir_ar, а в погодном шаблоне все нормально?  (~/.conkycolors/templates/conkyForecast.template)

vladimir_ar

#87
conkyForecast.template
Когда отключаешь погоду, то пустота уменьшается, но не намного - раза в 1,5.

Сообщение объединено: 10 сентября 2012, 16:03:14

Отключал по очереди разные секции - добавляют пустоту в конец секции #NETWORK# и #WEATHER#. Только не пойму почему.
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

qupl

Помучай в conkyForecast.template  блоки goto, которые с большими значениями (но там вряд ли), и проверь еще ~/.conkycolors/bin/conkyForecast и  ~/.conkycolors/bin/conkyIp.

vladimir_ar

Проблема решилась правкой скриптов в conkyForecast.template и в секции сети в conky.rc. Такая проблема возникает из-за разбиения скрипта на строки. Запись в одну строку и форматирование с помощью goto и voffset (а не разбиением на строки) решает эту проблему.
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