Мой Conky

Поставил себе Conky на ноут с Debian. После разборок с настройками получилось вот что:


Это файл конфигурации (~/.conkyrc):

conky.config = {
    alignment = 'top_right',
    background = true,
    border_width = 1,
    cpu_avg_samples = 1,
    default_color = 'white',
    default_outline_color = 'white',
    default_shade_color = 'white',
    double_buffer = true,
    draw_borders = false,
    draw_graph_borders = true,
    draw_outline = false,
    draw_shades = false,
    use_xft = true,
    font = 'DejaVu Sans Mono:size=9',
    gap_x = 5,
    gap_y = 60,
    minimum_height = 5,
    minimum_width = 200,
    net_avg_samples = 2,
    no_buffers = true,
    out_to_console = false,
    out_to_stderr = false,
    extra_newline = false,
    own_window = true,
    own_window_title = 'conky',
    own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
    own_window_argb_visual = true,
    own_window_argb_value = 0,
    own_window_type = 'normal',
    stippled_borders = 0,
    update_interval = 1.0,
    uppercase = false,
    use_spacer = 'none',
    show_graph_scale = false,
    show_graph_range = false
}

conky.text = [[
${color goldenrod}Hostname:${color} $nodename
$hr
${color grey}Uptime:$color $uptime
${color grey}Frequency:$color $freq MHz
${color grey}RAM Usage:$color $mem/$memmax - $memperc% ${membar 4}
${color grey}Swap Usage:$color $swap/$swapmax - $swapperc% ${swapbar 4}
${color grey}CPU History:${color} ${cpugraph 30,0 000000 ffffff}
${color grey}CPU Usage:$color $cpu% ${cpubar 4}
${color grey}Processes:$color $processes  ${color grey}Running:$color $running_processes
$hr
${color goldenrod}File systems:${color}
 / $color${fs_used /}/${fs_size /} ${fs_bar 6 /}
$hr
${color goldenrod}Network:${color}
${if_match "${addr enp2s0}"!="No Address"}enp2s0: ${addr enp2s0}
${color grey}Up:$color ${upspeed enp2s0} ${goto 140}${color grey}Down:$color ${downspeed enp2s0}
${upspeedgraph enp2s0 20,130 000000 ffffff}${goto 140}${downspeedgraph enp2s0 20,130 000000 ffffff}
${else}${if_match "${addr wlan0}"!="No Address"}wlan0: $wireless_essid ${wireless_bitrate wlan0} ${addr wlan0}
${color grey}Up:$color ${upspeed wlan0} ${goto 140}${color grey}Down:$color ${downspeed wlan0}
${upspeedgraph wlan0 20,130 000000 ffffff}${goto 140}${downspeedgraph wlan0 20,130 000000 ffffff}${else}${color red}No network${color}${endif}${endif}
$hr
${color goldenrod}Highest CPU:${color}
${color grey}Name              PID   CPU%   MEM%
${color lightgrey} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
${color lightgrey} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}
${color lightgrey} ${top name 5} ${top pid 5} ${top cpu 5} ${top mem 5}
]]

Следующий блок файла конфигурации отвечает за прозрачное отображение виджета под KDE:

    own_window = true,
    own_window_title = 'conky',
    own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
    own_window_argb_visual = true,
    own_window_argb_value = 0,
    own_window_type = 'normal',

Получилось реализовать следующую фишку: отображение переключения сетевых интерфейсов. Т.е. если подключен ethernet кабель, то на виджете отображается название интерфейса и присвоенный IP-адрес. Если же ethernet не подключен, а идет подключение через Wi-Fi точку доступа, то отображаются параметры точки доступа (имя, скорость) и опять же IP-адрес. Если нет соединения ни с проводным интерфейсом, ни с беспроводным, пишется «No network».
Вот блок кода, ответственный за такое поведение (для удобства восприятия добавлены отступы и переносы строк):

${color goldenrod}Network:${color}
${if_match "${addr enp2s0}"!="No Address"}
  enp2s0: ${addr enp2s0}
  ${color grey}Up:$color ${upspeed enp2s0} ${goto 140}${color grey}Down:$color ${downspeed enp2s0}
  ${upspeedgraph enp2s0 20,130 000000 ffffff}${goto 140}${downspeedgraph enp2s0 20,130 000000 ffffff}
${else}
  ${if_match "${addr wlan0}"!="No Address"}
    wlan0: $wireless_essid ${wireless_bitrate wlan0} ${addr wlan0}
    ${color grey}Up:$color ${upspeed wlan0} ${goto 140}${color grey}Down:$color ${downspeed wlan0}
    ${upspeedgraph wlan0 20,130 000000 ffffff}${goto 140}${downspeedgraph wlan0 20,130 000000 ffffff}
  ${else}
    ${color red}No network${color}
  ${endif}
${endif}