Welcome!
Important information
-- Spectre and Meltdown vulnerabilities
-- Change in MX sources

News
-- MX Linux on social media: here
-- Mepis support still here

Current releases
-- MX-17.1 Final release info here
-- antiX-17 release info here

New users
-- Please read this first, and don't forget to add system and hardware information to posts!
-- Here are the Forum Rules

Conky Helps and Stuff

Post Reply
Message
Author
User avatar
male
Forum Regular
Forum Regular
Posts: 195
Joined: Thu Jan 23, 2014 8:38 am

Re: Conky Helps and Stuff

#41 Post by male » Fri May 25, 2018 8:19 am

asqwerth wrote:.. but generally conky 1.10 can read old syntax (ver 1.9) conky scripts.
Even that he can't do correctly as long as it's not a pure text-conky. :mad:
Male is the capital of the Maldives and its wonderful people.

User avatar
asqwerth
Forum Veteran
Forum Veteran
Posts: 3084
Joined: Sun May 27, 2007 5:37 am

Re: Conky Helps and Stuff

#42 Post by asqwerth » Fri May 25, 2018 8:25 am

male wrote:
Fri May 25, 2018 8:19 am
asqwerth wrote:.. but generally conky 1.10 can read old syntax (ver 1.9) conky scripts.
Even that he can't do correctly as long as it's not a pure text-conky. :mad:
Could you give an example of something that is NOT pure text-conky?
Desktop: Intel i5-4460, 16GB RAM, Intel integrated graphics
Clevo N130WU-based Ultrabook: Intel i7-8550U (Kaby Lake R), 16GB RAM, Intel integrated graphics (UEFI)
ASUS X42D laptop: AMD Phenom II, 6GB RAM, Mobility Radeon HD 5400

User avatar
male
Forum Regular
Forum Regular
Posts: 195
Joined: Thu Jan 23, 2014 8:38 am

Re: Conky Helps and Stuff

#43 Post by male » Fri May 25, 2018 4:20 pm

Example of an old test series with Sector11
1_10vers1_9.jpg
We did not manage to conjure round corners on the conky1.10, which works fine with conky 1.9 :frown:

more negative points:
- the right click on the Conky window to display the desktop menu is ignored
- the pre_exec command has been removed (well, I can do it with texeci 86400 ... replace )
I don't want to talk about the many Lua scripts for displaying graphs, rings, etc. pp. They would all have to be rewritten. :blindfold:
You do not have the required permissions to view the files attached to this post.
Male is the capital of the Maldives and its wonderful people.

User avatar
KoO
Forum Regular
Forum Regular
Posts: 242
Joined: Fri Feb 10, 2017 1:21 am

Re: Conky Helps and Stuff

#44 Post by KoO » Sat May 26, 2018 11:35 pm

male wrote:
Mon May 21, 2018 5:31 am
KoO wrote: Have you seen Sector11 conky test script looks interesting.
Yeah, I know almost all about him :bagoverhead:

Fluxbox has a pseudo transparency, which can be done by right-clicking through the Fluxbox settings and right - left keystroke again.
If you want to have a real transparency, then the installation of the package compton is recommended.

Congratulations on solving your problem. :happy:
@male just been playing around with xcompmgr for transparency seems to be working ok too. Just need to adjust settings to suit.

https://www.linux.com/blog/fluxbox-tran ... y-xcompmgr
Da Main Box .. Antix 17.1 (4.17.4) i3 Intel Xeon E3-1241 v3 , 16gb HyperX , Samsung EVO M2 250 GB , Samsung EVO SSD 500 GB , GTX 970
Lappy .. Lenovo T430 AntiX17.1 (4.17.4) i3 ,blowdozs8.1 , i5 +4000 , 8gb , Samsung EVO 860 250 GB , 1TB HGST

User avatar
male
Forum Regular
Forum Regular
Posts: 195
Joined: Thu Jan 23, 2014 8:38 am

Re: Conky Helps and Stuff

#45 Post by male » Sun May 27, 2018 2:23 pm

@KoO ;)

Code: Select all

apt show compton
Package: compton
Version: 0.1~beta2+20150922-1
Priority: optional
Section: x11
Maintainer: Scott Leggett <scott@sl.id.au>
Installed-Size: 286 kB
Depends: libc6 (>= 2.15), libconfig9, libdbus-1-3 (>= 1.9.14), libgl1-mesa-glx | libgl1, libpcre3, libx11-6, libxcomposite1 (>= 1:0.3-1), libxdamage1 (>= 1:1.1), libxext6 (>= 2:1.3.0), libxfixes3, libxinerama1, libxrandr2 (>= 4.3), libxrender1
Homepage: https://github.com/chjj/compton
Tag: role::program, x11::composite-manager
Download-Size: 106 kB
APT-Manual-Installed: yes
APT-Sources: http://httpredir.debian.org/debian unstable/main i386 Packages
Description: compositor for X11, based on xcompmgr
 compton is a compositor for X11, based on xcompmgr. In addition to shadows,
 fading and translucency, compton implements window frame opacity control,
 inactive window transparency, and shadows on argb windows.
Male is the capital of the Maldives and its wonderful people.

User avatar
KoO
Forum Regular
Forum Regular
Posts: 242
Joined: Fri Feb 10, 2017 1:21 am

Re: Conky Helps and Stuff

#46 Post by KoO » Mon May 28, 2018 2:30 am

@male
okey dokey lol I get the message use compton. :p
Da Main Box .. Antix 17.1 (4.17.4) i3 Intel Xeon E3-1241 v3 , 16gb HyperX , Samsung EVO M2 250 GB , Samsung EVO SSD 500 GB , GTX 970
Lappy .. Lenovo T430 AntiX17.1 (4.17.4) i3 ,blowdozs8.1 , i5 +4000 , 8gb , Samsung EVO 860 250 GB , 1TB HGST

User avatar
male
Forum Regular
Forum Regular
Posts: 195
Joined: Thu Jan 23, 2014 8:38 am

Re: Conky Helps and Stuff

#47 Post by male » Wed Jun 13, 2018 11:28 am

Since I just stumbled over it again...

A pure text-conky:
sensors_meine.jpg
this is displayed in the syntax of conky1.9 and in the syntax of conky1.10 without problems
sensors9

