You are not logged in.
Still a work in progress, so not pushed to git yet.
Can you post your configs?
Thanks!
Offline
.
Last edited by annoying_daniel (2017-06-07 04:46:25)
Offline
You were just told not to hijack threads and now you are spamming support requests in a screenshot thread? Your days here are numbered...
Offline
I am using conky as a panel in i3, here is the screenshot
Last edited by Docbroke (2017-06-07 03:12:40)
Arch is home!
https://github.com/Docbroke
Offline
link to conky (in timetrek change wlp0s29f7u7 to your wifi adapter, run iwconfig to find out it's name)
i use conky19-lua-nv 1.9.0-9 from AUR. copy fonts to .fonts mainly Santana,Caviar Dreams, and D3 Euronism, put the xtrytip folder in .conky
Last edited by trytipARCH (2017-06-07 23:34:29)
Offline
link to conky (put clocks folder in .conky)
Offline
this one is nice. any chance i can get a copy of it?
Offline
@stanna i did not post a copy because this conky is very much for customized my system and probably only works halfway on others but if you wanna try and fix it for your system you're more than welcome. beware i have been working on this for more than 2 years so there are many lines commented out and leftovers.
Offline
Hello,
My lua/conky working on arch, after some patching (see https://bbs.archlinux.org/viewtopic.php … #p1720480)
The work is available at https://gitlab.nomagic.fr/popi/conky-grapes
-- read the rules and only post thumbnails https://bbs.archlinux.org/viewtopic.php?id=61754 [jwr] --
Duly noted. Might serve others
Last edited by popi (2017-06-26 17:38:06)
Offline
Nice one @popi
I'm trying to do the same but I can't find the .conf file that I need to give to conky (I created it with the .py utility)
Thanks :3
Offline
Nice one @popi
I'm trying to do the same but I can't find the .conf file that I need to give to conky (I created it with the .py utility)
The script output the command-line to be launched, and the config file for conky will always be
~/conky/conky-grapes/conky_gen.conkyrc
So no '.conf', by defaut conky would use '.conkyrc', but in our case we don't touch that and use a specific file name called with 'conky -c' option.
Please refer to the gitlab and sign in with your github account for further assistance
Offline
@stanna i did not post a copy because this conky is very much for customized my system and probably only works halfway on others but if you wanna try and fix it for your system you're more than welcome. beware i have been working on this for more than 2 years so there are many lines commented out and leftovers.
yes very complication but might be fun to pinch some elements for my own script if you dont mind (full credit given). as soon as i find the time id like to get stuck into it. thanks for lett me see it
Offline
My conky based on a script I found on deviantart (Original: http://urgo2x.deviantart.com/art/Conky-Urgo-658950463).
Updated it a bit for a 4-core CPU, and some formatting updates
Last edited by surfatwork (2017-07-27 21:46:12)
Offline
More of the old conky-grapes. Based on londonali's original rings lua script. I just started reconfiguring it for 1920x1080. Also tried my best to get rid of all the offensive "voffsets" and "offsets"!
.conkyrc
conky.config = {
-- Conky settings #
background = false,
update_interval = 1,
cpu_avg_samples = 2,
net_avg_samples = 2,
override_utf8_locale = true,
double_buffer = true,
no_buffers = true,
text_buffer_size = 2048,
--imlib_cache_size = 0,
--temperature_unit = 'celsius',
-- With class override, gets images to display properly (black bg)
own_window_argb_visual = true,
own_window_argb_value = 0,
-- Window specifications #
own_window_class = 'override',
own_window = true,
own_window_type = 'desktop',
own_window_transparent = true,
-- XFCE4 - undecorate not working
own_window_hints = 'undecorated,sticky,skip_taskbar,skip_pager,below',
border_inner_margin = 0,
border_outer_margin = 0,
minimum_width = 500,
minimum_height = 800,
maximum_width = 500,
alignment = 'top_right',
gap_x = 0,
gap_y = 100,
-- Graphics settings #
draw_shades = false,
draw_outline = false,
draw_borders = false,
draw_graph_borders = false,
-- useless
default_shade_color = 'red',
default_outline_color = 'green',
-- Text settings #
use_xft = true,
override_utf8_locale = true,
font = 'Play:normal:size=10',
xftalpha = 0.9,
uppercase = false,
-- TEXT color
default_color = '#333333',
color0 = '#165cc4',
color1 = '#3A78EE',
lua_load = '~/conky/rings-v2_gen.lua',
lua_draw_hook_pre = 'conky_main',
};
conky.text = [[
${voffset 0}${color1}${goto 100}${freq_g cpu0} Ghz${alignr 530} ${hwmon temp 1} °C
#${voffset 16}${color1}${goto 106}${freq_g cpu0} Ghz${alignr 530}${acpitemp} °C
## CPU ###################
${voffset -0.5}${goto 120}${color1}CPU 1 ${color1} ${cpu cpu1}%
${voffset -0.5}${goto 120}${color1}CPU 2 ${color1} ${cpu cpu2}%
${voffset -0.5}${goto 120}${color1}CPU 3 ${color1} ${cpu cpu3}%
${voffset -0.5}${goto 120}${color1}CPU 4 ${color1} ${cpu cpu4}%
${voffset -0.5}${goto 120}${color1}CPU 5 ${color1} ${cpu cpu5}%
${voffset -0.5}${goto 120}${color1}CPU 6 ${color1} ${cpu cpu6}%
${voffset -0.5}${goto 120}${color1}CPU 7 ${color1} ${cpu cpu7}%
${voffset -0.5}${goto 120}${color1}CPU 8 ${color1} ${cpu cpu8}%
${goto 90}${voffset 13.0}${color1}${top name 1}${top cpu 1}%
${goto 90}${color1}${top name 2}${top cpu 2}%
${goto 90}${color1}${top name 3}${top cpu 3}%
${goto 90}${color1}${top name 4}${top cpu 4}%
${goto 90}${color1}${top name 5}${top cpu 5}%
${font Michroma:size=14}${color0}${goto 25}${voffset -10}CPU${font}${voffset 10}
###
## FILESYSTEMS #################
${goto 5}/ ${color1}${alignr 550}${fs_used /} / ${fs_size /} ${font}${goto 255}${color1}${top_mem name 1}${alignr 40}${top_mem mem 1}%
${goto 5}/DATA ${color1}${alignr 550}${fs_used /media/DATA} / ${fs_size /media/DATA} ${goto 255}${color1}${top_mem name 2}${alignr 40}${top_mem mem 2}%
${goto 5}/home ${color1}${alignr 550}${fs_used /home} / ${fs_size /home} ${goto 255}${color1}${top_mem name 3}${alignr 40}${top_mem mem 3}%
#
${goto 280}${color1}RAM ${alignr 40}${color1}${mem} / ${color1}${memmax}
${font Michroma:size=12}${color0}${voffset -15}FS${font}${voffset 15}
${font Michroma:size=12}${color0}${goto 310} MEMORY
${font Michroma:size=18}${goto 25}${color1}${time %l}:${time %M}, ${time %P}${font}
${goto 60}${font Michroma:size=12}${color0}${time %a} ${color0}${time %x}${font}
${font}${color1}${goto 315}WiFi ${color1}${wireless_essid wlp2s0}
${goto 335}${voffset 6}Up ${goto 400}${color1}${totalup wlp2s0} / ${color1}${upspeed wlp2s0}
${goto 335}${color1}Down${goto 400}${color1}${totaldown wlp2s0} / ${color1}${downspeed wlp2s0}
${goto 335}Local IP${goto 400}${addr wlp2s0}
${goto 335}Public IP${goto 400}${execi 3600 wget -q -O - checkip.dyndns.org | sed -e 's/[^[:digit:]\|.]//g'}
${font Michroma:size=12}${color0}${goto 108}BATTERY${font}${font Michroma:size=12}${color0}${goto 355}NET${font}
${font}${color0}${alignc 27}${color1}${battery_percent BAT1}% ${battery_time BAT1}${font}
${font Michroma:size=9}${color0}${execi 3600 awk -F '=' '/PRETTY_NAME/ { print $2 }' /etc/os-release | tr -d '"'}, up ${uptime}, on Kernel ${kernel}${font}
#gpu the arch way
${if_match ${exec lsmod | grep 'nvidia' -c} > 0}
${exec nvidia-smi --query-gpu=name --format=csv,noheader}
Temperature: ${exec nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits} °C
Memory: ${exec nvidia-smi --query-gpu=memory.used --format=csv,noheader} / ${exec nvidia-smi --query-gpu=memory.total --format=csv,noheader}
${else}\
OFF
${endif}\
]];
rings-v2_gen.lua
--[[
I think the rings lua script is from londonali
--]]
normal="0x165cc4"
warn="0xff7200"
crit="0xff000d"
corner_r=35
bg_colour=0x3b3b3b
bg_alpha=0.2
-- blue | 0x165cc4
-- red | 0xff1d2b
-- green | 0x1dff22
-- pink | 0xff1d9f
-- orange | 0xff8523
-- skyblue | 0x008cff
-- darkgray | 0x323232
settings_table = {
{
name='hwmon',
arg='temp 1',
max=110,
bg_colour=0x3b3b3b,
bg_alpha=0.8,
fg_colour=0x1dff22,
fg_alpha=0.8,
x=195, y=184,
radius=172,
thickness=4,
start_angle=0,
end_angle=240
},
{
name='cpu',
arg='cpu1',
max=100,
bg_colour=0x3b3b3b,
bg_alpha=0.7,
fg_colour=0x165cc4,
fg_alpha=0.8,
x=195, y=184,
radius=160,
thickness=12,
start_angle=0,
end_angle=240
},
{
name='cpu',
arg='cpu2',
max=100,
bg_colour=0x3b3b3b,
bg_alpha=0.65,
fg_colour=0x165cc4,
fg_alpha=0.8,
x=195, y=185,
radius=146,
thickness=11.5,
start_angle=0,
end_angle=240
},
{
name='cpu',
arg='cpu3',
max=100,
bg_colour=0x3b3b3b,
bg_alpha=0.6,
fg_colour=0x165cc4,
fg_alpha=0.8,
x=195, y=186,
radius=133,
thickness=11.0,
start_angle=0,
end_angle=240
},
{
name='cpu',
arg='cpu4',
max=100,
bg_colour=0x3b3b3b,
bg_alpha=0.55,
fg_colour=0x165cc4,
fg_alpha=0.8,
x=195, y=186,
radius=120,
thickness=10.5,
start_angle=0,
end_angle=240
},
{
name='cpu',
arg='cpu5',
max=100,
bg_colour=0x3b3b3b,
bg_alpha=0.5,
fg_colour=0x165cc4,
fg_alpha=0.8,
x=195, y=187,
radius=107,
thickness=12,
start_angle=0,
end_angle=240
},
{
name='cpu',
arg='cpu6',
max=100,
bg_colour=0x3b3b3b,
bg_alpha=0.45,
fg_colour=0x165cc4,
fg_alpha=0.8,
x=195, y=187,
radius=92,
thickness=12.5,
start_angle=0,
end_angle=240
},
{
name='cpu',
arg='cpu7',
max=100,
bg_colour=0x3b3b3b,
bg_alpha=0.4,
fg_colour=0x165cc4,
fg_alpha=0.8,
x=195, y=187,
radius=76.5,
thickness=13,
start_angle=0,
end_angle=240
},
{
name='cpu',
arg='cpu8',
max=100,
bg_colour=0x3b3b3b,
bg_alpha=0.35,
fg_colour=0x165cc4,
fg_alpha=0.8,
x=195, y=187,
radius=62,
thickness=10,
start_angle=0,
end_angle=240
},
{
name='memperc',
arg='',
max=100,
bg_colour=0x3b3b3b,
bg_alpha=0.8,
fg_colour=0x165cc4,
fg_alpha=0.8,
x=310, y=435,
radius=75,
thickness=15,
start_angle=180,
end_angle=420
},
--[[ {
name='swapperc',
arg='',
max=100,
bg_colour=0x3b3b3b,
bg_alpha=0.4,
fg_colour=0x165cc4,
fg_alpha=0.8,
x=410, y=234,
radius=75,
thickness=12,
start_angle=180,
end_angle=420
},
--]]
{
name='fs_used_perc',
arg='/',
max=100,
bg_colour=0x3b3b3b,
bg_alpha=0.8,
fg_colour=0x165cc4,
fg_alpha=0.8,
x=95, y=450,
radius=90,
thickness=10,
start_angle=0,
end_angle=240
},
{
name='fs_used_perc',
arg='/media/DATA',
max=100,
bg_colour=0x3b3b3b,
bg_alpha=0.6,
fg_colour=0x165cc4,
fg_alpha=0.8,
x=95, y=450,
radius=79,
thickness=9,
start_angle=0,
end_angle=240
},
{
name='fs_used_perc',
arg='/home',
max=100,
bg_colour=0x3b3b3b,
bg_alpha=0.4,
fg_colour=0x165cc4,
fg_alpha=0.8,
x=95, y=450,
radius=69,
thickness=8,
start_angle=0,
end_angle=240
},
{
name='downspeedf',
arg='wlp2s0',
max=125000,
bg_colour=0x3b3b3b,
bg_alpha=0.8,
fg_colour=0x165cc4,
fg_alpha=0.8,
x=350, y=640,
radius=80,
thickness=12,
start_angle=180,
end_angle=420
},
{
name='upspeedf',
arg='wlp2s0',
max=125000,
bg_colour=0x3b3b3b,
bg_alpha=0.6,
fg_colour=0x165cc4,
fg_alpha=0.8,
x=350, y=640,
radius=67,
thickness=11,
start_angle=180,
end_angle=420
},
{
name='time',
arg='%l',
max=24,
bg_colour=0x3b3b3b,
bg_alpha=0.4,
fg_colour=0x165cc4,
fg_alpha=0.8,
x=200, y=595,
radius=40,
thickness=6,
start_angle=0,
end_angle=240
},
{
name='time',
arg='%M',
max=60,
bg_colour=0x3b3b3b,
bg_alpha=0.6,
fg_colour=0x165cc4,
fg_alpha=0.8,
x=200, y=595,
radius=49,
thickness=9,
start_angle=0,
end_angle=240
},
{
name='time',
arg='%S',
max=60,
bg_colour=0x3b3b3b,
bg_alpha=0.8,
fg_colour=0x165cc4,
fg_alpha=0.8,
x=200, y=595,
radius=61,
thickness=12,
start_angle=0,
end_angle=240
},
{
name='battery_percent',
arg='BAT1', max=100,
bg_colour=0x3b3b3b,
bg_alpha=0.6,
fg_colour=0x165cc4,
fg_alpha=0.8,
x=245, y=700,
radius=18,
thickness=10,
start_angle=0,
end_angle=240
},
{
name='kernel', --just to avoid unknown viariable '$' in console
arg='uname -r',
max=100,
bg_colour=0x3b3b3b,
bg_alpha=0.6,
fg_colour=0x165cc4,
fg_alpha=0.6,
x=245, y=700,
radius=5,
thickness=13,
start_angle=0,
end_angle=360
},
}
require 'cairo'
function rgb_to_r_g_b(colour,alpha)
return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end
function draw_ring(cr,t,pt)
local w,h=conky_window.width,conky_window.height
local xc,yc,ring_r,ring_w,sa,ea=pt['x'],pt['y'],pt['radius'],pt['thickness'],pt['start_angle'],pt['end_angle']
local bgc, bga, fgc, fga=pt['bg_colour'], pt['bg_alpha'], pt['fg_colour'], pt['fg_alpha']
local angle_0=sa*(2*math.pi/360)-math.pi/2
local angle_f=ea*(2*math.pi/360)-math.pi/2
local t_arc=t*(angle_f-angle_0)
-- Draw background ring
cairo_arc(cr,xc,yc,ring_r,angle_0,angle_f)
cairo_set_source_rgba(cr,rgb_to_r_g_b(bgc,bga))
cairo_set_line_width(cr,ring_w)
cairo_stroke(cr)
-- Draw indicator ring
cairo_arc(cr,xc,yc,ring_r,angle_0,angle_0+t_arc)
cairo_set_source_rgba(cr,rgb_to_r_g_b(fgc,fga))
cairo_stroke(cr)
end
function conky_ring_stats()
local function setup_rings(cr,pt)
local str=''
local value=0
str=string.format('${%s %s}',pt['name'],pt['arg'])
str=conky_parse(str)
value=tonumber(str)
if value == nil then value = 0 end
pct=value/pt['max']
draw_ring(cr,pct,pt)
end
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)
local cr=cairo_create(cs)
local updates=conky_parse('${updates}')
update_num=tonumber(updates)
if update_num>5 then
for i in pairs(settings_table) do
display_temp=temp_watch()
setup_rings(cr,settings_table[i])
end
end
cairo_surface_destroy(cs)
cairo_destroy(cr)
end
function disk_watch()
warn_disk=93
crit_disk=98
disk=tonumber(conky_parse("${fs_used_perc /}"))
if disk<warn_disk then
settings_table[12]['fg_colour']=normal
elseif disk<crit_disk then
settings_table[12]['fg_colour']=warn
else
settings_table[12]['fg_colour']=crit
end
disk=tonumber(conky_parse("${fs_used_perc /boot}"))
if disk<warn_disk then
settings_table[13]['fg_colour']=normal
elseif disk<crit_disk then
settings_table[13]['fg_colour']=warn
else
settings_table[13]['fg_colour']=crit
end
disk=tonumber(conky_parse("${fs_used_perc /home}"))
if disk<warn_disk then
settings_table[14]['fg_colour']=normal
elseif disk<crit_disk then
settings_table[14]['fg_colour']=warn
else
settings_table[14]['fg_colour']=crit
end
end
function temp_watch()
warn_value=80
crit_value=100
temperature=tonumber(conky_parse("${hwmon temp 1}"))
if temperature<warn_value then
settings_table[1]['fg_colour']=normal
elseif temperature<crit_value then
settings_table[1]['fg_colour']=warn
else
settings_table[1]['fg_colour']=crit
end
end
-- Battery color control
function battery_watch()
warn_value=30
crit_value=10
index=20
battery=tonumber(conky_parse("${battery_percent BAT1 }"))
if battery>warn_value then
settings_table[index]['fg_colour']=normal
elseif battery>crit_value then
settings_table[index]['fg_colour']=warn
else
settings_table[index]['fg_colour']=crit
end
end
-- Contrôle de l'interface active
-- choice to not probe network interface once conky is running.
-- just call again create_conky.py to update if gateway interface has changed
--function iface_watch()
--
-- iface=conky_parse("${if_existing /proc/net/route enp1s0f2}enp1s0f2${else}wlan0${endif}")
--
-- settings_table[11]['arg']=iface
-- settings_table[12]['arg']=iface
--end
function conky_draw_bg()
if conky_window==nil then return end
local w=conky_window.width
local h=conky_window.height
local cs=cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, w, h)
cr=cairo_create(cs)
cairo_move_to(cr,corner_r,0)
cairo_line_to(cr,w-corner_r,0)
cairo_curve_to(cr,w,0,w,0,w,corner_r)
cairo_line_to(cr,w,h-corner_r)
cairo_curve_to(cr,w,h,w,h,w-corner_r,h)
cairo_line_to(cr,corner_r,h)
cairo_curve_to(cr,0,h,0,h,0,h-corner_r)
cairo_line_to(cr,0,corner_r)
cairo_curve_to(cr,0,0,0,0,corner_r,0)
cairo_close_path(cr)
cairo_set_source_rgba(cr,rgb_to_r_g_b(bg_colour,bg_alpha))
cairo_fill(cr)
end
function conky_main()
temp_watch()
disk_watch()
--iface_watch()
-- if a battery is found
battery_watch()
conky_ring_stats()
-- quand fond nécessaire
-- conky_draw_bg()
end
Last edited by jedi (2017-08-14 05:27:45)
-- wow it really is broken
Offline
I found out I can use Conky in COMMAND LINE MODE! Now I can see the same conky output even when I'm using SSH!
http://i.imgur.com/4z6ShyU.png
8:25 am
. Mon, 14 Aug 2017
SYSTEM
. CPU: 1.55GHz
.. __________ __________ ###_______ __________ __________ __________
.. __________ #_________ __________ __________ __________ __________
. RAM: 1.37GiB ##__________________
. Uptime: 5d 13h 35m
NETWORK
. Down: 1.2KiB
. Up: 4.2KiB
FILESYSTEM
. root: 12.1GiB ###########_________
. home: 57.6GiB #############_______
. storage: 123GiB ###############_____
. backups: 73.3GiB################____
UPDATES
. New mail: 1
. Pacman: 0
. AUR: 0
conky.config = {
alignment = 'top_left',
background = false,
cpu_avg_samples = 2,
default_color = 'white',
default_outline_color = 'black',
double_buffer = true,
draw_borders = false,
draw_graph_borders = true,
draw_outline = true,
draw_shades = false,
font = 'Sans:size=10',
gap_x = 6,
gap_y = 4,
minimum_height = 5,
minimum_width = 160,
net_avg_samples = 2,
no_buffers = true,
out_to_console = true,
out_to_ncurses = true,
out_to_stderr = false,
out_to_x = false,
own_window = true,
own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
own_window_transparent = true,
own_window_type = 'desktop',
show_graph_range = false,
show_graph_scale = false,
stippled_borders = 0,
update_interval = 1.0,
uppercase = false,
use_spacer = 'none',
use_xft = true
}
conky.text = [[
${font Sans:style=bold:size=24}${time %l:%M %P}${font}
. ${time %a, %d %b %Y}
SYSTEM ${hr 2}
. CPU: ${freq_g}GHz
.. ${cpubar cpu0 1, 10} ${cpubar cpu1 1, 10} ${cpubar cpu2 1, 10} ${cpubar cpu3 1, 10} ${cpubar cpu4 1, 10} ${cpubar cpu5 1, 10}
.. ${cpubar cpu6 1, 10} ${cpubar cpu7 1, 10} ${cpubar cpu8 1, 10} ${cpubar cpu9 1, 10} ${cpubar cpu10 1, 10} ${cpubar cpu11 1, 10}
. RAM: ${mem}${goto 18}${membar 1, 20}
. Uptime: ${uptime}
NETWORK ${hr 2}
. Down: ${downspeedf enp33s0}KiB
. Up: ${upspeedf enp33s0}KiB
FILESYSTEM ${hr 2}
. root: ${fs_free /}${goto 18}${fs_bar 1, 20 /}
. home: ${fs_free /home}${goto 18}${fs_bar 1, 20 /home}
. storage: ${fs_free /storage}${goto 18}${fs_bar 1, 20 /storage}
. backups: ${fs_free /backups}${goto 18}${fs_bar 1, 20 /backups}
UPDATES ${hr 2}
. New mail: ${texeci 300 amount-gmail}
. Pacman: ${texeci 1020 amount-pacman}
. AUR: ${texeci 1380 amount-aur}
]]
Offline
Share
Last edited by ackt1c (2022-11-05 12:48:07)
Offline
The work is available at https://gitlab.nomagic.fr/popi/conky-grapes
I really like the rings. So i made a big puristic load monitor out of it.
And my old one also got a few updates.
Offline
Terrific
Last edited by ackt1c (2022-11-05 12:46:03)
Offline
My conky panel with trayer, so it provides system-tray functionality
conky + trayer as panel with conky calendar ( using remind)
Last edited by Docbroke (2019-09-03 16:29:13)
Arch is home!
https://github.com/Docbroke
Offline
.conkyrc
-- Conky, a system monitor, based on torsmo
--
-- Any original torsmo code is licensed under the BSD license
--
-- All code written since the fork of torsmo is licensed under the GPL
--
-- Please see COPYING for details
--
-- Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen
-- Copyright (c) 2005-2010 Brenden Matthews, Philip Kovacs, et. al. (see AUTHORS)
-- All rights reserved.
--
-- This program is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
--
conky.config = {
alignment = 'top_right',
background = true,
border_width = 0,
cpu_avg_samples = 2,
default_color = 'grey',
default_outline_color = 'black',
default_shade_color = 'black',
draw_borders = false,
draw_graph_borders = true,
draw_outline = false,
draw_shades = false,
use_xft = true,
font = 'Courier:size=9',
xftalpha = 0.8,
gap_x = -1918,
gap_y = 0,
minimum_height = 5,
minimum_width = 5,
maximum_width = 355,
maximum_height = 850,
net_avg_samples = 2,
no_buffers = true,
text_buffer_size = 4096,
out_to_console = false,
out_to_stderr = false,
extra_newline = false,
own_window = true,
own_window_argb_value = 0,
own_window_argb_visual = false,
own_window_transparent = false,
own_window_type = normal,
own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager,below',
stippled_borders = 3,
update_interval = 2.5,
double_buffer = true,
uppercase = false,
use_spacer = 'left',
pad_percents = 3,
temperature_unit = 'celsius',
show_graph_scale = false,
show_graph_range = false,
override_utf8_locale = false,
}
conky.text = [[
${font Terminus:size=8:bold}${color 0077ff}Hardware ${color}$hr
${font Terminus:size=7}${color}Uptime:$color $uptime Linux ${execi 3600 uname -r}
${color}CPU Usage:$color $cpu% ${color 0077ff}${cpubar 4}
${color}CPU Temp: $color ${hwmon 0 temp 1}C
${color}Case Temp: $color ${hwmon 1 temp 1}C
${color}Case Fan Speed:$color ${hwmon 1 fan 1} RPM
${color}CPU Fan Speed:$color ${hwmon 1 fan 2} RPM
${color}RAM Usage:$color $mem${color 0077ff}/${color}$memmax - $memperc% ${color 0077ff}$membar
${color}Swap Usage:$color $swap${color 0077ff}/${color}$swapmax - $swapperc% ${color 0077ff}$swapbar
${font Terminus:size=8:bold}${color 0077ff}Network & System${color}$hr
${font Terminus:size=7}${color}VPN Connection status: ${exec cat /tmp/vpnstatresult}
${color}Last Pacman System Update: ${font Terminus:size=7}${exec cat /tmp/lstupdate.txt}
${font Terminus:size=8:bold}${color 0077ff}Processes ${color}$hr
${font Terminus:size=7}${color}Number Processes:$color $processes ${color grey}Currently Running:$color $running_processes
${font Terminus:size=7}${color 0077ff}Name PID CPU% MEM%
${color white} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
${color white} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
${color white} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
${color white} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}
${color white} ${top name 5} ${top pid 5} ${top cpu 5} ${top mem 5}
$hr
${font Terminus:size=8:bold}${color 0077ff}Local Weather
${color grey}${font Terminus:size=8}${exec cat /home/lpc123/conkyscripts/weather/conkyweather.txt}
$hr
${font Terminus:size=8:bold}${color 0077ff}${exec cat ~/.local/share/audconk/artist.txt | fold -s -w 62} - ${color Grey}${font Terminus:size=8}${exec cat ~/.local/share/audconk/album.txt | fold -s -w 62} (${exec cat ~/.local/share/audconk/year.txt})
${font Terminus:size=8:bold}${color 0077ff}${exec cat ~/.local/share/audconk/title.txt | fold -s -w 62}
${color Grey}${font Terminus:size=8}Time: ${exec audtool --current-song-output-length}/${exec audtool --current-song-length} Bitrate:${exec audtool --current-song-bitrate-kbps} kbps Code:${exec cat ~/.local/share/audconk/currgpnum.txt} Art (bytes):${exec cat ~/.local/share/audconk/currartsize.txt}
${font Terminus:size=8}${color Grey}Playlist: ${exec audtool --playlist-position} of ${exec audtool --playlist-length}. ${color Grey}${font Terminus:size=8} Last played date: ${exec cat ~/.local/share/audconk/lastplayed.txt}
${color Grey}${font Terminus:size=7}${exec audtool --current-song-tuple-data comment | fold -s -w 69 | head -n 8}
$hr
${font Terminus:size=8:bold}${color 0077ff}Reuters Top News Stories${color}
${font Terminus:size=7}${color grey}${rss http://feeds.reuters.com/reuters/topNews 10 item_titles 8}
$hr
${font Terminus:size=8:bold}${color 0077ff}Financial Markets${color}
${color grey}${font Terminus:size=7}${exec cat ~/.local/share/stockdata/mktreport.txt}
$hr
${font Terminus:size=8:bold}${color 0077ff}Date & Time ${color}
${color grey}${time %e %B %Y %A %I:%M %p}
$hr
${image ~/.local/share/audconk/folder.jpg -p 0,390 -s 255x255 -n -f1}
${image ~/.local/share/audconk/starrating.png -p 258,650 -s 85x17 -n -f1}
]]
The VPN status is obtained with this bash script:
#!/bin/bash
sleep 30
ip route show > /tmp/vpn_stat; cd /tmp; if grep -R "tun0" "/tmp/vpn_stat"; then echo up > /tmp/vpnstatresult; else echo down > /tmp/vpnstatresult; fi
Pacman last update is obtained with this bash script:
#!/bin/bash
i=$(($(date +%s) - $(date -r /var/log/pacman.log +%s))); ((days=i/86400, i-=days*86400, hrs=i/3600, i-=hrs*3600, min=i/60, i-=min*60, sec=i)); printf "%dd %02dh %02dm" $days $hrs $min > /tmp/lstupdate.txt
Local weather is obtained directly from NOAA (U.S.) using this bash script:
#!/bin/bash
#Conky weather script for basic weather info - run every 15 mins
#Download weather file – go to NOAA for your metar symbol to replace “KATT” below
#Create a local directory /conkyscripts/weather for the script and temp files
sudo -u yourusername curl https://tgftp.nws.noaa.gov/data/observations/metar/decoded/KATT.TXT -o ~/conkyscripts/weather/KATT.TXT
#Strip parenthetical information from weather file and send to weathertmp1 file
perl -p0777e 's/\(.*?\)//gs' ~/conkyscripts/weather/KATT.TXT > ~/conkyscripts/weather/weathertmp1.txt
#Strip extraneous “:0” information from temp1 file and send to temp2 file
perl -p0777e 's/\ :0//gs' ~/conkyscripts/weather/weathertmp1.txt > ~/conkyscripts/weather/weathertmp2.txt
#Empty the contents of the previous conkyweather file
truncate -s 0 ~/conkyscripts/weather/conkyweather.txt
#Adjust for your local time
echo -n "Last report (CST): " >> ~/conkyscripts/weather/conkyweather.txt
#Print part of line 2 of weathertmp2.txt file to the conkyweather.txt file
#sed -n '2p' ~/conkyscripts/weather/weathertmp2.txt | cut -d / -f 1 >> ~/conkyweather.txt
sed -n '2p' ~/conkyscripts/weather/weathertmp2.txt | cut -d / -f 1 >> ~/conkyscripts/weather/weathertmp3.txt
sed -n '1p' ~/conkyscripts/weather/weathertmp3.txt | cut -d - -f 2 > ~/conkyscripts/weather/weathertmp4.txt
date --file='~/conkyscripts/weather/weathertmp4.txt' +%r >> ~/conkyscripts/weather/conkyweather.txt
#Print line 6, 5, 3, 7 and 8 of ~/conkyscripts/weather/weathertmp2.txt file to the conkyweather.txt file
sed -n '6p' ~/conkyscripts/weather/weathertmp2.txt >> ~/conkyscripts/weather/conkyweather.txt
sed -n '5p' ~/conkyscripts/weather/weathertmp2.txt >> ~/conkyscripts/weather/conkyweather.txt
sed -n '3p' ~/conkyscripts/weather/weathertmp2.txt >> ~/conkyscripts/weather/conkyweather.txt
sed -n '7p' ~/conkyscripts/weather/weathertmp2.txt >> ~/conkyscripts/weather/conkyweather.txt
sed -n '8p' ~/conkyscripts/weather/weathertmp2.txt >> ~/conkyscripts/weather/conkyweather.txt
lineslen="$(wc -l < ~/conkyscripts/weather/conkyweather.txt)"
#echo $lineslen
if [ $lineslen = 5 ]; then
echo -n "*" >> ~/conkyscripts/weather/conkyweather.txt
fi
if [ $lineslen = 4 ]; then
echo -n "*" >> ~/conkyscripts/weather/conkyweather.txt
echo -n "* data not currently available" >> ~/conkyscripts/weather/conkyweather.txt
fi
if [ $lineslen = 3 ]; then
echo -n "*" >> ~/conkyscripts/weather/conkyweather.txt
echo -n "* data not currently available" >> ~/conkyscripts/weather/conkyweather.txt
echo -n "*" >> ~/conkyscripts/weather/conkyweather.txt
fi
if [ $lineslen = 2 ]; then
echo -n "*" >> ~/conkyscripts/weather/conkyweather.txt
echo -n "*" >> ~/conkyscripts/weather/conkyweather.txt
echo -n "* data not currently available" >> ~/conkyscripts/weather/conkyweather.txt
echo -n "*" >> ~/conkyscripts/weather/conkyweather.txt
fi
if [ $lineslen = 1 ]; then
echo -n "*" >> ~/conkyscripts/weather/conkyweather.txt
echo -n "*" >> ~/conkyscripts/weather/conkyweather.txt
echo -n "* data not currently available" >> ~/conkyscripts/weather/conkyweather.txt
echo -n "*" >> ~/conkyscripts/weather/conkyweather.txt
echo -n "*" >> ~/conkyscripts/weather/conkyweather.txt
fi
if [ $lineslen = 0 ]; then
echo -n "*" >> ~/conkyscripts/weather/conkyweather.txt
echo -n "*" >> ~/conkyscripts/weather/conkyweather.txt
echo -n "* data not currently available" >> ~/conkyscripts/weather/conkyweather.txt
echo -n "*" >> ~/conkyscripts/weather/conkyweather.txt
echo -n "*" >> ~/conkyscripts/weather/conkyweather.txt
echo -n "*" >> ~/conkyscripts/weather/conkyweather.txt
fi
#echo -n "*" >> ~/conkyscripts/weather/conkyweather.txt
#Remove temp files
rm ~/conkyscripts/weather/weathertmp*
The music information is provided using a program I wrote called audconk-git, the program runs as part of a bash script triggered by the Audacious song change add-on. It populates the artwork and song info from the song tag.
The bash script song_change.sh used with audconk-git is:
#!/bin/bash
#
# Runs immediately on a song change
#Provides tag info and art to conky. Notifies the user if the song has not yet been rated.
~/conkyscripts/audacious/audconk-git
audtool --current-song-filename > ~/.local/share/audconk/foo
grep -F -f ~/.local/share/audconk/foo ~/.local/share/archsimian/ratedabbr.txt > ~/.local/share/audconk/foo2
rm ~/.local/share/audconk/foo
cut -d , -f -1 ~/.local/share/audconk/foo2 > ~/.local/share/audconk/foo3
rm ~/.local/share/audconk/foo2
foo4=$(echo "($(cat ~/.local/share/audconk/foo3)-25569)*86400" | bc)
rm ~/.local/share/audconk/foo3
echo $(date -d @"$foo4" +%D) > ~/.local/share/audconk/lastplayed.txt
grep 'TIT1:' ~/.local/share/audconk/taginfofull.txt | cut -d\ -f2 > ~/.local/share/audconk/currgpnum.txt
audtool --current-song-tuple-data artist > ~/.local/share/audconk/artist.txt
audtool --current-song-tuple-data album > ~/.local/share/audconk/album.txt
audtool --current-song-tuple-data year > ~/.local/share/audconk/year.txt
audtool --current-song-tuple-data title > ~/.local/share/audconk/title.txt
#sleep 1
if [ "$(grep 'TIT1:' ~/.local/share/audconk/taginfofull.txt | cut -d\ -f2)" = "1" ]; then rm ~/.local/share/audconk/starrating.png;{(kdialog --title 'Needs a Rating' --passivepopup 'Enter win+num to rate this track' 4)}; fi
if [ "$(grep 'TIT1:' ~/.local/share/audconk/taginfofull.txt | cut -d\ -f2)" = "3" ]; then cp /home/lpc123/data/mmdata/ratetracks/five.png ~/.local/share/audconk/starrating.png; fi
if [ "$(grep 'TIT1:' ~/.local/share/audconk/taginfofull.txt | cut -d\ -f2)" = "4" ]; then cp /home/lpc123/data/mmdata/ratetracks/four.png ~/.local/share/audconk/starrating.png; fi
if [ "$(grep 'TIT1:' ~/.local/share/audconk/taginfofull.txt | cut -d\ -f2)" = "5" ]; then cp /home/lpc123/data/mmdata/ratetracks/threeonehalf.png ~/.local/share/audconk/starrating.png; fi
if [ "$(grep 'TIT1:' ~/.local/share/audconk/taginfofull.txt | cut -d\ -f2)" = "6" ]; then cp /home/lpc123/data/mmdata/ratetracks/three.png ~/.local/share/audconk/starrating.png; fi
if [ "$(grep 'TIT1:' ~/.local/share/audconk/taginfofull.txt | cut -d\ -f2)" = "7" ]; then cp /home/lpc123/data/mmdata/ratetracks/twoonehalf.png ~/.local/share/audconk/starrating.png; fi
if [ "$(grep 'TIT1:' ~/.local/share/audconk/taginfofull.txt | cut -d\ -f2)" = "8" ]; then cp /home/lpc123/data/mmdata/ratetracks/two.png ~/.local/share/audconk/starrating.png; fi
if [ "$(grep 'TIT1:' ~/.local/share/audconk/taginfofull.txt | cut -d\ -f2)" = "0" ]; then rm ~/.local/share/audconk/starrating.png; fi
The stock data is obtained using a bash script that runs on a raspberry pi 3 during market hours, using a free API obtained from Alphavantage. Here is the bash script:
#!/bin/bash
#Conky markets script for basic financial markets info - run every 15 mins during market hours
#Replace api shown with your own api assigned by Alphavantage
#Empty the contents of the previous mktreport file
truncate -s 0 /etc/openhab2/scripts/stocks/mktreportprea.txt
#Populate S&P 500 data into mktreportpre.txt
curl -s "https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol=SPY&apikey=1234567890123456" > /etc/openhab2/scripts/stocks/mw_texta.txt
grep "change percent" /etc/openhab2/scripts/stocks/mw_texta.txt > /etc/openhab2/scripts/stocks/mw_texta2.txt
sed 's/.*"://' /etc/openhab2/scripts/stocks/mw_texta2.txt > /etc/openhab2/scripts/stocks/mw_texta3.txt
grep -o '".*"' /etc/openhab2/scripts/stocks/mw_texta3.txt | tr -d '"' > /etc/openhab2/scripts/stocks/mw_texta4.txt
echo -n "US Large Caps............................" > /etc/openhab2/scripts/stocks/mktreportprea.txt; paste /etc/openhab2/scripts/stocks/mw_texta4.txt >> /etc/openhab2/scripts/stocks/mktreportprea.txt
#Populate small caps (IJR) data into mktreportpre.txt
curl -s "https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol=IJR&apikey=1234567890123456" > /etc/openhab2/scripts/stocks/mw_texta.txt
grep "change percent" /etc/openhab2/scripts/stocks/mw_texta.txt > /etc/openhab2/scripts/stocks/mw_texta2.txt
sed 's/.*"://' /etc/openhab2/scripts/stocks/mw_texta2.txt > /etc/openhab2/scripts/stocks/mw_texta3.txt
grep -o '".*"' /etc/openhab2/scripts/stocks/mw_texta3.txt | tr -d '"' > /etc/openhab2/scripts/stocks/mw_texta4.txt
echo -n "US Small Caps............................" >> /etc/openhab2/scripts/stocks/mktreportprea.txt; paste /etc/openhab2/scripts/stocks/mw_texta4.txt >> /etc/openhab2/scripts/stocks/mktreportprea.txt
#Populate international ex-us (VXUS) data into mktreportpre.txt
curl -s "https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol=VXUS&apikey=1234567890123456" > /etc/openhab2/scripts/stocks/mw_texta.txt
grep "change percent" /etc/openhab2/scripts/stocks/mw_texta.txt > /etc/openhab2/scripts/stocks/mw_texta2.txt
sed 's/.*"://' /etc/openhab2/scripts/stocks/mw_texta2.txt > /etc/openhab2/scripts/stocks/mw_texta3.txt
grep -o '".*"' /etc/openhab2/scripts/stocks/mw_texta3.txt | tr -d '"' > /etc/openhab2/scripts/stocks/mw_texta4.txt
echo -n "Ex-US Stocks.............................." >> /etc/openhab2/scripts/stocks/mktreportprea.txt; paste /etc/openhab2/scripts/stocks/mw_texta4.txt >> /etc/openhab2/scripts/stocks/mktreportprea.txt
#Populate intermediate treasuries (VGIT) data into mktreportpre.txt
curl -s "https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol=VGIT&apikey=1234567890123456" > /etc/openhab2/scripts/stocks/mw_texta.txt
grep "change percent" /etc/openhab2/scripts/stocks/mw_texta.txt > /etc/openhab2/scripts/stocks/mw_texta2.txt
sed 's/.*"://' /etc/openhab2/scripts/stocks/mw_texta2.txt > /etc/openhab2/scripts/stocks/mw_texta3.txt
grep -o '".*"' /etc/openhab2/scripts/stocks/mw_texta3.txt | tr -d '"' > /etc/openhab2/scripts/stocks/mw_texta4.txt
echo -n "Intermediate Term Treasuries...." >> /etc/openhab2/scripts/stocks/mktreportprea.txt; paste /etc/openhab2/scripts/stocks/mw_texta4.txt >> /etc/openhab2/scripts/stocks/mktreportprea.txt
#Populate long treasuries (TLT) data into mktreportpre.txt
curl -s "https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol=TLT&apikey=1234567890123456" > /etc/openhab2/scripts/stocks/mw_texta.txt
grep "change percent" /etc/openhab2/scripts/stocks/mw_texta.txt > /etc/openhab2/scripts/stocks/mw_texta2.txt
sed 's/.*"://' /etc/openhab2/scripts/stocks/mw_texta2.txt > /etc/openhab2/scripts/stocks/mw_texta3.txt
grep -o '".*"' /etc/openhab2/scripts/stocks/mw_texta3.txt | tr -d '"' > /etc/openhab2/scripts/stocks/mw_texta4.txt
echo -n "Long Term Treasuries.................." >> /etc/openhab2/scripts/stocks/mktreportprea.txt; paste /etc/openhab2/scripts/stocks/mw_texta4.txt >> /etc/openhab2/scripts/stocks/mktreportprea.txt
paste /etc/openhab2/scripts/stocks/mktreportprea.txt > /etc/openhab2/scripts/stocks/mktreport.txt
sed -r 's/.{1}$//' /etc/openhab2/scripts/stocks/mktreport.txt
awk 'BEGIN{RS="^$";ORS="";getline;gsub("\r","");print>ARGV[1]}' /etc/openhab2/scripts/stocks/mktreport.txt
Last edited by zpg443 (2019-09-02 17:29:17)
Offline