Code: Select all

#Idee von hier: https://forums.bunsenlabs.org/viewtopic.php?pid=40052#p40052
###  Begin Window Settings  ##################################################
# Create own window instead of using desktop (required in nautilus)
own_window yes
own_window_type normal
own_window_transparent yes
own_window_hints undecorated,below,skip_taskbar,skip_pager
#own_window_colour black
own_window_class Conky
own_window_title Sensors

# Use the Xdbe extension? (eliminates flicker)
# It is highly recommended to use own window with this one
# so double buffer won't be so big.
double_buffer yes

### ARGB can be used for real transparency
### NOTE that a composite manager is required for real transparency.
### This option will not work as desired (in most cases) in conjunction with
### own_window_type override
own_window_argb_visual yes

### When ARGB visuals are enabled, this use this to modify the alpha value
### Valid range is 0-255, where 0 is 0% opacity, and 255 is 100% opacity.
#own_window_argb_value 200

minimum_size 80 0 ## width, height
#maximum_width 1600  ## width, usually a good idea to be '=' or '>' minimum width

gap_x 5 # left-right
gap_y 45 # up-down

#alignment top_middle
#alignment top_left
#alignment top_right
#alignment middle_left
#alignment middle_right
alignment bottom_left
#alignment bottom_right
###################################################  End Window Settings  ###
###  Font Settings  #########################################################
# Use Xft (anti-aliased font and stuff)
use_xft yes
xftfont monofur:size=10

# Alpha of Xft font. Must be a value at or between 1 and 0 ###
xftalpha 0
# Force UTF8? requires XFT ###
override_utf8_locale yes

draw_shades no
default_shade_color black

draw_outline no # amplifies text if yes
default_outline_color black

uppercase no
######################################################  End Font Settings  ###
###  Color Settings  #########################################################
default_shade_color grey
default_outline_color black

default_color DCDCDC #220 220 220    Gainsboro
color0 8FBC8F #143 188 143    DarkSeaGreen
color1 778899 #119 136 153    LightSlateGray #
color2 FF8C00 #255 140   0    DarkOrange
color3 7FFF00 #127 255   0    Chartreuse
color4 FFA07A #255 160 122    LightSalmon
color5 FFDEAD #255 222 173    NavajoWhite    #
color6 00BFFF #  0 191 255    DeepSkyBlue
color7 00FFFF #  0 255 255    Cyan
color8 FFFFFF #               Withe          #FFFF00 #255 255   0    Yellow
color9 B22222 #178  34  34    FireBrick
#####################################################  End Color Settings  ###
###  Borders Section  ########################################################
draw_borders no
# Stippled borders?
stippled_borders 0
# border margins
border_inner_margin 0
border_outer_margin 0
# border width
border_width 0
# graph borders
draw_graph_borders no #yes
default_graph_size 15 40
#####################################################  End Borders Secton  ###
###  Miscellaneous Section  ##################################################

# Boolean value, if true, Conky will be forked to background when started.
background no

# Adds spaces around certain objects to stop them from moving other things
# around, this only helps if you are using a mono font
# Options: right, left or none
use_spacer none

# Default and Minimum size is 256 - needs more for single commands that
# "call" a lot of text IE: bash scripts
text_buffer_size 256

# Subtract (file system) buffers from used memory?
no_buffers yes

# change GiB to G and MiB to M
short_units yes

# Like it says, ot pads the decimals on % values
# doesn't seem to work since v1.7.1
pad_percents 2

update_interval 1

TEXT
${alignc}${color5}Sensors
${color1}${swapbar 0}${color}
${color5}${alignc}TEMPS
${color6}CPU${color}    ${hwmon 2 temp 2}°
${color6}MB ${color}    ${hwmon 0 temp 2}°
${color2}GPU${color}    ${hwmon 1 temp 1}°
${color6}HDD${color}    ${execi 600 hddtemp -n /dev/sda}° 
${color1}${swapbar 0}${color}
${alignc}${color5}CPU MHz
${color6}1${color}      ${freq 1}
${color6}2${color}      ${freq 2}
${color6}3${color}      ${freq 3}
${color6}4${color}      ${freq 4}
${color1}${swapbar 0}${color}
${alignc}${color5}FAN${color}
${color6}CPU Fan ${color5}${hwmon 0 fan 1}
${color6}CHASS 1 ${color5}${hwmon 0 fan 2}
${color6}CHASS 2 ${color5}${hwmon 0 fan 3}
${color6}POWER   ${color5}${hwmon 0 fan 4}
${color1}${swapbar 0}${color}
${alignc}${color5}CPU %
${alignc}${color6}1${color} ${if_match ${cpu cpu0} < 10}  ${cpu cpu0}\
${else}${if_match ${cpu cpu0} < 100} ${cpu cpu0}\
${else}${color9}${cpu cpu0}${color}${endif}${endif}
${alignc}${color6}2${color} ${if_match ${cpu cpu1} < 10}  ${cpu cpu1}\
${else}${if_match ${cpu cpu1} < 100} ${cpu cpu1}\
${else}${color9}${cpu cpu1}${color}${endif}${endif}
${alignc}${color6}3${color} ${if_match ${cpu cpu2} < 10}  ${cpu cpu2}\
${else}${if_match ${cpu cpu2} < 100} ${cpu cpu2}\
${else}${color9}${cpu cpu2}${color}${endif}${endif}
${alignc}${color6}4${color} ${if_match ${cpu cpu3} < 10}  ${cpu cpu3}\
${else}${if_match ${cpu cpu3} < 100} ${cpu cpu3}\
${else}${color9}${cpu cpu3}${color}${endif}${endif}
${color1}${swapbar 0}${color}
${alignc}${color5}Memory${color}
${alignc}${mem}${color6}/${color}${memmax}
after conversion

Code: Select all

lua convert.lua sensors9 sensors10
sensors10

Code: Select all

conky.config = {
--Idee von hier: https://forums.bunsenlabs.org/viewtopic.php?pid=40052#p40052
--##  Begin Window Settings  ##################################################
-- Create own window instead of using desktop (required in nautilus)
	own_window = true,
	own_window_type = 'normal',
	own_window_transparent = true,
	own_window_hints = 'undecorated,below,skip_taskbar,skip_pager',
--own_window_colour black
	own_window_class = 'Conky',
	own_window_title = 'Sensors',

-- Use the Xdbe extension? (eliminates flicker)
-- It is highly recommended to use own window with this one
-- so double buffer won't be so big.
	double_buffer = true,

--## ARGB can be used for real transparency
--## NOTE that a composite manager is required for real transparency.
--## This option will not work as desired (in most cases) in conjunction with
--## own_window_type override
	own_window_argb_visual = true,

--## When ARGB visuals are enabled, this use this to modify the alpha value
--## Valid range is 0-255, where 0 is 0% opacity, and 255 is 100% opacity.
own_window_argb_value = 200,

	minimum_width = 80, minimum_height = 0,--# width, height
--maximum_width 1600  ## width, usually a good idea to be '=' or '>' minimum width

	gap_x = 15,-- left-right
	gap_y = 180,-- up-down

--alignment top_middle
alignment = 'top_left',
--alignment top_right
--alignment = 'middle_left',
--alignment middle_right
--alignment = 'bottom_left',
--alignment bottom_right
--##################################################  End Window Settings  ###
--##  Font Settings  #########################################################
-- Use Xft (anti-aliased font and stuff)
	use_xft = true,
	font = 'monofur:size=10',

-- Alpha of Xft font. Must be a value at or between 1 and 0 ###
	xftalpha = 0,
-- Force UTF8? requires XFT ###
	override_utf8_locale = true,

	draw_shades = false,
	default_shade_color = 'black',

	draw_outline = false,-- amplifies text if yes
	default_outline_color = 'black',

	uppercase = false,
--#####################################################  End Font Settings  ###
--##  Color Settings  #########################################################
	default_shade_color = 'grey',
	default_outline_color = 'black',

	default_color = '#DCDCDC',--220 220 220    Gainsboro
	color0 = '#8FBC8F',--143 188 143    DarkSeaGreen
	color1 = '#778899',--119 136 153    LightSlateGray #
	color2 = '#FF8C00',--255 140   0    DarkOrange
	color3 = '#7FFF00',--127 255   0    Chartreuse
	color4 = '#FFA07A',--255 160 122    LightSalmon
	color5 = '#FFDEAD',--255 222 173    NavajoWhite    #
	color6 = '#00BFFF',--  0 191 255    DeepSkyBlue
	color7 = '#00FFFF',--  0 255 255    Cyan
	color8 = '#FFFFFF',--               Withe          #FFFF00 #255 255   0    Yellow
	color9 = '#B22222',--178  34  34    FireBrick
--####################################################  End Color Settings  ###
--##  Borders Section  ########################################################
	draw_borders = false,
-- Stippled borders?
	stippled_borders = 0,
-- border margins
	border_inner_margin = 0,
	border_outer_margin = 0,
-- border width
	border_width = 0,
-- graph borders
	draw_graph_borders = false,--yes
	default_graph_width = 15, default_graph_height = 40,
--####################################################  End Borders Secton  ###
--##  Miscellaneous Section  ##################################################

-- Boolean value, if true, Conky will be forked to background when started.
	background = false,

-- Adds spaces around certain objects to stop them from moving other things
-- around, this only helps if you are using a mono font
-- Options: right, left or none
	use_spacer = 'none',

-- Default and Minimum size is 256 - needs more for single commands that
-- "call" a lot of text IE: bash scripts
	text_buffer_size = 256,

-- Subtract (file system) buffers from used memory?
	no_buffers = true,

-- change GiB to G and MiB to M
	short_units = true,

-- Like it says, ot pads the decimals on % values
-- doesn't seem to work since v1.7.1
	pad_percents = 2,

	update_interval = 1,

};

conky.text = [[
${color8}${alignc}${kernel}
${color1}${swapbar 1}${color}
${color8}${alignc}TEMPS
${color6}CPU${color}    ${hwmon 1 temp 2}°
${color6}MB ${color}    ${hwmon 0 temp 2}°
${color2}GPU${color}    ${hwmon 2 temp 1}°
${color6}HDD${color}    ${execi 600 hddtemp -n /dev/sda}° 
${color1}${swapbar 0}${color}
${alignc}${color8}CPU MHz
${alignc}${color6}1${color}    ${freq 1}
${alignc}${color6}2${color}    ${freq 2}
${alignc}${color6}3${color}    ${freq 3}
${alignc}${color6}4${color}    ${freq 4}
${color1}${swapbar 0}${color}
${alignc}${color8}FAN${color}
${color6}CPU Fan ${color8}${hwmon 0 fan 1}
${color6}CHASS 1 ${color8}${hwmon 0 fan 2}
${color6}CHASS 2 ${color8}${hwmon 0 fan 3}
${color6}POWER  ${color8}${hwmon 0 fan 4}
${color1}${swapbar 0}${color}
${alignc}${color8}CPU %
${alignc}${color6}1${color} ${if_match ${cpu cpu0} < 10}  ${cpu cpu0}\
${else}${if_match ${cpu cpu0} < 100} ${cpu cpu0}\
${else}${color9}${cpu cpu0}${color}${endif}${endif}
${alignc}${color6}2${color} ${if_match ${cpu cpu1} < 10}  ${cpu cpu1}\
${else}${if_match ${cpu cpu1} < 100} ${cpu cpu1}\
${else}${color9}${cpu cpu1}${color}${endif}${endif}
${alignc}${color6}3${color} ${if_match ${cpu cpu2} < 10}  ${cpu cpu2}\
${else}${if_match ${cpu cpu2} < 100} ${cpu cpu2}\
${else}${color9}${cpu cpu2}${color}${endif}${endif}
${alignc}${color6}4${color} ${if_match ${cpu cpu3} < 10}  ${cpu cpu3}\
${else}${if_match ${cpu cpu3} < 100} ${cpu cpu3}\
${else}${color9}${cpu cpu3}${color}${endif}${endif}
${color1}${swapbar 0}${color}
${alignc}${color8}Used${color}
${alignc}${fs_used /}${color6}/${color}${fs_size /}
${color1}${swapbar 0}${color}
${alignc}${color8}Memory${color}
${alignc}${mem}${color6}/${color}${memmax}
${color1}${swapbar 1}${color}
]];
You do not have the required permissions to view the files attached to this post.
Male is the capital of the Maldives and its wonderful people.

User avatar
male
Forum Regular
Forum Regular
Posts: 195
Joined: Thu Jan 23, 2014 8:38 am

Re: Conky Helps and Stuff

#48 Post by male » Wed Jun 13, 2018 11:37 am

a nice conky of my friend loutch, who uses a LUA script from @londonali1010 to display the rings
works only with the syntax of conky1.9 (although I can also convert it to the syntax of conky1.10)
tousLOUTCH.jpg
tous9

Code: Select all

#pkill -xf "conky -c /media/DATEN/francescoPC/Conky/weather/loutch/bar/tous" &
#aufbereitet Juli 2017
background yes
use_xft yes
xftfont Sans:size=10
xftalpha 1
update_interval 1.0
total_run_times 0
own_window yes
own_window_transparent no  #yes
#own_window_color 000000
own_window_argb_visual yes
own_window_argb_value 0
own_window_type normal
own_window_hints undecorated,below,skip_taskbar,skip_pager
double_buffer yes
minimum_size 1150
maximum_width 1150
text_buffer_size 1024
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders no
default_color white
default_outline_color white
alignment top_left
gap_x 330
gap_y 10
no_buffers yes
uppercase no
cpu_avg_samples 2
override_utf8_locale yes
#
color1 white
#
color2 orange
#
color3 6495ee
#
color4 green
#cornflowerblue
color5 red
color6 yellow
# Lua Load
#lua_load ~/.conky/draw_bg.lua
#lua_draw_hook_pre draw_bg
#lua_load ~/.conky/conky_grey.lua
#lua_draw_hook_pre main
lua_load /media/DATEN/francescoPC/Conky/weather/loutch/bar/tous.lua 
lua_draw_hook_post main_rings 
#chemin du .lua
#ordre de lancement si demande de plusieurs lua
#
TEXT


${color4}${goto 68}${cpu cpu0}%${Goto 188}${cpu cpu1}% ${color4}${goto 308}${memperc}% ${color4}${goto 430}${fs_used_perc /}% ${color4}${goto 550}${fs_used_perc /media/Distris}% ${color4}${goto 660}${downspeedf enp2s0}k/s ${color5}${goto 780}${upspeedf enp2s0}k/s

${color3}${goto 60}${voffset -10}Core 1 ${color3}${goto 180}Core 2 ${color3}${goto 299} Ram ${color3}${goto 410} /Root ${color3}${goto 530} /Distris ${color3}${goto 650} /Down ${color3}${goto 780} /Up${goto 885}${voffset 15}${color ff8000}${font Sans:size=12}${time %H}${color 00ff00}${time :%M}${color 6495EE}${time :%S}
${font Sans:size=10}${voffset -10}${goto 415}${color2}${fs_used /}${goto 535}${fs_used /media/Distris}
${color5}${goto 68}${voffset 4}${font Sans:size=10}${exec expr `cat /sys/class/hwmon/hwmon1/temp2_input` / 1000}°C${color5}${goto 188}${exec expr `cat /sys/class/hwmon/hwmon1/temp5_input` / 1000}°C ${color5}${goto 312}${swapperc}% ${goto 415}${color2}${fs_size /}${goto 535}${fs_size /media/Distris}${goto 655}${color4}${totaldown enp2s0}${goto 775}${color5}${totalup enp2s0}


#${color1}PROCESSUS ${goto 400}INTERNET ${goto 700} GPU ${goto 890} ORDINATEUR
#${color3}NOM ${goto 210}CPU ${goto 260}RAM ${color3}${goto 340}URL NB PORTS OUVERTS:${tcp_portmon 1 65535 count}
#${color1} ${top name 1} ${goto 200}${top cpu 1} ${goto 250}${top mem 1} ${color2}${goto 340}${tcp_portmon 1 65535 rip 1}${goto 455}${tcp_portmon 1 65535 rport 1} ${goto 600}${color3}Carte Graphique: ${color2}${execi 1800 nvidia-settings -q gpus |grep '0] (' | cut -d '(' -f 2,2 | sed -e 's/.\{1\}$//'} ${goto 860}${font Sans:size=8}${color3}Kernel: ${color2}3.8.18
#${color1} ${top name 2} ${goto 200}${top cpu 2} ${goto 250}${top mem 2} ${color2}${goto 340}${tcp_portmon 1 65535 rip 2}${goto 455}${tcp_portmon 1 65535 rport 2} ${goto 600}${color3}Pilote NVidia: ${color2}${execi 1800 nvidia-settings -q NvidiaDriverVersion -t} ${goto 860}${color3}Uptime:${color2} $uptime
#${color1} ${top name 3} ${goto 200}${top cpu 3} ${goto 250}${top mem 3} ${color2}${goto 340}${tcp_portmon 1 65535 rip 3}${goto 455}${tcp_portmon 1 65535 rport 3} ${goto 600}${color3}Température GPU: ${color2}${exec nvidia-settings -q gpucoretemp | grep '):' | awk '{print $4}'}°C ${goto 860}${color3}KDE: ${color2}${exec expr ` konsole -v | grep KDE | cut -d":" -f2 | sed s/" "/""/`}
#${color1} ${top name 4} ${goto 200}${top cpu 4} ${goto 250}${top mem 4} ${color2}${goto 340}${tcp_portmon 1 65535 rip 4}${goto 455}${tcp_portmon 1 65535 rport 4} ${goto 600}${color3}Fréquence gpu: ${color2}${execi 60 nvidia-settings -query 0/GPUCurrentClockFreqs |grep Attribute |awk '{print $4}' |cut -c1-7} Mhz
#${color1} ${top name 5} ${goto 200}${top cpu 5} ${goto 250}${top mem 5} ${color2}${goto 340}${tcp_portmon 1 65535 rip 5}${goto 455}${tcp_portmon 1 65535 rport 5} 
tous.lua

Code: Select all

--[[
Ring Meters by londonali1010 (2009)

This script draws percentage meters as rings. It is fully customisable; all options are described in the script.

IMPORTANT: if you are using the 'cpu' function, it will cause a segmentation fault if it tries to draw a ring straight away. The if statement on line 145 uses a delay to make sure that this doesn't happen. It calculates the length of the delay by the number of updates since Conky started. Generally, a value of 5s is long enough, so if you update Conky every 1s, use update_num>5 in that if statement (the default). If you only update Conky every 2s, you should change it to update_num>3; conversely if you update Conky every 0.5s, you should use update_num>10. ALSO, if you change your Conky, is it best to use "killall conky; conky" to update it, otherwise the update_num will not be reset and you will get an error.

To call this script in Conky, use the following (assuming that you save this script to ~/scripts/rings.lua):
lua_load ~/scripts/rings-v1.2.lua
lua_draw_hook_pre ring_stats

Changelog:
+ v1.2 -- Added option for the ending angle of the rings (07.10.2009)
+ v1.1 -- Added options for the starting angle of the rings, and added the "max" variable, to allow for variables that output a numerical value rather than a percentage (29.09.2009)
+ v1.0 -- Original release (28.09.2009)
]]

require 'cairo'

function conky_main_rings()

if (os.date("%l"))=='12' then
heure=(os.date("%M")/60)
else
heure=(os.date("%l"))+(os.date("%M")/60)
end

-- START PARAMETERS HERE
local rings_settings={

{
name="cpu",
arg="cpu0",
max=100,
xc=80,
yc=80,
radius=57,
thickness=5,
gap_sectors=2,
sectors=10,
bg_colour1={{0,0x999999,0},{0.5,0x999999,0.3}, {1,0x999999,0}},
fg_colour1={{0,0x00FF00,0},{0.5,0x00FF00,1}, {1,0x00FF00,0}},
fg_colour2={{0,0X00FF00,0},{0.5,0x00FF00,1}, {1,0x00FF00,0}},
bd_colour1={{0,0X00FF00,1},{0.5,0x00FF00,1}, {1,0x00FF00,1}},
},
{
name="exec",
arg="exec expr `cat /sys/class/hwmon/hwmon1/temp2_input` / 1000",
max=100,
xc=80,
yc=80,
radius=53,
thickness=5,
gap_sectors=2,
sectors=10,
bg_colour1={{0,0x999999,0},{0.5,0x999999,0.3}, {1,0x999999,0}},
fg_colour1={{0,0xFF0000,0},{0.5,0xFF0000,1}, {1,0xFF0000,0}},
fg_colour2={{0,0XFF0000,0},{0.5,0xFF0000,1}, {1,0xFF0000,0}},
bd_colour1={{0,0XFF0000,1},{0.5,0xFF0000,1}, {1,0xFF0000,1}},
},
{
name="cpu",
arg="cpu3",
max=100,
xc=200,
yc=80,
radius=57,
thickness=5,
gap_sectors=2,
sectors=10,
bg_colour1={{0,0x999999,0},{0.5,0x999999,0.3}, {1,0x999999,0}},
fg_colour1={{0,0x00FF00,0},{0.5,0x00FF00,1}, {1,0x00FF00,0}},
fg_colour2={{0,0X00FF00,0},{0.5,0x00FF00,1}, {1,0x00FF00,0}},
bd_colour1={{0,0X00FF00,1},{0.5,0x00FF00,1}, {1,0x00FF00,1}},
},
{
name="exec",
arg="exec expr `cat /sys/class/hwmon/hwmon1/temp5_input` / 1000",
max=100,
xc=200,
yc=80,
radius=53,
thickness=5,
gap_sectors=2,
sectors=10,
bg_colour1={{0,0x999999,0},{0.5,0x999999,0.3}, {1,0x999999,0}},
fg_colour1={{0,0xFF0000,0},{0.5,0xFF0000,1}, {1,0xFF0000,0}},
fg_colour2={{0,0XFF0000,0},{0.5,0xFF0000,1}, {1,0xFF0000,0}},
bd_colour1={{0,0XFF0000,1},{0.5,0xFF0000,1}, {1,0xFF0000,1}},
},
{
name="memperc",
arg="",
max=100,
xc=320,
yc=80,
radius=57,
thickness=5,
gap_sectors=2,
sectors=10,
bg_colour1={{0,0x999999,0},{0.5,0x999999,0.3}, {1,0x999999,0}},
fg_colour1={{0,0x00FF00,0},{0.5,0x00FF00,1}, {1,0x00FF00,0}},
fg_colour2={{0,0X00FF00,0},{0.5,0x00FF00,1}, {1,0x00FF00,0}},
bd_colour1={{0,0X00FF00,1},{0.5,0x00FF00,1}, {1,0x00FF00,1}},
},
{
name="swapperc",
arg="",
max=100,
xc=320,
yc=80,
radius=53,
thickness=5,
gap_sectors=2,
sectors=10,
bg_colour1={{0,0x999999,0},{0.5,0x999999,0.3}, {1,0x999999,0}},
fg_colour1={{0,0xFF0000,0},{0.5,0xFF0000,1}, {1,0xFF0000,0}},
fg_colour2={{0,0XFF0000,0},{0.5,0xFF0000,1}, {1,0xFF0000,0}},
bd_colour1={{0,0XFF0000,1},{0.5,0xFF0000,1}, {1,0xFF0000,1}},
},
{
name="fs_used_perc",
arg="/",
max=100,
xc=440,
yc=80,
radius=57,
thickness=5,
gap_sectors=2,
sectors=10,
bg_colour1={{0,0x999999,0},{0.5,0x999999,0.3}, {1,0x999999,0}},
fg_colour1={{0,0x00FF00,0},{0.5,0x00FF00,1}, {1,0x00FF00,0}},
fg_colour2={{0,0X00FF00,0},{0.5,0x00FF00,1}, {1,0x00FF00,0}},
bd_colour1={{0,0X00FF00,1},{0.5,0x00FF00,1}, {1,0x00FF00,1}},
},
{
name="fs_used_perc",
arg="/media/Distris",
max=100,
xc=560,
yc=80,
radius=57,
thickness=5,
gap_sectors=2,
sectors=10,
bg_colour1={{0,0x999999,0},{0.5,0x999999,0.3}, {1,0x999999,0}},
fg_colour1={{0,0x00FF00,0},{0.5,0x00FF00,1}, {1,0x00FF00,0}},
fg_colour2={{0,0X00FF00,0},{0.5,0x00FF00,1}, {1,0x00FF00,0}},
bd_colour1={{0,0X00FF00,1},{0.5,0x00FF00,1}, {1,0x00FF00,1}},
},
{
name="downspeedf",
arg="enp2s0",
max=500,
xc=680,
yc=80,
radius=57,
thickness=5,
gap_sectors=2,
sectors=10,
bg_colour1={{0,0x999999,0},{0.5,0x999999,0.3}, {1,0x999999,0}},
fg_colour1={{0,0x00FF00,0},{0.5,0x00FF00,1}, {1,0x00FF00,0}},
fg_colour2={{0,0X00FF00,0},{0.5,0x00FF00,1}, {1,0x00FF00,0}},
bd_colour1={{0,0X00FF00,1},{0.5,0x00FF00,1}, {1,0x00FF00,1}},
},
{
name="upspeedf",
arg="enp2s0",
max=100,
xc=800,
yc=80,
radius=57,
thickness=5,
gap_sectors=2,
sectors=10,
bg_colour1={{0,0x999999,0},{0.5,0x999999,0.3}, {1,0x999999,0}},
fg_colour1={{0,0xFF0000,0},{0.5,0xFF0000,1}, {1,0xFF0000,0}},
fg_colour2={{0,0XFF0000,0},{0.5,0xFF0000,1}, {1,0xFF0000,0}},
bd_colour1={{0,0XFF0000,1},{0.5,0xFF0000,1}, {1,0xFF0000,1}},
},
{
name="",
arg=heure,
max=11.99,
xc=920,
yc=80,
radius=57,
thickness=5,
gap_sectors=5,
sectors=12,
bg_colour1={{0,0x999999,0},{0.5,0x999999,0.3}, {1,0x999999,0}},
fg_colour1={{0,0xFF8000,0},{0.5,0xFF8000,1}, {1,0xFF8000,0}},
fg_colour2={{0,0XFF8000,0},{0.5,0xFF8000,1}, {1,0xFF8000,0}},
bd_colour1={{0,0XFF8000,1},{0.5,0xFF8000,1}, {1,0xFF8000,1}},
},
{
name="",
arg=(os.date("%M"))+(os.date("%S")/60),
max=59.99,
xc=920,
yc=80,
radius=50,
thickness=5,
start_angle=0,
end_angle=360,
gap_sectors=1,
sectors=60,
fill_sector=false,
bg_colour1={{0,0x999999,0},{0.5,0x999999,0.3}, {1,0x999999,0}},
fg_colour1={{0,0X00FF00,0},{0.5,0X00FF00,1}, {1,0X00FF00,1}},
fg_colour2={{0,0x00FF00,0},{0.5,0x00FF00,1}, {1,0x00FF00,0}},
bd_colour1={{0,0X00FF00,1},{0.5,0x00FF00,1}, {1,0x00FF00,1}},
},
{
name="time",
arg="%S",
max=60,
xc=920,
yc=80,
radius=43,
thickness=5,
start_angle=0,
end_angle=360,
sectors=60,
fill_sector=false,
bg_colour1={{0,0x999999,0},{0.5,0x999999,0.3}, {1,0x999999,0}},
fg_colour1={{1,0X6495EE,1},{1,0x6495EE,1}, {1,0x6495EE,1}},
fg_colour2={{1,0X6495EE,1},{1,0x6495EE,1}, {1,0x6495EE,1}},
bd_colour1={{0,0X6495EE,1},{0.5,0x6495EE,1}, {1,0x6495EE,1}},
},

}

--END OF PARAMETERS HERE

--main function

--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)

if tonumber(conky_parse('${updates}'))>3 then
for i in pairs(rings_settings) do
draw_ring(cr,rings_settings[i])
end
end

cairo_destroy(cr)
end



function draw_ring(cr, t)

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


local function calc_delta(tcol1,tcol2)
--calculate deltas P R G B A to table_colour 1

for x = 1, #tcol1 do
tcol1[x].dA = 0
tcol1[x].dP = 0
tcol1[x].dR = 0
tcol1[x].dG = 0
tcol1[x].dB = 0
if tcol2~=nil and #tcol1 == #tcol2 then
local r1,g1,b1,a1 = rgba_to_r_g_b_a(tcol1[x])
local r2,g2,b2,a2 = rgba_to_r_g_b_a(tcol2[x])
tcol1[x].dP = (tcol2[x][1]-tcol1[x][1])/t.sectors
tcol1[x].dR = (r2-r1)/t.sectors
tcol1[x].dG = (g2-g1)/t.sectors
tcol1[x].dB = (b2-b1)/t.sectors
tcol1[x].dA = (a2-a1)/t.sectors

end
end

return tcol1
end

--check values
local function setup(t)
if t.name==nil and t.arg==nil then
print ("No input values ... use parameters 'name'" +
" with 'arg' or only parameter 'arg' ")
return
end

if t.max==nil then
print ("No maximum value defined, use 'max'")
print ("for name=" .. t.name)
print ("with arg=" .. t.arg)
return
end
if t.name==nil then t.name="" end
if t.arg==nil then t.arg="" end

if t.xc==nil then t.xc=conky_window.width/2 end
if t.yc==nil then t.yc=conky_window.height/2 end
if t.thickness ==nil then t.thickness = 10 end
if t.radius ==nil then t.radius =conky_window.width/4 end
if t.start_angle==nil then t.start_angle =0 end
if t.end_angle==nil then t.end_angle=360 end
if t.bg_colour1==nil then
t.bg_colour1={{0,0x00ffff,0.1},{0.5,0x00FFFF,0.5},{1,0x00FFFF,0.1}}
end
if t.fg_colour1==nil then
t.fg_colour1={{0,0x00FF00,0.1},{0.5,0x00FF00,1},{1,0x00FF00,0.1}}
end
if t.bd_colour1==nil then
t.bd_colour1={{0,0xFFFF00,0.5},{0.5,0xFFFF00,1},{1,0xFFFF00,0.5}}
end
if t.sectors==nil then t.sectors=10 end
if t.gap_sectors==nil then t.gap_sectors=1 end
if t.fill_sector==nil then t.fill_sector=false end
if t.sectors==1 then t.fill_sector=false end
if t.border_size==nil then t.border_size=0 end
if t.cap==nil then t.cap="p" end
--some checks
if t.thickness>t.radius then t.thickness=t.radius*0.1 end
t.int_radius = t.radius-t.thickness

--check colors tables
for i=1, #t.bg_colour1 do
if #t.bg_colour1[i]~=3 then t.bg_colour1[i]={1,0xFFFFFF,0.5} end
end
for i=1, #t.fg_colour1 do
if #t.fg_colour1[i]~=3 then t.fg_colour1[i]={1,0xFF0000,1} end
end
for i=1, #t.bd_colour1 do
if #t.bd_colour1[i]~=3 then t.bd_colour1[i]={1,0xFFFF00,1} end
end

if t.bg_colour2~=nil then
for i=1, #t.bg_colour2 do
if #t.bg_colour2[i]~=3 then t.bg_colour2[i]={1,0xFFFFFF,0.5} end
end
end
if t.fg_colour2~=nil then
for i=1, #t.fg_colour2 do
if #t.fg_colour2[i]~=3 then t.fg_colour2[i]={1,0xFF0000,1} end
end
end
if t.bd_colour2~=nil then
for i=1, #t.bd_colour2 do
if #t.bd_colour2[i]~=3 then t.bd_colour2[i]={1,0xFFFF00,1} end
end
end

if t.start_angle>=t.end_angle then
local tmp_angle=t.end_angle
t.end_angle= t.start_angle
t.start_angle = tmp_angle
-- print ("inversed angles")
if t.end_angle-t.start_angle>360 and t.start_angle>0 then
t.end_angle=360+t.start_angle
print ("reduce angles")
end

if t.end_angle+t.start_angle>360 and t.start_angle<=0 then
t.end_angle=360+t.start_angle
print ("reduce angles")
end

if t.int_radius<0 then t.int_radius =0 end
if t.int_radius>t.radius then
local tmp_radius=t.radius
t.radius=t.int_radius
t.int_radius=tmp_radius
print ("inversed radius")
end
if t.int_radius==t.radius then
t.int_radius=0
print ("int radius set to 0")
end
end

t.fg_colour1 = calc_delta(t.fg_colour1,t.fg_colour2)
t.bg_colour1 = calc_delta(t.bg_colour1,t.bg_colour2)
t.bd_colour1 = calc_delta(t.bd_colour1,t.bd_colour2)
end

if t.draw_me == true then t.draw_me = nil end
if t.draw_me ~= nil and conky_parse(tostring(t.draw_me)) ~= "1" then return end
--initialize table
setup(t)

--initialize cairo context
cairo_save(cr)
cairo_translate(cr,t.xc,t.yc)
cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND)
cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND)

--get value
local value = 0
if t.name ~="" then
value = tonumber(conky_parse(string.format('${%s %s}', t.name, t.arg)))
else
value = tonumber(t.arg)
end
if value==nil then value =0 end

--initialize sectors
--angle of a sector :
local angleA = ((t.end_angle-t.start_angle)/t.sectors)*math.pi/180
--value of a sector :
local valueA = t.max/t.sectors
--first angle of a sector :
local lastAngle = t.start_angle*math.pi/180


local function draw_sector(type_arc,angle0,angle,valpc, idx)

--this function draws a portion of arc
--type of arc, angle0 = strating angle, angle= angle of sector,
--valpc = percentage inside the sector, idx = sctor number #
local tcolor
if type_arc=="bg" then --background
if valpc==1 then return end
tcolor=t.bg_colour1
elseif type_arc=="fg" then --foreground
if valpc==0 then return end
tcolor=t.fg_colour1
elseif type_arc=="bd" then --border
tcolor=t.bd_colour1
end

--angles equivalents to gap_sector
local ext_delta=math.atan(t.gap_sectors/(2*t.radius))
local int_delta=math.atan(t.gap_sectors/(2*t.int_radius))

--angles of arcs
local ext_angle=(angle-ext_delta*2)*valpc
local int_angle=(angle-int_delta*2)*valpc

--define colours to use for this sector
if #tcolor==1 then
--plain color
local vR,vG,vB,vA = rgba_to_r_g_b_a(tcolor[1])
cairo_set_source_rgba(cr,vR+tcolor[1].dR*idx,
vG+tcolor[1].dG*idx,
vB+tcolor[1].dB*idx,
vA+tcolor[1].dA*idx )
else
--radient color
local pat=cairo_pattern_create_radial(0,0,t.int_radius,0,0,t.radius)
for i=1, #tcolor do
local vP,vR,vG,vB,vA = tcolor[i][1], rgba_to_r_g_b_a(tcolor[i])
cairo_pattern_add_color_stop_rgba (pat,
vP+tcolor[i].dP*idx,
vR+tcolor[i].dR*idx,
vG+tcolor[i].dG*idx,
vB+tcolor[i].dB*idx,
vA+tcolor[i].dA*idx )
end
cairo_set_source (cr, pat)
cairo_pattern_destroy(pat)
end

--start drawing
cairo_save(cr)
--x axis is parrallel to start of sector
cairo_rotate(cr,angle0-math.pi/2)

local ri,re = t.int_radius ,t.radius

--point A
local angle_a

if t.cap == "p" then
angle_a = int_delta
if t.inverse_arc and type_arc ~="bg" then
angle_a = angle-int_angle-int_delta
end
if not(t.inverse_arc) and type_arc =="bg" then
angle_a = int_delta+int_angle
end
else --t.cap=="r"
angle_a = ext_delta
if t.inverse_arc and type_arc~="bg" then
angle_a = angle-ext_angle-ext_delta
end
if not(t.inverse_arc) and type_arc=="bg" then
angle_a = ext_delta+ext_angle
end
end
local ax,ay = ri*math.cos(angle_a),ri*math.sin(angle_a)


--point B
local angle_b = ext_delta
if t.cap == "p" then
if t.inverse_arc and type_arc ~="bg" then
angle_b = angle-ext_angle-ext_delta
end
if not(t.inverse_arc) and type_arc=="bg" then
angle_b = ext_delta+ext_angle
end
else
if t.inverse_arc and type_arc ~="bg" then
angle_b = angle-ext_angle-ext_delta
end
if not(t.inverse_arc) and type_arc=="bg" then
angle_b = ext_delta+ext_angle
end
end
local bx,by = re*math.cos(angle_b),re*math.sin(angle_b)

-- EXTERNAL ARC B --> C
local b0,b1
if t.inverse_arc then
if type_arc=="bg" then
b0,b1= ext_delta, angle-ext_delta-ext_angle
else
b0,b1= angle-ext_angle-ext_delta, angle-ext_delta
end
else
if type_arc=="bg" then
b0,b1= ext_delta+ext_angle, angle-ext_delta
else
b0,b1= ext_delta, ext_angle+ext_delta
end
end

---POINT D
local angle_c, angle_d
if t.cap == "p" then
angle_d = angle-int_delta
if t.inverse_arc and type_arc=="bg" then
angle_d = angle-int_delta-int_angle
end
if not(t.inverse_arc) and type_arc~="bg" then
angle_d=int_delta+int_angle
end
else
angle_d = angle-ext_delta
if t.inverse_arc and type_arc=="bg" then
angle_d =angle-ext_delta-ext_angle
end
if not(t.inverse_arc) and type_arc~="bg" then
angle_d = ext_angle+ext_delta
end
end
local dx,dy = ri*math.cos(angle_d),ri*math.sin(angle_d)

-- INTERNAL ARC D --> A
local d0,d1
if t.cap=="p" then
if t.inverse_arc then
if type_arc=="bg" then
d0,d1= angle-int_delta-int_angle,int_delta
else
d0,d1= angle-int_delta, angle- int_angle-int_delta
end
else
if type_arc=="bg" then
d0,d1= angle-int_delta, int_delta+int_angle
else
d0,d1= int_delta+int_angle, int_delta
end
end
else
if t.inverse_arc then
if type_arc=="bg" then
d0,d1= angle-ext_delta-ext_angle,ext_delta
else
d0,d1= angle-ext_delta, angle- ext_angle-ext_delta
end
else
if type_arc=="bg" then
d0,d1= angle-ext_delta,ext_delta+ext_angle
else
d0,d1= ext_angle+ext_delta, ext_delta
end
end
end

--draw sector
cairo_move_to(cr,ax,ay)
cairo_line_to(cr,bx,by)
cairo_arc(cr,0,0,re,b0,b1)
cairo_line_to(cr,dx,dy)
cairo_arc_negative(cr,0,0,ri,d0,d1)
cairo_close_path (cr);

--stroke or fill sector
if type_arc=="bd" then
cairo_set_line_width(cr,t.border_size)
cairo_stroke(cr)
else
cairo_fill(cr)
end

cairo_restore(cr)

end
--draw sectors
local n0,n1,n2 = 1,t.sectors,1
if t.inverse_arc then n0,n1,n2 = t.sectors,1,-1 end
local index = 0
for i = n0,n1,n2 do
index = index +1
local valueZ=1
local cstA, cstB = (i-1),i
if t.inverse_arc then cstA,cstB = (t.sectors-i), (t.sectors-i+1) end

if value>valueA *cstA and value<valueA*cstB then
if not t.fill_sector then
valueZ = (value-valueA*cstA)/valueA
end
else
if value<valueA*cstB then valueZ=0 end
end

local start_angle= lastAngle+(i-1)*angleA
if t.foreground ~= false then
draw_sector("fg",start_angle,angleA,valueZ, index)
end
if t.background ~= false then
draw_sector("bg",start_angle,angleA,valueZ, i)
end
if t.border_size>0 then draw_sector("bd",start_angle,angleA,1, i) end
end

cairo_restore(cr)
end

--[[END OF RING-SECTORS WIDGET]] 
You do not have the required permissions to view the files attached to this post.
Male is the capital of the Maldives and its wonderful people.

User avatar
male
Forum Regular
Forum Regular
Posts: 195
Joined: Thu Jan 23, 2014 8:38 am

Re: Conky Helps and Stuff

#49 Post by male » Wed Jun 27, 2018 1:44 pm

For @Eadwine :happy:

I used a Conky here based on an idea by @loutch, because it comes close to the design of Gis-Weather.
I changed the syntax from 1.10 to 1.9 and the old scripts 1b1_accuweather and 1c_accuweather against the current 1_accuweather exchanged.
den_haag.jpg
The Conky has a size of 660x220 pixels. My desktop is 1680x1050.
I tested on Fluxbox, Openbox, LXDE and KDE5.

After unpacking in your $HOME :
1. First you have to make your system known with the font ge_inspira (if you haven't installed it yet).
Who doesn't know, there are different possibilities, I prefer:
create a hidden directory .font in my $HOME and here all fonts used by the Conky's are stored. Run the command as root

Code: Select all

# fc-cache -v -f
2. create / move / copy the directory LUA with its content image.lua into your $HOME;
create the directory 1_accuweather in your $HOME and move / copy the folders with content
forecast_2015
Forecast_images_2015
hourly_2015

and the script 1_accuweather into it. Make sure that the script is executable.

3. I entered the location The Hague as address in the script at line ~192 and activated it.
To find the right location, enter your city on www.accuweather.com ; Enter and press
e.g. receives the last line in the section for Rochester from @richb, ;) for example. This is copied into the script according to the and activated.

4. open a terminal and give the kill command:

Code: Select all

pkill -xf "conky -c /home/$USER/eadwine/conkyrc9"
one. This command was developed by Sector11 and kills only this Conky. If no other Conky is running, it's also enough

Code: Select all

killall conky
open a second terminal and carry

Code: Select all

conky -c ~/eadwine/conkyrc9 &
and press ENTER. Give the script some time to collect the data. The Conky should then appear on the right in the middle.
If the result is not satisfactory, return to the first terminal and press ENTER.
Repeat the process.
download.txt
I can't upload the archive here in the forum now because of its size
I have therefore helped me so (the link is in the txt file) ;)


For questions, ask.
I am looking forward to your result.
You do not have the required permissions to view the files attached to this post.
Male is the capital of the Maldives and its wonderful people.

User avatar
male
Forum Regular
Forum Regular
Posts: 195
Joined: Thu Jan 23, 2014 8:38 am

Re: Conky Helps and Stuff

#50 Post by male » Wed Jun 27, 2018 1:48 pm

the image was also removed from the previous post after the second file was uploaded
Therefore again :happy:
den_haag.jpg
You do not have the required permissions to view the files attached to this post.
Male is the capital of the Maldives and its wonderful people.

Post Reply

Return to “Software / Configuration”