You are not logged in.

#526 2017-04-19 15:56:48

damo
....moderator....
Registered: 2015-08-20
Posts: 5,106

Re: Show us your conky

There was talk a while ago about having to export from cairo to imlib2, and blur with that. Or multiple overlapping shapes with varying alpha.

wlourf is bound to have something on his old blogspot conky lua resource site: Useful and useless scripts


Be Excellent to Each Other...

FORUM RULES and posting guidelines «» Help page for forum post formatting
Artwork on DeviantArt  «» BunsenLabs on DeviantArt

Offline

#527 2017-04-19 16:31:19

Sector11
The Tpyo Knig Mod
From: 77345 ¡#
Registered: 2015-08-20
Posts: 5,575

Re: Show us your conky

I checked wourf's and mrpeachy's blogs I didn't find anything there, which doesn't meant there isn't anything there, it's easy to over look something.


BunsenLabs Forum Rules ---== I'm a Conky 1.9'er ==---
System:    Host: d67 Kernel: 4.9.0-9-amd64 x86_64 (64 bit gcc: 6.3.0)
Desktop: Openbox 3.6.1 Distro: Debian GNU/Linux 9 (stretch)

Offline

#528 2017-04-19 18:44:57

Sector11
The Tpyo Knig Mod
From: 77345 ¡#
Registered: 2015-08-20
Posts: 5,575

Re: Show us your conky

Been meaning to do this for a while now ... this is a test version of my "Eagle.conky"  Been working on it off and on since yesterday (real life eats up conky time, ya know). 

Eagle.conky for me started out with using 'remind' to get the third last working day of every month and have a conky display an "Eagle" like this:
2017-04-19_140354_Scrot11.th.jpg
RUN, do not walk, to the bank, it's pension day!  big_smile

On other days, like today, it shows nothing:
2017-04-19_134044_Scrot11.th.jpg
but it starts every day with my other conkys.

Adding a border so you can see the limits of where it is:
2017-04-19_133621_Scrot11.th.jpg
Then I started adding things my wife wanted, OOPS!  Snowball down a hill effect, it has grown a bit.

I'm using conky v1.9 so I'll just post what is below TEXT (see below) that 'should' work in conky v1.10 (except for the "remind" entry, you'll need to set that up yourself.  You could probably use when as well, it's a 'lot' simpler than remind.  However for the simple stuff the ${time} command in conky is right in your face simple, marry that up with {if_match} and you're cookin' with conky:

${time %d} - gives the day - you can use this to display something on X day of every month.
${time %m} - gives a month - display something all month long
${time %d%m} - and day|month outputs a 4 digit number ${if_match} those to get something once a year.

Here's some test code for you to play with, not all are shown in this post:

${if_match "${execpi 3600 remind -q -r ~/.reminder_eagle | sed -e "/.*(today):/d" -e '/^$/d'}"=="Eagle"}\
${image /media/5/Conky/images/3dconky/3d-eagle.png -p 75,18}${else}${endif}\
${if_match ${time %d%m}==1504}${image /media/5/Conky/images/3dconky/BD-cake.png -p 75,18}
${alignc}Happy Birthday Don${else}${endif}\
${if_match ${time %d%m}==1510}${image /media/5/Conky/images/3dconky/BD-cake.png -p 75,18}
${alignc}Feliz Cumple Leo${else}${endif}\
${if_match ${time %d%m}==0107}${image /media/5/Conky/images/3dconky/3d-Canada-leaf.png -p 75,18}
${alignc}Canada Day${else}${endif}\
${if_match ${time %d%m}==2007}${image /media/5/Conky/images/3dconky/3d-amigos.png -p 75,18}
${alignc}Friends Day${else}${endif}\
${if_match ${time %d%m}==2512}${image /media/5/Conky/images/3dconky/3d-star.png -p 75,18}
${alignc}Merry Christmas${else}${endif}

Now using 'faketime' we can get conky to think it's Don's birthday: 15 April = 1504

faketime '2017-04-15 01:00:00' conky -c /media/5/Conky/Eagle.test.conky

2017-04-19_135510_Scrot11.th.jpg

or Christmas: 25 Dec = 2512

faketime '2017-12-25' conky -c /media/5/Conky/Eagle.test.conky &

2017-04-19_140012_Scrot11.th.jpg

This is Eagle.test.conky ... mine is a bit more complicated.  I left the "remind" command in there as an example - seems like faketime doesn't like working with remind so the scrot image with the eagle was a simple image command just to display for this post.

Sorry: no images supplied, I'm using a bunch of these: 3d-transparent-glass-icons, grab your own.  big_smile

What's important above TEXT:
Make sure the conky is transparent - I think that's it.

And; size and position, I use:

minimum_size 300 170
maximum_width 300

gap_x 0
gap_y 40

alignment bottom_middle

Questions?
OH, that!  That's the the 30 mm GAU-8/A Avenger autocannon sticking out of the nose of the A-10 Thunderbolt.  Let's see you stick that under your belt!


BunsenLabs Forum Rules ---== I'm a Conky 1.9'er ==---
System:    Host: d67 Kernel: 4.9.0-9-amd64 x86_64 (64 bit gcc: 6.3.0)
Desktop: Openbox 3.6.1 Distro: Debian GNU/Linux 9 (stretch)

Offline

#529 2017-04-23 19:55:48

Sector11
The Tpyo Knig Mod
From: 77345 ¡#
Registered: 2015-08-20
Posts: 5,575

Re: Show us your conky

Found a copy of Parrot OS Conky over at mrneilypops' blog and with a little help from mrneilypops (Thank You) got the missing image, lua script and font here.

You'll need the Future font from that ZIP if you wnat it to look like the original, I could not find it elsewhere.  The image is also available here.

2017-04-23_153811_Scrot11.th.png
On the right is a "rough" tweak of the original and on the left 'pretty well done'.

By 'pretty well done' I mean there is more to do, but posting as it is, it's for a quad core laptop (as it is) users that run anything between wlan0,1 or eth0,1

Working down in the conky:

SYSTEM
- setup for Bunsen  smile
- - if you know of a better way to show what "desktop/WM" (Env:) is displayed please let me know.
- - - - GNU/ and OpenBox are hardcoded
- - - -  Openbox part is fixed

SENSORS:
- CPU Temp on the left
- Battery Usage on the right
- - I have no battery but left it in - I'm getting errors, it will be coming out.
- - - - suggestions as what to put in place of battery welcome.

CPU
- original uses cpu1 to cpu4 ... mine uses cpu1 to cpu3 and cpu0 (Total or Average)

MEMORY
- that's OK as it is for everyone I would think.

NETWORK
- setup to show if: wlan0, wlan1, eth0 or eth1 is being used.
- - I will be ripping out everything except eth0

HDD
- shows separate / and /home partitions
- - not 100% sure how that will work if you have installed ~/home to /

and dmesg
- left it in
- - will kill it here, I'm not interested in having that
- - - - original conky did not have enough text_buffer_size set to show the 20 lines the dmesg line calles for, I fixed that.

----------------
I cannot read the original conky because the font, colour and size doesn't fit will with these sexagenarian eyes. wink  So tweak it, cleaning up the code and getting things to work well on this old BL AMD x3 Desktop.  Hence the tweak.

The conky (built for conky v1.9):

# Parrot OS Conky tweaked by: mrneilypops
# https://www.mrneilypops.io/parrot-os-conky-tweaked/
## pkill -xf "conky -c /media/5/Conky/Parrot/S11_Parrot.OS.conky" &

## ---------- Begin Window Settings
own_window yes
own_window_type normal
own_window_transparent yes
own_window_hints skip_taskbar,skip_pager,undecorated,below
own_window_colour 000000
own_window_class Conky
own_window_title S11 Parrot OS Conky
## ARGB can be used for real transparencyown_window_hints
#own_window_argb_visual yes ## Options: yes or no
## Valid range is 0-255, where 0 is 0% opacity, and 255 is 100% opacity.
#own_window_argb_value 80

#minimum_size 300 0
#maximum_width 300

gap_x 10 #l|r
gap_y 10 #u|d

minimum_size 248 1020
maximum_width 248

alignment tl

## ---------- End Window Settings
## ---------- Font Settings

## Force UTF8? requires XFT
override_utf8_locale yes

use_xft yes ## Original conky does not include this line
## Use Xft (anti-aliased font and stuff)
#xftfont Future:size=9
#xftfont Liberation Mono:bold:size=9
xftfont Fantasque Sans Mono:bold:size=9
#xftfont Monofur:bold:size=10
#xftfont DejaVu Sans Mono:bold:size=10
#xftfont Fira Mono:bold:size=10
xftalpha 1.0

## --------- End Font Settings
## --------- Color Settings
draw_shades yes
default_shade_color 000000
draw_outline no
default_outline_color 000000

default_color 008080 #Black
color0 008080 #unknown - but dark
color1 0DB3AA #light green in image #008080 #LightSlateGray
color2 FFD700 #Gold
color3 B0E0E6 #PowderBlue
color4 F4A460 #SandyBrown
color5 DEB887 #BurlyWood
color6 00BFFF #DeepSkyBlue
color7 5F9EA0 #CadetBlue
color8 FFA500 #Orange
color9 FF4500 #OrangeRed
## ---------- End Color Settings
## ---------- Begin Borders Section
draw_borders no
## Stippled borders?
stippled_borders 5
## border margins
border_inner_margin 0
border_outer_margin 0
## border width
border_width 2
## graph borders
draw_graph_borders yes ## no
## default_graph_size 15 40
## ---------- End Borders Secton
## ---------- Begin Miscellaneous Section
background yes
use_spacer none
no_buffers yes
imlib_cache_size 0
double_buffer yes
text_buffer_size 1280

update_interval 1
######### not supplied #################
# — Lua Load — #

lua_load /media/5/Conky/Parrot/parrot.rings.lua
lua_draw_hook_pre main_rings
########################################
TEXT
${image /media/5/Conky/Parrot/parrot.png -p 0,0 -s 247x621}${voffset 5}${color1}
${goto 20}OS:  GNU/${sysname}
${goto 16}Distro:  ${pre_exec lsb_release -is | tr "[:upper:]" "[:lower:]"} ${pre_exec lsb_release -rs | tr "[:upper:]" "[:lower:]"}
${goto 16}Name:  ${pre_exec lsb_release -cs | tr "[:upper:]" "[:lower:]"}
${goto 16}Kernel:  ${kernel}
${goto 20}Env: ${pre_exec env | grep DESKTOP_SESSION= |cut -c 17-}
${voffset 203}${goto 15}RAM: ${memmax}
${goto 15}Used RAM: ${memperc}% - ${mem}
${goto 15}Free RAM: ${memfree}
${goto 15}Procs/Threads: ${processes} - ${threads}
${voffset 68}${goto 15}${if_up wlan0}wlan0${else}\
${if_up wlan1}wlan1${else}\
${if_up eth0}eth0${else}\
${if_up eth1}eth1${endif}${endif}${endif}${endif}\
${goto 93}up${goto 162}dn
${voffset 7}${goto 20}UP:${goto 50}${voffset -10}${if_up wlan0}${upspeedgraph wlan0 30,180 008080 aa0000 0 -t -l}${endif}${if_up wlan1}${upspeedgraph wlan1 30,180 008080 aa0000 0 -t -l}${endif}${if_up eth0}${upspeedgraph eth0 30,180 008080 aa0000 0 -t -l}${endif}${if_up eth1}${upspeedgraph eth1 30,180 008080 aa0000 0 -t -l}${endif}
${voffset 16}${goto 20}DL:${goto 50}${voffset -10}${if_up wlan0}${downspeedgraph wlan0 30,180 008080 00aa00 0 -t -l}${endif}${if_up wlan1}${downspeedgraph wlan1 30,180 008080 00aa00 0 -t -l}${endif}${if_up eth0}${downspeedgraph eth0 30,180 008080 00aa00 0 -t -l}${endif}${if_up eth1}${downspeedgraph eth1 30,180 008080 00aa00 0 -t -l}${endif}
${voffset 55}${goto 51}/root${goto 155}/home
${voffset 55}${goto 30}${font Fantasque Sans Mono:bold:size=12}${color 00a0a0}dmesg${font}
${goto 2}${color 30ff50}${execi 1 dmesg -t | tail -20 | tac}

/media/5/Conky/Parrot/parrot.rings.lua

--[[ RINGS with SECTORS widget
	v1.0 by wlourf (08.08.2010)
	this widget draws a ring with differents effects
	http://u-scripts.blogspot.com/2010/08/rings-sectors-widgets.html

To call the script in a conky, use, before TEXT
	lua_load /path/to/the/script/rings.lua
	lua_draw_hook_pre main_rings
and add one line (blank or not) after TEXT


Parameters are :
3 parameters are mandatory
name		- the name of the conky variable to display,
			  for example for {$cpu cpu0}, just write name="cpu"
arg			- the argument of the above variable,
			  for example for {$cpu cpu0}, just write arg="cpu0"
		  	  arg can be a numerical value if name=""
max			- the maximum value the above variable can reach,
			  for example for {$cpu cpu0}, just write max=100

Optional parameters:
xc,yc		- coordinates of the center of the ring,
			  default = middle of the conky window
radius		- external radius of the ring, in pixels,
			  default = quarter of the width of the conky window
thickness	- thickness of the ring, in pixels, default = 10 pixels
start_angle	- starting angle of the ring, in degrees, value can be negative,
			  default = 0 degree
end_angle	- ending angle of the ring, in degrees,
			  value must be greater than start_angle, default = 360 degrees
sectors		- number of sectors in the ring, default = 10
gap_sectors - gap between two sectors, in pixels, default = 1 pixel
cap			- the way to close a sector, available values are
				"p" for parallel , default value
				"r" for radial (follow the radius)
inverse_arc	- if set to true, arc will be anticlockwise, default=false
border_size	- size of the border, in pixels, default = 0 pixel i.e. no border
fill_sector	- if set to true, each sector will be completely filled,
			  default=false, this parameter is inoperate if sectors=1
background	- if set to false, background will not be drawn, default=true
foreground	- if set to false, foreground will not be drawn, default=true

Colours tables below are defined into braces :
{position in the gradient (0 to 1), colour in hexadecimal, alpha (0 to 1)}
example for a single colour table :
{{0,0xFFAA00,1}} position parameter doesn't matter
example for a two-colours table :
{{0,0xFFAA00,1},{1,0x00AA00,1}} or {{0.5,0xFFAA00,1},{1,0x00AA00,1}}
example for a three-colours table :
{{0,0xFFAA00,1},{0.5,0xFF0000,1},{1,0x00AA00,1}}

bg_colour1	- colour table for background,
			  default = {{0,0x00ffff,0.1},{0.5,0x00FFFF,0.5},{1,0x00FFFF,0.1}}
fg_colour1	- colour table for foreground,
			  default = {{0,0x00FF00,0.1},{0.5,0x00FF00,1},{1,0x00FF00,0.1}}
bd_colour1	- colour table for border,
			  default = {{0,0xFFFF00,0.5},{0.5,0xFFFF00,1},{1,0xFFFF00,0.5}}

Seconds tables for radials gradients :
bg_colour2	- second colour table for background, default = no second colour
fg_colour2	- second colour table for foreground, default = no second colour
bd_colour2	- second colour table for border, default = no second colour

v1.0 (08 Aug. 2010) original release

]]


require 'cairo'
function conky_main_rings()
-- START PARAMETERS HERE
rings_settings={
	{
	name="platform", -- CPU Temp
	arg="f71882fg.2560 temp 2",
	max=127,
	xc=74.5,
	yc=141.5,
	start_angle=180,
	end_angle=-180,
	thickness=5,
	radius=39,
	sectors=50,
	gap_sectors=1,
	bg_colour1={{0.5,0xFF0000,0.2}},
	fg_colour1={{0.5,0xFF0000,0.6}},
	fg_colour2={{0.5,0xFF0000,0.6}},
	},
	{
	name="battery_percent",
	arg="BAT0",
	max=100,
	xc=175.5,
	yc=141,
	start_angle=180,
	end_angle=-180,
	thickness=5,
	radius=39,
	sectors=50,
	gap_sectors=1,
	bg_colour1={{0.5,0xFF0000,0.2}},
	fg_colour1={{0.5,0xFF0000,0.6}},
	fg_colour2={{0.5,0xFF0000,0.6}},
	},
	{
	name="cpu",
	arg="cpu1",
	max=100,
	xc=40.5,
	yc=231.5,
	start_angle=180,
	end_angle=-180,
	thickness=5,
	radius=22,
	sectors=30,
	gap_sectors=1,
	bg_colour1={{0.5,0xFF0000,0.2}},
	fg_colour1={{0.5,0xFFE900,0.8}},
	fg_colour2={{0.5,0xFF0000,1}},
	},
		{
	name="cpu",
	arg="cpu2",
	max=100,
	xc=40.5,
	yc=231.5,
	start_angle=180,
	end_angle=-180,
	thickness=5,
	radius=14,
	sectors=15,
	gap_sectors=1,
	bg_colour1={{0.5,0xFF0000,0.2}},
	fg_colour1={{0.5,0x83FF00,0.8}},
	fg_colour2={{0.5,0xFF0000,1}},
	},
	{
	name="cpu",
	arg="cpu3",
	max=100,
	xc=97.5,
	yc=231.5,
	start_angle=180,
	end_angle=-180,
	thickness=5,
	radius=22,
	sectors=30,
	gap_sectors=1,
	bg_colour1={{0.5,0xFF0000,0.2}},
	fg_colour1={{0.5,0x00FF27,0.8}},
	fg_colour2={{0.5,0xFF0000,1}},
	},
		{
	name="cpu",
	arg="cpu0",
	max=100,
	xc=97.5,
	yc=231.5,
	start_angle=180,
	end_angle=-180,
	thickness=5,
	radius=14,
	sectors=15,
	gap_sectors=1,
	bg_colour1={{0.5,0xFF0000,0.2}},
	fg_colour1={{0.5,0x00FF72,0.8}},
	fg_colour2={{0.5,0xFF0000,1}},
	},
	{
	name="cpu",
	arg="cpu1",
	max=100,
	xc=153.5,
	yc=231.5,
	start_angle=180,
	end_angle=-180,
	thickness=5,
	radius=22,
	sectors=30,
	gap_sectors=1,
	bg_colour1={{0.5,0xFF0000,0.2}},
	fg_colour1={{0.5,0x80d9FF,0.8}},
	fg_colour2={{0.5,0xFF0000,1}},
	},
		{
	name="cpu",
	arg="cpu2",
	max=100,
	xc=153.5,
	yc=231.5,
	start_angle=180,
	end_angle=-180,
	thickness=5,
	radius=14,
	sectors=15,
	gap_sectors=1,
	bg_colour1={{0.5,0xFF0000,0.2}},
	fg_colour1={{0.5,0x00F3FF,0.8}},
	fg_colour2={{0.5,0xFF0000,1}},
	},
	{
	name="cpu",
	arg="cpu3",
	max=100,
	xc=210.5,
	yc=231.5,
	start_angle=180,
	end_angle=-180,
	thickness=5,
	radius=22,
	sectors=30,
	gap_sectors=1,
	bg_colour1={{0.5,0xFF0000,0.2}},
	fg_colour1={{0.5,0x9D60FF,0.8}},
	fg_colour2={{0.5,0xFF0000,1}},
	},
		{
	name="cpu",
	arg="cpu0",
	max=100,
	xc=210.5,
	yc=231.5,
	start_angle=180,
	end_angle=-180,
	thickness=5,
	radius=14,
	sectors=15,
	gap_sectors=1,
	bg_colour1={{0.5,0xFF0000,0.2}},
	fg_colour1={{0.5,0xB800FF,0.8}},
	fg_colour2={{0.5,0xFF0000,1}},
	},
	{
	name="memperc",
	arg="",
	max=100,
	xc=209.5,
	yc=303.5,
	start_angle=180,
	end_angle=-180,
	thickness=5,
	radius=22,
	sectors=30,
	gap_sectors=1,
	bg_colour1={{0.5,0xFF0000,0.2}},
	fg_colour1={{0.5,0x00FF00,0.8}},
	fg_colour2={{0.5,0xFF0000,0.8}},
	},
	{
	name="wireless_link_qual_perc",
	arg="wlan0",
	max=100,
	xc=54.5,
	yc=377.5,
	start_angle=180,
	end_angle=-180,
	thickness=5,
	radius=22,
	sectors=30,
	gap_sectors=1,
	bg_colour1={{0.5,0xFF0000,0.2}},
	fg_colour1={{0.5,0xFF0000,0.6}},
	fg_colour2={{0.5,0x00FFFC,0.6}},
	},
		{
	name="wireless_link_qual_perc",
	arg="wlan1",
	max=100,
	xc=54.5,
	yc=377.5,
	start_angle=180,
	end_angle=-180,
	thickness=5,
	radius=14,
	sectors=15,
	gap_sectors=1,
	bg_colour1={{0.5,0xFF0000,0.2}},
	fg_colour1={{0.5,0xFF0000,0.6}},
	fg_colour2={{0.5,0x00FF82,0.6}},
	},
	{
	name="upspeedf",
	arg="wlan0",
	max=100,
	xc=124.5,
	yc=377.5,
	start_angle=180,
	end_angle=-180,
	thickness=5,
	radius=22,
	sectors=30,
	gap_sectors=1,
	bg_colour1={{0.5,0xFF0000,0.2}},
	fg_colour1={{0.5,0xFF0000,0.6}},
	fg_colour2={{0.5,0xFF5F20,1}},
	},
	{
	name="upspeedf",
	arg="eth0",
	max=100,
	xc=124.5,
	yc=377.5,
	start_angle=180,
	end_angle=-180,
	thickness=5,
	radius=22,
	sectors=15,
	gap_sectors=1,
	bg_colour1={{0.5,0xFF0000,0.0}},
	fg_colour1={{0.5,0xFF0000,0.6}},
	fg_colour2={{0.5,0xFF5F20,1}},
	},
	{
        name="upspeedf",
        arg="wlan1",
        max=100,
        xc=124.5,
        yc=377.5,
        start_angle=180,
        end_angle=-180,
        thickness=5,
        radius=22,
        sectors=15,
        gap_sectors=1,
        bg_colour1={{0.5,0xFF0000,0.0}},
        fg_colour1={{0.5,0xFF0000,0.6}},
        fg_colour2={{0.5,0xFF5F20,1}},
        },
	{
        name="upspeedf",
        arg="eth1",
        max=100,
        xc=124.5,
        yc=377.5,
        start_angle=180,
        end_angle=-180,
        thickness=5,
        radius=22,
        sectors=15,
        gap_sectors=1,
        bg_colour1={{0.5,0xFF0000,0.0}},
        fg_colour1={{0.5,0xFF0000,0.6}},
        fg_colour2={{0.5,0xFF5F20,1}},
        },
	{
	name="downspeedf",
	arg="wlan0",
	max=100,
	xc=195.5,
	yc=377.5,
	start_angle=180,
	end_angle=-180,
	thickness=5,
	radius=22,
	sectors=30,
	gap_sectors=1,
	bg_colour1={{0.5,0xFF0000,0.2}},
	fg_colour1={{0.5,0xFF0000,0.6}},
	fg_colour2={{0.5,0x00FF6D,0.6}},
	},
	{
	name="downspeedf",
	arg="eth0",
	max=100,
	xc=195.5,
	yc=377.5,
	start_angle=180,
	end_angle=-180,
	thickness=5,
	radius=22,
	sectors=15,
	gap_sectors=1,
	bg_colour1={{0.5,0xFF0000,0.0}},
	fg_colour1={{0.5,0xFF0000,0.6}},
	fg_colour2={{0.5,0x00FF6D,0.6}},
	},
	{
        name="downspeedf",
        arg="wlan1",
        max=100,
        xc=195.5,
        yc=377.5,
        start_angle=180,
        end_angle=-180,
        thickness=5,
        radius=22,
        sectors=15,
        gap_sectors=1,
        bg_colour1={{0.5,0xFF0000,0.0}},
        fg_colour1={{0.5,0xFF0000,0.6}},
        fg_colour2={{0.5,0x00FF6D,0.6}},
        },
	{
        name="downspeedf",
        arg="eth1",
        max=100,
        xc=195.5,
        yc=377.5,
        start_angle=180,
        end_angle=-180,
        thickness=5,
        radius=22,
        sectors=15,
        gap_sectors=1,
        bg_colour1={{0.5,0xFF0000,0.0}},
        fg_colour1={{0.5,0xFF0000,0.6}},
        fg_colour2={{0.5,0x00FF6D,0.6}},
        },
	{
	name="fs_used_perc",
	arg="/",
	max=100,
	xc=71.5,
	yc=558.5,
	start_angle=-150,
	end_angle=150,
	thickness=3,
	radius=46,
	sectors=30,
	gap_sectors=1,
	bg_colour1={{0.5,0xFF0000,0.2}},
	fg_colour1={{0.5,0x00FF5D,0.6}},
	fg_colour2={{0.5,0xFF0000,0.6}},
	},
	{
	name="fs_used_perc",
	arg="/",
	max=100,
	xc=71.5,
	yc=558.5,
	start_angle=-150,
	end_angle=150,
	thickness=11.5,
	radius=39,
	sectors=10,
	gap_sectors=3,
	bg_colour1={{0.5,0xFF0000,0.2}},
	fg_colour1={{0.5,0x00ffbb,0.6}},
	fg_colour2={{0.5,0xFF0000,0.6}},
	},
	{
	name="fs_used_perc",
	arg="/home",
	max=100,
	xc=178.5,
	yc=558.5,
	start_angle=-150,
	end_angle=150,
	thickness=3,
	radius=46,
	sectors=30,
	gap_sectors=1,
	bg_colour1={{0.5,0xFF0000,0.2}},
	fg_colour1={{0.5,0x00FF39,0.6}},
	fg_colour2={{0.5,0xFF0000,0.6}},
	},
	{
	name="fs_used_perc",
	arg="/home",
	max=100,
	xc=178.5,
	yc=558.5,
	start_angle=-150,
	end_angle=150,
	thickness=11.5,
	radius=39,
	sectors=10,
	gap_sectors=3,
	bg_colour1={{0.5,0xFF0000,0.2}},
	fg_colour1={{0.5,0x007DFF,0.6}},
	fg_colour2={{0.5,0xFF0000,0.6}},
	},
}
--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)
	cr=cairo_create(cs)

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

	cairo_destroy(cr)

end




function draw_ring(t)

	local function rgba_to_r_g_b_a(tcolour)
		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

	--initialize table
	setup(t)
	--[[grid
	h=conky_window.height
	w=conky_window.width
	cairo_set_source_rgba(cr,1,1,1,1)
	cairo_set_line_width(cr,0.5)
	cairo_move_to(cr,0,t.yc)
	cairo_line_to(cr,w,t.yc)
	cairo_stroke(cr)
	cairo_move_to(cr,t.xc,0)
	cairo_line_to(cr,t.xc,h)
	cairo_stroke(cr)
	cairo_move_to(cr,t.xc,t.yc)
	cairo_line_to(cr,t.xc+200*math.sin(math.pi/4),t.yc-200*math.cos(math.pi/4))
	cairo_stroke(cr)
	cairo_move_to(cr,0,t.yc-t.radius)
	cairo_line_to(cr,w,t.yc-t.radius)
	cairo_stroke(cr)
	cairo_move_to(cr,0,t.yc-t.int_radius)
	cairo_line_to(cr,w,t.yc-t.int_radius)
	cairo_stroke(cr)
	cairo_move_to(cr,0,t.yc-t.gap_sectors)
	cairo_line_to(cr,w,t.yc-t.gap_sectors)
	cairo_stroke(cr)
	cairo_set_source_rgba(cr,1,0,0,0.5)
	cairo_arc(cr,t.xc,t.yc,t.radius,0,2*math.pi)
	cairo_stroke(cr)
	cairo_arc(cr,t.xc,t.yc,t.int_radius,0,2*math.pi)
	cairo_stroke(cr)
	cairo_set_source_rgba(cr,0,1,0,1)
	cairo_move_to(cr,t.xc+t.gap_sectors,t.yc-t.gap_sectors)
	cairo_line_to(cr,t.xc+400*math.sin(math.pi/4),t.yc-400*math.cos(math.pi/4))
	cairo_stroke(cr)
	--END GRID
	]]

	--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 :
	angleA = ((t.end_angle-t.start_angle)/t.sectors)*math.pi/180
	--value of a sector :
	valueA = t.max/t.sectors
	--first angle of a sector :
	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 #
		 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
		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
		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
		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]]


function axis(ctx,alpha)
	cairo_set_line_width(ctx,1)
	cairo_set_source_rgba(ctx,1,0,0,alpha)
	cairo_move_to(ctx,0,0)
	cairo_line_to(ctx,150,0)
	cairo_stroke(ctx)
	cairo_set_source_rgba(ctx,0,1,0,alpha)
	cairo_move_to(ctx,0,0)
	cairo_line_to(ctx,0,150)
	cairo_stroke(ctx)
end

All in all, not a bad looking conky.


BunsenLabs Forum Rules ---== I'm a Conky 1.9'er ==---
System:    Host: d67 Kernel: 4.9.0-9-amd64 x86_64 (64 bit gcc: 6.3.0)
Desktop: Openbox 3.6.1 Distro: Debian GNU/Linux 9 (stretch)

Offline

#530 2017-04-23 20:29:43

unklar
Member
Registered: 2015-10-31
Posts: 937

Re: Show us your conky

Sector11 wrote:

- - if you know of a better way to show what "desktop/WM" (Env:) is displayed please let me know.
- - - - GNU/ and OpenBox are hardcoded

In antiX the conky reads this data like this:

TEXT
${color3}${alignc}antiX
${color8}$alignc${font DejaVu Sans:size=12}${tztime Europe/Berlin %a.%d.%b %Y} $font
#${color}${alignc}${time %a. %d. %b}
${color3}${alignc}${exec disp=${DISPLAY#:}; disp=${disp%.[0-9]}; cat $HOME/.desktop-session/desktop-code.$disp 2>/dev/null}
${color3}${alignc}${exec xdpyinfo | sed -n -r "s/^\s*dimensions:.*\s([0-9]+x[0-9]+).*/\1/p"}
${color3}${alignc}$kernel
${color3}${alignc}Uptime: $uptime

shotVom.th.jpg

Last edited by unklar (2017-04-23 20:45:40)

Offline

#531 2017-04-23 20:57:38

Sector11
The Tpyo Knig Mod
From: 77345 ¡#
Registered: 2015-08-20
Posts: 5,575

Re: Show us your conky

Thank you unklar ... and I found this:

 23 Apr 17 @ 17:46:28 ~
  $ env | grep DESKTOP_SESSION=
DESKTOP_SESSION=openbox
 
 23 Apr 17 @ 17:46:30 ~
  $ env | grep DESKTOP_SESSION= |cut -c 16-
=openbox
 
 23 Apr 17 @ 17:48:33 ~
  $ env | grep DESKTOP_SESSION= |cut -c 17-
openbox
 
 23 Apr 17 @ 17:48:38 ~
  $ 

Soooooooooo, in conky v1.90 talk:

Env: ${pre_exec env | grep DESKTOP_SESSION= |cut -c 17-}

There is no "$HOME/.desktop-session/" in BL  sad

LOVE this line though:

${exec xdpyinfo | sed -n -r "s/^\s*dimensions:.*\s([0-9]+x[0-9]+).*/\1/p"}

I'll change ${exec ...} to ${pre_exec ...} for conky v1.9  smile


BunsenLabs Forum Rules ---== I'm a Conky 1.9'er ==---
System:    Host: d67 Kernel: 4.9.0-9-amd64 x86_64 (64 bit gcc: 6.3.0)
Desktop: Openbox 3.6.1 Distro: Debian GNU/Linux 9 (stretch)

Offline

#532 2017-04-24 19:04:59

ohnonot
...again
Registered: 2015-09-29
Posts: 4,020
Website

Re: Show us your conky

Sector11 wrote:

You'll need the Future font from that ZIP if you wnat it to look like the original, I could not find it elsewhere.

this one?

Offline

#533 2017-04-24 19:47:35

Sector11
The Tpyo Knig Mod
From: 77345 ¡#
Registered: 2015-08-20
Posts: 5,575

Re: Show us your conky

Yes, I realize that you can go "into" the zip file, at the git site like I said:

You'll need the Future font from that ZIP if you want it to look like the original, I could not find it elsewhere.

By elsewhere I meant any of the font sites on the web.


BunsenLabs Forum Rules ---== I'm a Conky 1.9'er ==---
System:    Host: d67 Kernel: 4.9.0-9-amd64 x86_64 (64 bit gcc: 6.3.0)
Desktop: Openbox 3.6.1 Distro: Debian GNU/Linux 9 (stretch)

Offline

#534 2017-04-25 05:27:01

Temetka
Member
From: Sol System, Western Spiral Arm
Registered: 2015-10-14
Posts: 545

Re: Show us your conky

Looks nice.

I added a few things for fan status, 2nd ssd, battery, changed vpn to wlan

2017-04-24-22-24-53_scrot.th.png

Click the pic to see big pic

Last edited by Temetka (2017-04-25 05:27:31)


The meaning of life is to just be alive. It is so plain and so obvious
    and so simple. And yet everybody rushes aroound in a great panic
             as if it were necessary to achieve something beyond themselves.
                                                                                                             - Alan Watts

Offline

#535 2017-04-27 19:23:04

unklar
Member
Registered: 2015-10-31
Posts: 937

Re: Show us your conky

I have no battery on this machine.
Therefore I decided according to "offer".   big_smile

2017-04-26-20-56-02_scrot.th.png huble.png.th.jpg huble2.th.jpg

bunsen

# Parrot OS Conky tweaked by: mrneilypops
# https://www.mrneilypops.io/parrot-os-conky-tweaked/
## pkill -xf "conky -c /media/5/Conky/Parrot/S11_Parrot.OS.conky" &

## ---------- Begin Window Settings
own_window yes
own_window_type normal
own_window_transparent yes
own_window_hints skip_taskbar,skip_pager,undecorated,below
own_window_colour 000000
own_window_class Conky
own_window_title S11 Parrot OS Conky
## ARGB can be used for real transparencyown_window_hints
#own_window_argb_visual yes ## Options: yes or no
## Valid range is 0-255, where 0 is 0% opacity, and 255 is 100% opacity.
#own_window_argb_value 80

#minimum_size 300 0
#maximum_width 300

gap_x 10 #l|r
gap_y 40 #u|d

minimum_size 248 1020
maximum_width 248

alignment tl

## ---------- End Window Settings
## ---------- Font Settings

## Force UTF8? requires XFT
override_utf8_locale yes

use_xft yes ## Original conky does not include this line
## Use Xft (anti-aliased font and stuff)
#xftfont Future:size=9
#xftfont Liberation Mono:bold:size=9
xftfont Fantasque Sans Mono:bold:size=9
#xftfont Monofur:bold:size=10
#xftfont DejaVu Sans Mono:bold:size=10
#xftfont Fira Mono:bold:size=10
xftalpha 1.0

## --------- End Font Settings
## --------- Color Settings
draw_shades yes
default_shade_color 000000
draw_outline no
default_outline_color 000000

default_color 008080 #Black
color0 008080 #unknown - but dark
color1 0DB3AA #light green in image #008080 #LightSlateGray
color2 FFD700 #Gold
color3 B0E0E6 #PowderBlue
color4 F4A460 #SandyBrown
color5 DEB887 #BurlyWood
color6 00BFFF #DeepSkyBlue
color7 5F9EA0 #CadetBlue
color8 FFA500 #Orange
color9 FF4500 #OrangeRed
## ---------- End Color Settings
## ---------- Begin Borders Section
draw_borders no
## Stippled borders?
stippled_borders 5
## border margins
border_inner_margin 0
border_outer_margin 0
## border width
border_width 2
## graph borders
draw_graph_borders yes ## no
## default_graph_size 15 40
## ---------- End Borders Secton
## ---------- Begin Miscellaneous Section
background yes
use_spacer none
no_buffers yes
imlib_cache_size 0
double_buffer yes
text_buffer_size 1280

update_interval 1
######### not supplied #################
# — Lua Load — #

lua_load /media/DATEN/francescoPC/Conky/Sector11/parrot/parrot_rings.lua
lua_draw_hook_pre main_rings
########################################
TEXT
${image /media/DATEN/francescoPC/Conky/Sector11/parrot/parrot.png -p 0,0 -s 247x621}${voffset 5}${color1}
${goto 20}OS  ${alignr 20}GNU/${sysname}
${goto 16}Distro  ${alignr 20}${pre_exec lsb_release -is | tr "[:upper:]" "[:lower:]"} ${pre_exec lsb_release -rs | tr "[:upper:]" "[:lower:]"}
${goto 16}Name  ${alignr 20}${pre_exec lsb_release -cs | tr "[:upper:]" "[:lower:]"}
${goto 16}Kernel  ${alignr 20}${kernel}
${goto 20}Env ${alignr 20}${pre_exec env | grep DESKTOP_SESSION= |cut -c 17-}
${goto 60}${voffset 55}CPU ${hwmon 1 temp 2}° ${goto 160}${color2}GPU ${hwmon 2 temp 1}°${voffset -55}${color1} 
${voffset 193}${goto 15}RAM ${alignc}${memmax}
${goto 15}Used RAM ${alignc}${memperc}% - ${mem}
${goto 15}Free RAM ${alignc}${memfree}
${goto 15}Procs/Threads ${alignc}${processes} - ${threads}
${voffset 68}${goto 15}${if_up wlan0}wlan0${else}\
${if_up wlan1}wlan1${else}\
${if_up eth0}eth0${else}\
${if_up enp2s0}eth1${endif}${endif}${endif}${endif}\
${goto 93}up${goto 162}dn
${voffset 6}${goto 20}UP:${goto 50}${voffset -10}${if_up wlan0}${upspeedgraph wlan0 30,180 008080 aa0000 0 -t -l}${endif}${if_up wlan1}${upspeedgraph wlan1 30,180 008080 aa0000 0 -t -l}${endif}${if_up eth0}${upspeedgraph eth0 30,180 008080 aa0000 0 -t -l}${endif}${if_up enp2s0}${upspeedgraph enp2s0 30,180 008080 aa0000 0 -t -l}${endif}
${voffset 14}${goto 20}DL:${goto 50}${voffset -10}${if_up wlan0}${downspeedgraph wlan0 30,180 008080 00aa00 0 -t -l}${endif}${if_up wlan1}${downspeedgraph wlan1 30,180 008080 00aa00 0 -t -l}${endif}${if_up eth0}${downspeedgraph eth0 30,180 008080 00aa00 0 -t -l}${endif}${if_up enp2s0}${downspeedgraph enp2s0 30,180 008080 00aa00 0 -t -l}${endif}
${voffset 55}${goto 51}/root${goto 158}/home

#${voffset 55}${goto 30}${font Fantasque Sans Mono:bold:size=12}${color 00a0a0}dmesg${font}
#${goto 2}${color 30ff50}${execi 1 dmesg -t | tail -20 | tac} 

siduction

# Parrot OS Conky tweaked by: mrneilypops
# https://www.mrneilypops.io/parrot-os-conky-tweaked/
## pkill -xf "conky -c /media/5/Conky/Parrot/S11_Parrot.OS.conky" &
## works perfect unklar April 2017

## ---------- Begin Window Settings
own_window yes
own_window_type normal
own_window_transparent yes
own_window_hints skip_taskbar,skip_pager,undecorated,below
own_window_colour 000000
own_window_class Conky
own_window_title S11 Parrot OS Conky
## ARGB can be used for real transparencyown_window_hints
#own_window_argb_visual yes ## Options: yes or no
## Valid range is 0-255, where 0 is 0% opacity, and 255 is 100% opacity.
#own_window_argb_value 80

#minimum_size 300 0
#maximum_width 300

gap_x 10 #l|r
gap_y 40 #u|d

minimum_size 248 650  #1020
maximum_width 248

alignment tl

## ---------- End Window Settings
## ---------- Font Settings

## Force UTF8? requires XFT
override_utf8_locale yes

use_xft yes ## Original conky does not include this line
## Use Xft (anti-aliased font and stuff)
#xftfont Future:size=9
#xftfont Liberation Mono:bold:size=9
xftfont Fantasque Sans Mono:bold:size=9
#xftfont Monofur:bold:size=10
#xftfont DejaVu Sans Mono:bold:size=10
#xftfont Fira Mono:bold:size=10
xftalpha 1.0

## --------- End Font Settings
## --------- Color Settings
draw_shades yes
default_shade_color 000000
draw_outline no
default_outline_color 000000

default_color 008080 #Black
color0 008080 #unknown - but dark
color1 0DB3AA #light green in image #008080 #LightSlateGray
color2 FFD700 #Gold
color3 B0E0E6 #PowderBlue
color4 F4A460 #SandyBrown
color5 DEB887 #BurlyWood
color6 00BFFF #DeepSkyBlue
color7 5F9EA0 #CadetBlue
color8 FFA500 #Orange
color9 FF4500 #OrangeRed
## ---------- End Color Settings
## ---------- Begin Borders Section
draw_borders no
## Stippled borders?
stippled_borders 5
## border margins
border_inner_margin 0
border_outer_margin 0
## border width
border_width 2
## graph borders
draw_graph_borders yes ## no
## default_graph_size 15 40
## ---------- End Borders Secton
## ---------- Begin Miscellaneous Section
background yes
use_spacer none
no_buffers yes
imlib_cache_size 0
double_buffer yes
text_buffer_size 1280

update_interval 1
######### not supplied #################
# — Lua Load — #

lua_load ~/S11/parrot/parrot_rings.lua
lua_draw_hook_pre main_rings
########################################
TEXT
${image /home/unklarer/S11/parrot/parrot.png -p 0,0 -s 247x621}${voffset 5}${color1}
${goto 20}OS  ${alignr 17}GNU/${sysname}
${goto 16}Distro  ${alignr 17}${pre_exec lsb_release -is | tr "[:upper:]" "[:lower:]"} ${pre_exec lsb_release -rs | tr "[:upper:]" "[:lower:]"}
${goto 16}Name  ${alignr 17}${pre_exec lsb_release -cs | tr "[:upper:]" "[:lower:]"}
${goto 16}Knl  ${alignr 17}${kernel}
${goto 20}Env ${alignr 17}${pre_exec env | grep DESKTOP_SESSION= |cut -c 17-}
${goto 60}${voffset 55}CPU ${hwmon 2 temp 2}° ${goto 160}${color2}GPU ${hwmon 0 temp 1}°${voffset -55}${color1}
${voffset 193}${goto 15}RAM ${alignc}${memmax}
${goto 15}Used RAM ${alignc}${memperc}% - ${mem}
${goto 15}Free RAM ${alignc}${memfree}
${goto 15}Procs/Threads ${alignc}${processes} - ${threads}
${voffset 68}${goto 15}${if_up wlan0}wlan0${else}\
${if_up wlan1}wlan1${else}\
${if_up eth0}eth0${else}\
${if_up enp2s0}eth1${endif}${endif}${endif}${endif}\
${goto 93}up${goto 162}dn
${voffset 6}${goto 20}UP:${goto 50}${voffset -10}${if_up wlan0}${upspeedgraph wlan0 30,180 008080 aa0000 0 -t -l}${endif}${if_up wlan1}${upspeedgraph wlan1 30,180 008080 aa0000 0 -t -l}${endif}${if_up eth0}${upspeedgraph eth0 30,180 008080 aa0000 0 -t -l}${endif}${if_up enp2s0}${upspeedgraph enp2s0 30,180 008080 aa0000 0 -t -l}${endif}
${voffset 14}${goto 20}DL:${goto 50}${voffset -10}${if_up wlan0}${downspeedgraph wlan0 30,180 008080 00aa00 0 -t -l}${endif}${if_up wlan1}${downspeedgraph wlan1 30,180 008080 00aa00 0 -t -l}${endif}${if_up eth0}${downspeedgraph eth0 30,180 008080 00aa00 0 -t -l}${endif}${if_up enp2s0}${downspeedgraph enp2s0 30,180 008080 00aa00 0 -t -l}${endif}
${voffset 55}${goto 51}/root${goto 158}/home

#${voffset 55}${goto 30}${font Fantasque Sans Mono:bold:size=12}${color 00a0a0}dmesg${font}
#${goto 2}${color 30ff50}${execi 1 dmesg -t | tail -20 | tac} 

mga5

# Parrot OS Conky tweaked by: mrneilypops
# https://www.mrneilypops.io/parrot-os-conky-tweaked/
## pkill -xf "conky -c /media/5/Conky/Parrot/S11_Parrot.OS.conky" &
## works perfect unklar April 2017

## ---------- Begin Window Settings
own_window yes
own_window_type normal
own_window_transparent yes
own_window_hints skip_taskbar,skip_pager,undecorated,below
#own_window_colour 000000
own_window_class Conky
own_window_title S11 Parrot OS Conky
## ARGB can be used for real transparencyown_window_hints
own_window_argb_visual yes ## Options: yes or no
## Valid range is 0-255, where 0 is 0% opacity, and 255 is 100% opacity.
own_window_argb_value 80

#minimum_size 300 0
#maximum_width 300

gap_x 10 #l|r
gap_y 40 #u|d

minimum_size 248 650  #1020
maximum_width 248

alignment tl

## ---------- End Window Settings
## ---------- Font Settings

## Force UTF8? requires XFT
override_utf8_locale yes

use_xft yes ## Original conky does not include this line
## Use Xft (anti-aliased font and stuff)
#xftfont Future:size=9
#xftfont Liberation Mono:bold:size=9
xftfont Fantasque Sans Mono:bold:size=9
#xftfont Monofur:bold:size=10
#xftfont DejaVu Sans Mono:bold:size=10
#xftfont Fira Mono:bold:size=10
xftalpha 1.0

## --------- End Font Settings
## --------- Color Settings
draw_shades yes
default_shade_color 000000
draw_outline no
default_outline_color 000000

default_color 008080 #Black
color0 008080 #unknown - but dark
color1 0DB3AA #light green in image #008080 #LightSlateGray
color2 FFD700 #Gold
color3 B0E0E6 #PowderBlue
color4 F4A460 #SandyBrown
color5 DEB887 #BurlyWood
color6 00BFFF #DeepSkyBlue
color7 5F9EA0 #CadetBlue
color8 FFA500 #Orange
color9 FF4500 #OrangeRed
## ---------- End Color Settings
## ---------- Begin Borders Section
draw_borders no
## Stippled borders?
stippled_borders 5
## border margins
border_inner_margin 0
border_outer_margin 0
## border width
border_width 2
## graph borders
draw_graph_borders yes ## no
## default_graph_size 15 40
## ---------- End Borders Secton
## ---------- Begin Miscellaneous Section
background yes
use_spacer none
no_buffers yes
imlib_cache_size 0
double_buffer yes
text_buffer_size 1280

update_interval 1
######### not supplied #################
# — Lua Load — #

lua_load ~/S11/parrot/parrot_rings.lua
lua_draw_hook_pre main_rings
########################################
TEXT
${image /home/unklar/S11/parrot/parrot.png -p 0,0 -s 247x621}${voffset 5}${color1}
${goto 20}OS  ${alignr 20}GNU/${sysname}
${goto 16}Distro  ${alignr 20}${pre_exec lsb_release -is | tr "[:upper:]" "[:lower:]"} ${pre_exec lsb_release -rs | tr "[:upper:]" "[:lower:]"}
${goto 16}Name  ${alignr 20}${pre_exec lsb_release -cs | tr "[:upper:]" "[:lower:]"}
${goto 16}Kernel  ${alignr 20}${kernel}
${goto 20}Env ${alignr 20}${pre_exec env | grep DESKTOP_SESSION= |cut -c19-}
${goto 60}${voffset 55}CPU ${hwmon 1 temp 2}° ${goto 160}${color2}MB ${hwmon 0 temp 2}°${voffset -55}${color1} 
${voffset 193}${goto 15}RAM ${alignc}${memmax}
${goto 15}Used RAM ${alignc}${memperc}% - ${mem}
${goto 15}Free RAM ${alignc}${memfree}
${goto 15}Procs/Threads ${alignc}${processes} - ${threads}
${voffset 68}${goto 15}${if_up wlan0}wlan0${else}\
${if_up wlan1}wlan1${else}\
${if_up eth0}eth0${else}\
${if_up enp2s0}eth1${endif}${endif}${endif}${endif}\
${goto 93}up${goto 162}dn
${voffset 6}${goto 20}UP:${goto 50}${voffset -10}${if_up wlan0}${upspeedgraph wlan0 30,180 008080 aa0000 0 -t -l}${endif}${if_up wlan1}${upspeedgraph wlan1 30,180 008080 aa0000 0 -t -l}${endif}${if_up eth0}${upspeedgraph eth0 30,180 008080 aa0000 0 -t -l}${endif}${if_up enp2s0}${upspeedgraph enp2s0 30,180 008080 aa0000 0 -t -l}${endif}
${voffset 14}${goto 20}DL:${goto 50}${voffset -10}${if_up wlan0}${downspeedgraph wlan0 30,180 008080 00aa00 0 -t -l}${endif}${if_up wlan1}${downspeedgraph wlan1 30,180 008080 00aa00 0 -t -l}${endif}${if_up eth0}${downspeedgraph eth0 30,180 008080 00aa00 0 -t -l}${endif}${if_up enp2s0}${downspeedgraph enp2s0 30,180 008080 00aa00 0 -t -l}${endif}
${voffset 55}${goto 51}/root${goto 158}/home

#${voffset 55}${goto 30}${font Fantasque Sans Mono:bold:size=12}${color 00a0a0}dmesg${font}
#${goto 2}${color 30ff50}${execi 1 dmesg -t | tail -20 | tac} 

note the different hwmon - Settings on the same computer  wink

Last edited by unklar (2017-04-28 10:12:13)

Offline

#536 2017-04-27 20:20:48

Sector11
The Tpyo Knig Mod
From: 77345 ¡#
Registered: 2015-08-20
Posts: 5,575

Re: Show us your conky

^ NICE! x3 smile


BunsenLabs Forum Rules ---== I'm a Conky 1.9'er ==---
System:    Host: d67 Kernel: 4.9.0-9-amd64 x86_64 (64 bit gcc: 6.3.0)
Desktop: Openbox 3.6.1 Distro: Debian GNU/Linux 9 (stretch)

Offline

#537 2017-04-27 23:18:32

PackRat
jgmenu user Numero Uno
Registered: 2015-10-02
Posts: 1,103

Re: Show us your conky

Cutting the system information to the bare essentials. Clock and battery handled by tint2:

scrot-shot-Thu_27_1493334825.th.png

Tao Te Ching conky set to a key binding.


You must unlearn what you have learned.
    -- yoda

Offline

#538 2017-04-28 01:05:26

Sector11
The Tpyo Knig Mod
From: 77345 ¡#
Registered: 2015-08-20
Posts: 5,575

Re: Show us your conky

For me one of the bare essentials is CPU Temp, but then I burned one up  smile

Always liked your "Tao" conky, I've read quite a few. 
How many are there?


BunsenLabs Forum Rules ---== I'm a Conky 1.9'er ==---
System:    Host: d67 Kernel: 4.9.0-9-amd64 x86_64 (64 bit gcc: 6.3.0)
Desktop: Openbox 3.6.1 Distro: Debian GNU/Linux 9 (stretch)

Offline

#539 2017-04-28 10:00:38

unklar
Member
Registered: 2015-10-31
Posts: 937

Re: Show us your conky

Sector11 wrote:

^ NICE! x3 smile

Thank you!  smile

Offline

#540 2017-04-28 12:05:45

PackRat
jgmenu user Numero Uno
Registered: 2015-10-02
Posts: 1,103

Re: Show us your conky

Sector11 wrote:

For me one of the bare essentials is CPU Temp, but then I burned one up  smile

Always liked your "Tao" conky, I've read quite a few. 
How many are there?

There are 81 entries in The Book of the Way - at least in the translation I'm using.

I still have conkies with the CPU temps set up with key bindings, but on these intel chips the hwmon method doesn't always work - especially after a kernel upgrade. On a rolling release like Void that's sort of inconvenient. My options were to go back to using a bash script with awk to get the temps, or just take them out and go minimal.


You must unlearn what you have learned.
    -- yoda

Offline

#541 2017-04-28 12:17:23

PackRat
jgmenu user Numero Uno
Registered: 2015-10-02
Posts: 1,103

Re: Show us your conky

scrot-shot-Apr_28_1493381257.th.png

I think the HowTo for the Tao conky is gone - or at least hard to find, it was on the #! forum. So I'll post the files here if only as an archive:

.conkyrc

conky.config = {
--#############################################
-- Settings
--#############################################
	background = true,
--font terminus-10
	use_xft = true,
	font = 'Source Sans Pro:Regular:size=11',
	xftalpha = 1.0,
	update_interval = 1,
-- update_interval_on_battery 600.0
	total_run_times = 0,
	own_window = true,
	own_window_type = 'desktop',
	own_window_colour = '#0F0F0F',
	own_window_transparent = true,
-- own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
	own_window_hints = 'sticky,skip_taskbar,skip_pager',
	own_window_class = 'conkytao',
	own_window_title = 'conkytao',
--#############################################
-- Compositing tips:
-- Conky can play strangely when used with
-- different compositors. I have found the
-- following to work well, but your mileage
-- may vary. Comment/uncomment to suit.
--#############################################
--#
--own_window_argb_visual yes
--own_window_argb_value 2

--# xcompmgr
--own_window_type override
--own_window_argb_visual yes

--# cairo-compmgr
--own_window_type desktop
--own_window_argb_visual yes
--#############################################

	if_up_strictness = 'address',
	double_buffer = true,
	minimum_width = 388, minimum_height = 4,
	maximum_width = 388,
	draw_shades = false,
	draw_outline = false,
	draw_borders = false,
	draw_graph_borders = false,
-- default_color tan2
	default_color = '#F3F3FF',
	color7 = '#09F609',
	color8 = '#ffff00',
	color9 = '#f40e0e',
	default_shade_color = '#000000',
	default_outline_color = '#828282',
	alignment = 'middle_left',
	gap_x = 12,
	gap_y = 0,
	no_buffers = true,
	uppercase = false,
	cpu_avg_samples = 2,
	override_utf8_locale = true,
	short_units = true,
	imlib_cache_size = 128,
	pad_percents = 1,
	max_specials = '2048',
	max_user_text = 3000,
	text_buffer_size = 1024,
	no_buffers = true,
	uppercase = false,
	border_inner_margin = 2,
	border_outer_margin = 0,

	lua_load = '$HOME/conky/lua_wide.lua',

-- ${voffset 12}${execpi 1200 $HOME/bin/taoread.sh}

};

conky.text = [[
${voffset 12}${lua_parse tao {4,0,0,0,0,0x090909,0.40,"Paprika",9,"Regular","$HOME/bin/taoread.sh",40,600}}
]];

taoread.sh  # make this file executable and save it to a location on your $PATH

#!/bin/sh
# a script for outputting a verse of the Tao Te Ching.

tao=$HOME/conky/tao.txt
verse=0
# you can chose between /dev/random which is slow but provides ``more random''
# numbers than the faster /dev/urandom
dev_rand=/dev/urandom
#dev_rand=/dev/random

# if we have no arguments we pick a random verse
if [ $# -eq 0 ]; then
  # find a random number between 1 and 81 and save it to verse
  while [ $verse -lt 1 ] || [ $verse -gt 81 ]; do
    # take one byte (-n1) from /dev/[u]random and save its decimal value to verse (-e '"%1d"') (see "man hexdump")
    verse=`hexdump -e '"%1d"' -n1 $dev_rand`
  done
# if we have exactly one argument we pick that verse
elif [ $# -eq 1 ]; then
  # the verse must be a number between 1 and 81
  if [ $1 -ge 1 ] && [ $1 -le 81 ]; then
    verse=$1
  else
    echo "The Tao Te Ching only has 81 verses." >&2
    echo "If you require even more wisdom, sit down and think of nothing." >&2
    exit 1
  fi
# we got the wrong number of arguments
else
  echo "Too many arguments." >&2
  echo "Use 'tao' for a random verse, or 'tao [1-81]' for a specific verse." >&2
  exit 1
fi

stop=$(($verse+1))
# look into the text file and search for the verse number
sed -n -e '/^---'$verse'---$/,${/^---'$stop'---$/q;p;}' $tao

tao.txt    # 81 verse The Book of the Way

# Tao Te Ching: The Book of The Way
# Lao-Tzu
# Translated by Stephen Mitchell
# Typed out by rhowaldt

---1---
The tao that can be told
is not the eternal Tao.
The name that can be named
is not the eternal Name.

The unnamable is the eternally real.
Naming is the origin
of all particular things.

Free from desire, you realize the mystery.
Caught in desire, you see only the manifestations.

Yet mystery and manifestations
arise from the same source.
This source is called darkness.

Darkness within darkness.
The gateway to all understanding.

---2---
When people see some things as beautiful,
other things become ugly.
When people see some things as good,
other things become bad.

Being and non-being create each other.
Difficult and easy support each other.
Long and short define each other.
High and low depend on each other.
Before and after follow each other.

Therefore the Master
acts without doing anything
and teaches without saying anything.
Things arise and she lets them come;
things disappear and she lets them go.
She has but doesn't possess,
acts but doesn't expect.
When her work is done, she forgets it.
That is why it lasts forever.

---3---
If you overesteem great men,
people become powerless.
If you overvalue possessions,
people begin to steal.

The Master leads
by emptying people's minds
and filling their cores
by weakening their ambition
and toughening their resolve.
He helps people lose everything
they know, everything they desire,
and creates confusion
in those who think that they know.

Practice not-doing,
and everything will fall into place.

---4---
The Tao is like a well:
used but never used up.
It is like the eternal void:
filled with infinite possibilities.

It is hidden but always present.
I don't know who gave birth to it.
It is older than God.

---5---
The Tao doesn't take sides;
it gives birth to both good and evil.
The Master doesn't take sides;
she welcomes both saints and sinners.

The Tao is like a bellows:
it is empty yet infinitely capable.
The more you use it, the more it produces;
the more you talk of it, the less you understand.

Hold on to the center.

---6---
The Tao is called the Great Mother:
empty yet inexhaustible,
it gives birth to infinite worlds.

It is always present within you.
You can use it any way you want.

---7---
The Tao is infinite, eternal.
Why is it eternal?
It was never born;
thus it can never die.
Why is it infinite?
It has no desires for itself;
thus it is present for all beings.

The Master stays behind;
that is why she is ahead.
She is detached from all things;
that is why she is one with them.
Because she has let go of herself,
she is perfectly fulfilled.

---8---
The supreme good is like water,
which nourishes all things without trying to.
It is content with the low places that people disdain.
Thus it is like the Tao.

In dwelling, live close to the ground.
In thinking, keep to the simple.
In conflict, be fair and generous.
In governing, don't try to control.
In work, do what you enjoy.
In family life, be completely present.

When you are content to be simply yourself
and don't compare or compete,
everybody will respect you.

---9---
Fill your bowl to the brim
and it will spill.
Keep sharpening your knife
and it will blunt.
Chase after money and security
and your heart will never unclench.
Care about people's approval
and you will be their prisoner.

Do your work, then step back.
The only path to serenity.

---10---
Can you coax your mind from its wandering
and keep to the original oneness?
Can you let your body become
supple as a newborn child's?
Can you cleanse your inner vision
until you see nothing but the light?
Can you love people and lead them
without imposing your will?
Can you deal with the most vital matters
by letting events take their course?
Can you step back from your own mind
and thus understand all things?

Giving birth and nourishing,
having without possessing,
acting with no expectations,
leading and not trying to control:
this is the supreme virtue.

---11---
We join spokes together in a wheel,
but it is the center hole
that makes the wagon move.

We shape clay into a pot,
but it is the emptiness inside
that holds whatever we want.

We hammer wood for a house,
but it is the inner space
that makes it livable.

We work with being,
but non-being is what we use.

---12---
Colors blind the eye.
Sounds deafen the ear.
Flavors numb the taste.
Thoughts weaken the mind.
Desires wither the heart.

The Master observes the world
but trusts his inner vision.
He allows things to come and go.
His heart is open as the sky.

---13---
Success is as dangerous as failure.
Hope is as hollow as fear.

What does it mean that success is as dangerous as failure?
Whether you go up the ladder or down it,
your position is shaky.
When you stand with your two feet on the ground,
you will always keep your balance.

What does it mean that hope is as hollow as fear?
Hope and fear are both phantoms
that arise from thinking of the self.
When we don't see the self as self,
what do we have to fear?

See the world as your self.
Have faith in the way things are.
Love the world as your self;
then you can care for all things.

---14---
Look, and it can't be seen.
Listen, and it can't be heard.
Reach, and it can't be grasped.

Above, it isn't bright.
Below, it isn't dark.
Seamless, unnamable,
it returns to the realm of nothing.
Form that includes all forms,
image without an image,
subtle, beyond all conception.

Approach it and there is no beginning;
follow it and there is no end.
You can't know it, but you can be it,
at ease in your own life.
Just realize where you come from:
this is the essence of wisdom.

---15---
The ancient Masters were profound and subtle.
Their wisdom was unfathomable.
There is no way to describe it;
all we can describe is their appearance.

They were careful
as someone crossing an iced-over stream.
Alert as a warrior in enemy territory.
Courteous as a guest.
Fluid as melting ice.
Shapable as a block of wood.
Receptive as a valley.
Clear as a glass of water.

Do you have the patience to wait
till your mud settles and the water is clear?
Can you remain unmoving
till the right action arises by itself?

The Master doesn't seek fulfillment.
Not seeking, not expecting,
she is present, and can welcome all things.

---16---
Empty your mind of all thoughts.
Let your heart be at peace.
Watch the turmoil of beings,
but contemplate their return.

Each separate being in the universe
returns to the common source.
Returning to the source is serenity.

If you don't realize the source,
you stumble in confusion and sorrow.
When you realize where you come from,
you naturally become tolerant,
disinterested, amused,
kindhearted as a grandmother,
dignified as a king.
Immersed in the wonder of the Tao,
you can deal with whatever life brings you,
and when death comes, you are ready.

---17---
When the Master governs, the people
are hardly aware that he exists.
Next best is a leader who is loved.
Next, one who is feared.
The worst is one who is despised.

If you don't trust the people,
you make them untrustworthy.

The Master doesn't talk, he acts.
When his work is done,
the people say, "Amazing:
we did it, all by ourselves!"

---18---
When the great Tao is forgotten,
goodness and piety appear.
When the body's intelligence declines,
cleverness and knowledge step forth.
When there is no peace in the family,
filial piety begins.
When the country falls into chaos,
patriotism is born.

---19---
Throw away holiness and wisdom,
and people will be a hundred times happier.
Throw away morality and justice,
and people will do the right thing.
Throw away industry and profit,
and there won't be any thieves.

If these three aren't enough,
just stay at the center of the circle
and let all things take their course.

---20---
Stop thinking, and end your problems.
What difference between yes and no?
What difference between success and failure?
Must you value what others value,
avoid what others avoid?
How ridiculous!

Other people are excited,
as though they were at a parade.
I alone don't care,
I alone am expressionless,
like an infant before it can smile.

Other people have what they need;
I alone possess nothing.
I alone drift about,
like someone without a home.
I am like an idiot, my mind is so empty.

Other people are bright;
I alone am dark.
Other people are sharp;
I alone am dull.
Other people have a purpose;
I alone don't know.
I drift like a wave on the ocean,
I blow as aimless as the wind.

I am different from ordinary people.
I drink from the Great Mother's breasts.

---21---
The Master keeps her mind
always at one with the Tao;
that is what gives her her radiance.

The Tao is ungraspable.
How can her mind be at one with it?
Because she doesn't cling to ideas.

The Tao is dark and unfathomable.
How can it make her radiant?
Because she lets it.

Since before time and space were,
the Tao is.
It is beyond 'is' and 'is not'.
How do I know this is true?
I look inside myself and see.

---22---
If you want to become whole,
let yourself be partial.
If you want to become straight,
let yourself be crooked.
If you want to become full,
let yourself be empty.
If you want to be reborn,
let yourself die.
If you want to be given everything,
give everything up.

The Master, by residing in the Tao,
sets an example for all beings.
Because he doesn't display himself,
people can see his light.
Because he has nothing to prove,
people can trust his words.
Because he doesn't know who he is,
people recognize themselves in him.
Because he has no goal in mind,
everything he does succeeds.

When the ancient Masters said,
"If you want to be given everything,
give everything up,"
they weren't using empty phrases.
Only in being lived by the Tao
can you be truly yourself.

---23---
Express yourself completely,
then keep quiet.
Be like the forces of nature:
when it blows, there is only wind;
when it rains, there is only rain;
when the clouds pass, the sun shines through.

If you open yourself to the Tao,
you are at one with the Tao
and you can embody it completely.
If you open yourself to insight,
you are at one with insight
and you can use it completely.
If you open yourself to loss,
you are at one with loss
and you can accept it completely.

Open yourself to the Tao,
then trust your natural responses;
and everything will fall into place.

---24---
He who stands on tiptoe
doesn't stand firm.
He who rushes ahead
doesn't go far.
He who tries to shine
dims his own light.
He who defines himself
can't know who he really is.
He who has power over others
can't empower himself.
He who clings to his work
will create nothing that endures.

If you want to accord with the Tao,
just do your job, then let go.

---25---
There was something formless and perfect
before the universe was born.
It is serene. Empty.
Solitary. Unchanging.
Infinite. Eternally present.
It is the mother of the universe.
For lack of a better name,
I call it the Tao.

It flows through all things,
inside and outside, and returns
to the origin of all things.

The Tao is great.
The universe is great.
Earth is great.
Man is great.
These are the four great powers.

Man follows the earth.
Earth follows the universe.
The universe follows the Tao.
The Tao follows only itself.

---26---
The heavy is the root of the light.
The unmoved is the source of all movement.

Thus the Master travels all day
without leaving home.
However splendid the views,
she stays serenely in herself.

Why should the lord of the country
flit about like a fool?
If you let yourself be blown to and fro,
you lose touch with your root.
If you let restlessness move you,
you lose touch with who you are.

---27---
A good traveler has no fixed plans
and is not intent upon arriving.
A good artist lets his intuition
lead him wherever it wants.
A good scientist has freed himself of concept
and keeps his mind open to what is.

Thus the Master is available to all people
and doesn't reject anyone.
He is ready to use all situations
and doesn't waste anything.
This is called embodying the light.

What is a good man but a bad man's teacher?
What is a bad man but a good man's job?
If you don't understand this, you will get lost,
however intelligent you are.
It is the greatest secret.

---28---
Know the male,
yet keep to the female:
receive the world in your arms.
If you receive the world,
the Tao will never leave you
and you will be like a little child.

Know the white,
yet keep to the black:
be a pattern for the world.
If you are a pattern for the world,
the Tao will be strong inside you
and there will be nothing you can't do.

Know the personal,
yet keep to the impersonal:
accept the world as it is.
If you accept the world,
the Tao will be luminous inside you
and you will return to your primal self.

The world is formed from the void,
like utensils from a block of wood.
The Master knows the utensils,
yet keeps to the block:
thus she can use all things.

---29---
Do you want to improve the world?
I don't think it can be done.

The world is sacred.
It can't be improved.
If you tamper with it, you'll ruin it.
If you treat it like an object, you'll lose it.

There is a time for being ahead,
a time for being behind;
a time for being in motion,
a time for being at rest;
a time for being vigorous,
a time for being exhausted;
a time for being safe,
a time for being in danger.

The Master sees the things as they are,
without trying to control them.
She lets them go their own way,
and resides at the center of the circle.

---30---
Whoever relies on the Tao in governing men
doesn't try to force issues
or defeat enemies by force of arms.
For every force there is a counterforce.
Violence, even well intentioned,
always rebounds upon oneself.

The Master does his job
and then stops.
He understands that the universe
is forever out of control,
and that trying to dominate events
goes against the current of the Tao.
Because he believes in himself,
he doesn't try to convince others.
Because he is content with himself,
he doesn't need others' approval.
Because he accepts himself,
the whole world accepts him.

---31---
Weapons are the tools of violence;
all decent men detest them.

Weapons are the tools of fear;
a decent man will avoid them
except in the direct necessity
and, if compelled, will use them
only with the utmost restraint.
Peace is his highest value.
If the peace has been shattered,
how can he be content?
His enemies are not demons,
but human beings like himself.
He doesn't wish them personal harm.
Nor does he rejoice in victory.
How could he rejoice in victory
and delight in the slaughter of men?

He enters a battle gravely,
with sorrow and with great compassion,
as if he were attending a funeral.

---32---
The Tao can't be perceived.
Smaller than an electron,
it contains uncountable galaxies.

If powerful men and women
could remain centered in the Tao,
all things would be in harmony.
The world would become a paradise.
All people would be at peace,
and the law would be written in their hearts.

When you have names and forms,
know that they are provisional.
When you have institutions,
know where their functions should end.
Knowing when to stop,
you can avoid any danger.

All things end in the Tao
as rivers flow into the sea.

---33---
Knowing others is intelligence;
knowing yourself is true wisdom.
Mastering others is strength;
mastering yourself is true power.

If you realize that you have enough,
you are truly rich.
If you stay in the center
and embrace death with your whole heart,
you will endure forever.

---34---
The great Tao flows everywhere.
All things are born from it,
yet is doesn't create them.
It pours itself into its work,
yet it makes no claim.
It nourishes infinite worlds,
yet it doesn't hold on to them.
Since it is merged with all things
and hidden in their hearts,
it can be called humble.
Since all things vanish into it
and it alone endures,
it can be called great.
It isn't aware of its greatness;
thus it is truly great.

---35---
She who is centered in the Tao
can go where she wishes, without danger.
She perceives the universal harmony,
even amid great pain,
because she has found peace in her heart.

Music or the smell of good cooking
may make people stop and enjoy.
But words that point to the Tao
seem monotonous and without flavor.
When you look for it, there is nothing to see.
When you listen for it, there is nothing to hear.
When you use it, it is inexhaustible.

---36---
If you want to shrink something,
you must first allow it to expand.
If you want to get rid of something,
you must first allow it to flourish.
If you want to take something,
you must first allow it to be given.
This is called the subtle perception
of the way things are.

The soft overcomes the hard.
The slow overcomes the fast.
Let your workings remain a mystery.
Just show people the results.

---37---
The Tao never does anything,
yet through it all things are done.

If powerful men and women
could center themselves in it,
the world would be transformed
by itself, in its natural rhythms.
People would be content
with their simple, everyday lives,
in harmony, and free of desire.

When there is no desire,
all things are at peace.

---38---
The Master doesn't try to be powerful;
thus he is truly powerful.
The ordinary man keeps reaching for power;
thus he never has enough.

The Master does nothing,
yet he leaves nothing undone.
The ordinary man is always doing things,
yet many more are left to be done.

The kind man does something,
yet something remains undone.
The just man does something,
and leaves many things to be done.
The moral man does something,
and when no one responds
he rolls up his sleeves and uses force.

When the Tao is lost, there is goodness.
When goodness is lost, there is morality.
When morality is lost, there is ritual.
Ritual is the husk of true faith,
the beginning of chaos.

Therefore the Master concerns himself
with the depths and not the surface,
with the fruit and not the flower.
He has no will of his own.
He dwells in reality,
and lets all illusions go.

---39---
In harmony with the Tao,
the sky is clear and spacious,
the earth is solid and full,
all creatures flourish together,
content with the way they are,
endlessly repeating themselves,
endlessly renewed.

When man interferes with the Tao,
the sky becomes filthy,
the earth becomes depleted,
the equilibrium crumbles,
creatures become extinct.

The Master views the parts with compassion,
because he understands the whole.
His constant practice is humility.
He doesn't glitter like a jewel
but lets himself be shaped by the Tao,
as rugged and common as a stone.

---40---
Return is the movement of the Tao.
Yielding is the way of the Tao.

All things are born of being.
Being is born of non-being.

---41---
When a superior man hears of the Tao,
he immediately begins to embody it.
When an average man hears of the Tao,
he half believes it, half doubts it.
When a foolish man hears of the Tao,
he laughs out loud.
If he didn't laugh,
it wouldn't be the Tao.

Thus it is said:
The path into the light seems dark,
the path forward seems to go back,
the direct path seems long,
true power seems weak,
true purity seems tarnished,
true steadfastness seems changeable,
true clarity seems obscure,
the greatest art seems unsophisticated,
the greatest love seems indifferent,
the greatest wisdom seems childish.

The Tao is nowhere to be found.
Yet it nourishes and completes all things.

---42---
The Tao gives birth to One.
One gives birth to Two.
Two gives birth to Three.
Three gives birth to all things.

All things have their backs to the female
and stand facing the male.
When male and female combine,
all things achieve harmony.

Ordinary men hate solitude.
But the Master makes use of it,
embracing his aloneness, realizing
he is one with the whole universe.

---43---
The gentlest thing in the world
overcomes the hardest thing in the world.
That which has no substance
enters where there is no space.
This shows the value of non-action.

Teaching without words,
performing without actions:
that is the Master's way.

---44---
Fame or integrity: which is more important?
Money or happiness: which is more valuable?
Success or failure: which is more destructive?

If you look to others for fulfillment,
you will never truly be fulfilled.
If you happiness depends on money,
you will never be happy with yourself.

Be content with what you have;
rejoice in the way things are.
When you realize there is nothing lacking,
the whole world belongs to you.

---45---
True perfection seems imperfect,
yet it is perfectly itself.
True fullness seems empty,
yet it is fully present.

True straightness seems crooked.
True wisdom seems foolish.
True art seems artless.

The Master allows things to happen.
She shapes events as they come.
She steps out of the way
and lets the Tao speak for itself.

---46---
When a country is in harmony with the Tao,
the factories make trucks and tractors.
When a country goes counter to the Tao,
warheads are stockpiled outside the cities.

There is no greater illusion than fear,
no greater wrong than preparing to defend yourself,
no greater misfortune than having an enemy.

Whoever can see through all fear
will always be safe.

---47---
Without opening your door,
you can open your heart to the world.
Without looking out your window,
you can see the essence of the Tao.

The more you know,
the less you understand.

The Master arrives without leaving,
sees the light without looking,
achieves without doing a thing.

---48---
In the pursuit of knowledge,
every day something is added.
In the practice of the Tao,
every day something is dropped.
Less and less do you need to force things,
until finally you arrive at non-action.
When nothing is done,
nothing is left undone.

True mastery can be gained
by letting things go their own way.
It can't be gained by interfering.

---49---
The Master has no mind of her own.
She works with the mind of the people.

She is good to people who are good.
She is also good to people who aren't good.
This is true goodness.

She trusts people who are trustworthy.
She also trusts people who aren't trustworthy.
This is true trust.

The Master's mind is like space.
People don't understand her.
They look to her and wait.
She treats them like her own children.

---50---
The Master gives himself up
to whatever the moment brings.
He knows that he is going to die,
and he has nothing left to hold on to:
no illusions in his mind,
no resistances in his body.
He doesn't think about his actions;
they flow from the core of his being.
He holds nothing back from life;
therefore he is ready for death,
as a man is ready for sleep
after a good day's work.

---51---
Every being in the universe
is an expression of the Tao.
It springs into existence,
unconscious, perfect, free,
takes on a physical body,
lets circumstances complete it.
That is why every being
spontaneously honors the Tao.

The Tao gives birth to all beings,
nourishes them, maintains them,
cares for them, comforts them, protects them,
takes them back to itself,
creating without possessing,
acting without expecting,
guiding without interfering.
That is why love of the Tao
is in the very nature of things.

---52---
In the beginning was the Tao.
All things issue from it;
all things return to it.

To find the origin,
trace back the manifestations.
When you recognize the children
and find the mother,
you will be free of sorrow.

If you close your mind in judgments
and traffic with desires,
your heart will be troubled.
If you keep your mind from judging
and aren't led by the senses,
your heart will find peace.

Seeing into darkness is clarity.
Knowing how to yield is strength.
Use your own light
and return to the source of the light.
This is called practicing eternity.

---53---
The great Way is easy,
yet people prefer the side paths.
Be aware when things are out of balance.
Stay centered within the Tao.

When rich speculators prosper
while farmers lose their land;
when government officials spend money
on weapons instead of cures;
when the upper class is extravagant and irresponsible
while the poor have nowhere to turn--
all this is robbery and chaos.
It is not in keeping with the Tao.

---54---
Whoever is planted in the Tao
will not be rooted up.
Whoever embraces the Tao
will not slip away.
Her name will be held in honor
from generation to generation.

Let the Tao be present in your life
and you will become genuine.
Let it be present in your family
and your family will flourish.
Let it be present in your country
and your country will be an example
to all countries in the world.
Let it be present in the universe
and the universe will sing.

How do i know this is true?
By looking inside myself.

---55---
He who is in harmony with the Tao
is like a newborn child.
Its bones are soft, its muscles are weak,
but its grip is powerful.
It doesn't know the union
of male and female,
yet its penis can stand erect,
so intense is its vital power.
It can scream its head off all day,
yet it never becomes hoarse,
so complete is its harmony.

The Master's power is like this.
He lets all things come and go
effortlessly, without desire.
He never expects results;
thus he is never disappointed.
He is never disappointed;
thus his spirit never grows old.

---56---
Those who know don't talk.
Those who talk don't know.

Close your mouth,
block off your senses,
blunt your sharpness,
untie your knots,
soften your glare,
settle your dust.
This is the primal identity.

Be like the Tao.
It can't be approached or withdrawn from,
benefited or harmed,
honored or brought into disgrace.
It gives itself up continually.
That is why it endures.

---57---
If you want to be a great leader,
you must learn to follow the Tao.
Stop trying to control.
Let go of fixed plans and concepts,
and the world will govern itself.

The more prohibitions you have,
the less virtuous people will be.
The more weapons you have,
the less secure people will be.
The more subsidies you have,
the less self-reliant people will be.

Therefore the Master says:
I let go of the law,
and people become honest.
I let go of economics,
and people become prosperous.
I let go of religion,
and people become serene.
I let go of all desires for the common good,
and the good becomes common as grass.

---58---
If a country is governed with tolerance,
the people are comfortable and honest.
If a country is governed with repression,
the people are depressed and crafty.

When the will to power is in charge,
the higher the ideals, the lower the results.
Try to make people happy,
and you lay the groundwork for misery.
Try to make people moral,
and you lay the groundwork for vice.

Thus the Master is content
to serve as an example
and not to impose her will.
She is pointed, but doesn't pierce.
Straightforward, but supple.
Radiant, but easy on the eyes.

---59---
For governing a country well
there is nothing better than moderation.

The mark of a moderate man
is freedom from his own ideas.
Tolerant like the sky,
all-pervading like sunlight,
firm like a mountain,
supple like a tree in the wind,
he has no destination in view
and makes use of anything
life happens to bring his way.

Nothing is impossible for him.
Because he has let go,
he can care for the people's welfare
as a mother cares for her child.

---60---
Governing a large country
is like frying a small fish.
You spoil it with too much poking.

Center your country in the Tao
and evil will have no power.
Not that it isn't there,
but you'll be able to step out of its way.

Give evil nothing to oppose
and it will disappear by itself.

---61---
When a country obtains great power,
it becomes like the sea:
all streams run downward into it.
The more powerful it grows,
the greater the need for humility.
Humility means trusting the Tao,
thus never needing to be defensive.

A great nation is like a great man:
When he makes a mistake, he realizes it.
Having realized it, he admits it.
Having admitted it, he corrects it.
He considers those who point out his faults
as his most benevolent teachers.
He thinks of his enemy
as the shadow that he himself casts.

If a nation is centered in the Tao,
if it nourishes its own people
and doesn't meddle in the affairs of others,
it will be a light to all nations in the world.

---62---
The Tao is the center of the universe,
the good man's treasure,
the bad man's refuge.

Honors can be bought with fine words,
respect can be won with good deeds;
but the Tao is beyond all value,
and no one can achieve it.

Thus, when a new leader is chosen,
don't offer to help him
with your wealth and expertise.
Offer instead
to teach him about the Tao.

Why didn't the ancient Masters esteem the Tao?
Because, being one with the Tao,
when you seek, you find;
and when you make a mistake, you are forgiven.
That is why everybody loves it.

---63---
Act without doing;
work without effort.
Think of the small as large
and the few as many.
Confront the difficult
while it is still easy;
accomplish the great task
by a series of small acts.

The Master never reaches for the great;
thus she achieves greatness.
When she runs into a difficulty,
she stops and gives herself to it.
She doesn't cling to her own comfort;
thus problems are no problem for her.

---64---
What is rooted is easy to nourish.
What is recent is easy to correct.
What is brittle is easy to break.
What is small is easy to scatter.

Prevent trouble before it arises.
Put things in order before they exist.
The giant pine tree
grows from a tiny sprout.
The journey of a thousand miles
starts from beneath your feet.

Rushing into action, you fail.
Trying to grasp things, you lose them.
Forcing a project to completion,
you ruin what was almost ripe.

Therefore the Master takes action
by letting things take their course.
He remains as calm
at the end as at the beginning.
He has nothing,
thus has nothing to lose.
What he desires is non-desire;
what he learns is to unlearn.
He simply reminds people
of who they have always been.
He cares about nothing but the Tao.
Thus he can care for all things.

---65---
The ancient Masters
didn't try to educate the people,
but kindly taught them to not-know.

When they think that they know the answers,
people are difficult to guide.
When they know that they don't know,
people can find their own way.

If you want to learn to govern,
avoid being clever or rich.
The simplest pattern is the clearest.
Content with an ordinary life,
you can show all people the way
back to their own true nature.

---66---
All streams flow to the sea
because it is lower than they are.
Humility gives it its power.

If you want to govern the people,
you must place yourself below them.
If you want to lead the people,
you must learn how to follow them.

The Master is above the people,
and no one feels oppressed.
She goes ahead of the people,
and no one feels manipulated.
The whole world is grateful to her.
Because she competes with no one,
no one can compete with her.

---67---
Some say that my teaching is nonsense.
Others call it lofty but impractical.
But to those who have looked inside themselves,
this nonsense makes perfect sense.
And to those who put it into practice,
this loftiness has roots that go deep.

I have just three things to teach:
simplicity, patience, compassion.
These three are your greatest treasures.
Simple in actions and in thoughts,
you return to the source of being.
Patient with both friends and enemies,
you accord with the way things are.
Compassionate toward yourself,
you reconcile all beings in the world.

---68---
The best athlete
wants his opponent at his best.
The best general
enters the mind of his enemy.
The best businessman
serves the communal good.
The best leader
follows the will of the people.

All of them embody
the virtue of non-competition.
Not that they don't love to compete,
but they do it in the spirit of play.
In this they are like children
and in harmony with the Tao.

---69---
The generals have a saying:
"Rather than make the first move
it is better to wait and see.
Rather than advance and inch
it is better to retreat a yard."

This is called
going forward without advancing,
pushing back without using weapons.

There is no greater misfortune
than underestimating your enemy.
Underestimating your enemy
means thinking that he is evil.
Thus you destroy your three treasures
and become an enemy yourself.

When two great forces oppose each other,
the victory will go
to the one that knows how to yield.

---70---
My teachings are easy to understand
and easy to put into practice.
Yet your intellect will never grasp them,
and if you try to practice them, you'll fail.

My teachings are older than the world.
How can you grasp their meaning?

If you want to know me,
look inside your heart.

---71---
Not-knowing is true knowledge.
Presuming to know is a disease.
First realize that you are sick;
then you can move toward health.

The Master is her own physician.
She has healed herself of all knowing.
Thus she is truly whole.

---72---
When they lose their sense of awe,
people turn to religion.
When they no longer trust themselves,
they begin to depend upon authority.

Therefore the Master steps back
so that people won't be confused.
He teaches without a teaching,
so that people will have nothing to learn.

---73---
The Tao is always at ease.
It overcomes without competing,
answers without speaking a word,
arrives without being summoned,
accomplishes without a plan.

Its net covers the whole universe.
And though its meshes are wide,
it doesn't let a thing slip through.

---74---
If you realize that all things change,
there is nothing you will try to hold on to.
If you aren't afraid of dying,
there is nothing you can't achieve.

Trying to control the future
is like trying to take the master carpenter's place.
When you handle the master carpenter's tools,
chances are that you'll cut your hand.

---75---
When taxes are too high,
people go hungry.
When the government is too intrusive,
people lose their spirit.

Act for the people's benefit.
Trust them; leave them alone.

---76---
Men are born soft and supple;
dead, they are stiff and hard.
Plants are born tender and pliant;
dead, they are brittle and dry.

Thus whoever is stiff and inflexible
is a disciple of death.
Whoever is soft and yielding
is a disciple of life.

The hard and stiff will be broken.
The soft and subtle will prevail.

---77---
As it acts in the world, the Tao
is like the bending of a bow.
The top is bent downward;
the bottom is bent up.
It adjusts excess and deficiency
so that there is perfect balance.
It takes from what is too much
and gives to what isn't enough.

Those who try to control,
who use force to protect their power,
go against the direction of the Tao.
They take from those who don't have enough
and give to those who have far too much.

The Master can keep giving
because there is no end to her wealth.
She acts without expectation,
succeeds without taking credit,
and doesn't think that she is better
than anyone else.

---78---
Nothing in the world
is as soft and yielding as water.
Yet for dissolving the hard and inflexible,
nothing can surpass it.

The soft overcomes the hard;
the gentle overcomes the rigid.
Everyone knows this is true,
but few can put it into practice.

Therefore the Master remains
serene in the midst of sorrow.
Evil cannot enter his heart.
Because he has given up helping,
he is people's greatest help.

True words seem paradoxical.

---79---
Failure is an opportunity.
If you blame someone else,
there is no end to the blame.

Therefore the Master
fulfills her own obligations
and corrects her own mistakes.
She does what she needs to do
and demands nothing of others.

---80---
If a country is governed wisely,
its inhabitants will be content.
They enjoy the labor of their hands
and don't waste time inventing
labor-saving machines.
Since they dearly love their homes,
they aren't interested in travel.
There may be a few wagons and boats,
but these don't go anywhere.
There may be an arsenal of weapons,
but nobody ever uses them.
People enjoy their food,
take pleasure in being with their families,
spend weekends working in their gardens,
delight in the doings of the neighborhood.
And even though the next country is so close
that people can hear its roosters crowing and its dogs barking,
they are content to die of old age
without ever having gone to see it.

---81---
True words aren't eloquent;
eloquent words aren't true.
Wise men don't need to prove their point;
men who need to prove their point aren't wise.

The Master has no possessions.
The more he does for others,
the happier he is.
The more he gives to others,
the wealthier he is.

The Tao nourishes by not forcing.
By not dominating, the Master leads.

-------

lua_wide.lua   # mrpeachy wrote this - cool lua background that will change width based on the longest line in the conky output

--background script that can match longest line in input by mrpeachy
--[[
use:
lua_load ~/lua/how_wide.lua

BELOW TEXT
${lua_parse tao {20,0,0,0,0,0x000000,1,"Sans",12,"normal","cat /home/mcdowall/Desktop/txt.txt",0}}

settings
${lua_parse tao {corner_rad,x,y,w,h,col,alpha,"font",font_size,"style","command",add_width}}
style can be: "normal", "bold", "italic", "bold:italic"
w=0 matches width to the length of longest line
h=0 matches height to conky window height
]]
start=1
require 'cairo'
function conky_tao(taotable)
taotable=loadstring("return" .. taotable)()
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=tonumber(conky_parse("${updates}"))
local timer=(updates %tonumber(taotable[13]))
if timer==0 or start==1 then--###########################
--print ("activate")
start=0
taotext={}--hold output
taowidth={}--holds widths
--get values
local fn=taotable[8]            or "mono"
local fs=tonumber(taotable[9])        or 12
local st=taotable[10]            or "normal"
local wadd=tonumber(taotable[12])     or 50
--setup text
    if st=="normal" then
    cairo_select_font_face (cr, fn, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
    elseif
    st=="bold" then
    cairo_select_font_face (cr, fn, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
    elseif
    st=="italic" then
    cairo_select_font_face (cr, fn, CAIRO_FONT_SLANT_ITALIC, CAIRO_FONT_WEIGHT_NORMAL);
    elseif
    st=="bold:italic" then
    cairo_select_font_face (cr, fn, CAIRO_FONT_SLANT_ITALIC, CAIRO_FONT_WEIGHT_BOLD);
    end
local fsl=fs*1.2
cairo_set_font_size (cr, fsl)
local extents=cairo_text_extents_t:create()
tolua.takeownership(extents)
--open file
local f = io.popen(taotable[11])
    for line in f:lines() do
    --measure text
    cairo_text_extents(cr,line,extents)
    local w=extents.x_advance
    table.insert(taowidth,w)
    --put lines in table
    table.insert(taotext,line)
    end
f:close()
f=nil
local line1=taotext[1]
taotext[1]="${font "..fn..":"..st..":size="..fs.."}"..line1
table.sort(taowidth)
max_width=tonumber(taowidth[#taowidth])+wadd
end--timed section
--#########################################################################################################
local function rgb_to_r_g_b(colour,alpha)
return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255.,alpha
end
local r=tonumber(taotable[1])        or 0
local x=tonumber(taotable[2])        or 0
local y=tonumber(taotable[3])        or 0
local w=tonumber(taotable[4])        or 100
local h=tonumber(taotable[5])        or 100
local color=taotable[6]            or 0x000000
local alpha=tonumber(taotable[7])    or 0.3
--function conky_draw_bg(r,x,y,w,h,color,alpha)
if w==0 then w=max_width end--w=tonumber(conky_window.width) end
if h==0 then h=tonumber(conky_window.height) end
cairo_set_source_rgba (cr,rgb_to_r_g_b(color,alpha))
--top left mid circle
 local xtl=x+r
local ytl=y+r
--top right mid circle
local xtr=(x+r)+((w)-(2*r))
local ytr=y+r
--bottom right mid circle
local xbr=(x+r)+((w)-(2*r))
local ybr=(y+r)+((h)-(2*r))
--bottom right mid circle
local xbl=(x+r)
local ybl=(y+r)+((h)-(2*r))
-----------------------------
cairo_move_to (cr,xtl,ytl-r)
cairo_line_to (cr,xtr,ytr-r)
cairo_arc(cr,xtr,ytr,r,((2*math.pi/4)*3),((2*math.pi/4)*4))
cairo_line_to (cr,xbr+r,ybr)
cairo_arc(cr,xbr,ybr,r,((2*math.pi/4)*4),((2*math.pi/4)*1))
cairo_line_to (cr,xbl,ybl+r)
cairo_arc(cr,xbl,ybl,r,((2*math.pi/4)*1),((2*math.pi/4)*2))
cairo_line_to (cr,xtl-r,ytl)
cairo_arc(cr,xtl,ytl,r,((2*math.pi/4)*2),((2*math.pi/4)*3))
cairo_close_path(cr)
cairo_fill (cr)
--#########################################################################################################
cairo_destroy(cr)
cairo_surface_destroy(cs)
cr=nil
return table.concat(taotext,"\n")
end--end main function

You must unlearn what you have learned.
    -- yoda

Offline

#542 2017-04-28 12:42:18

Sector11
The Tpyo Knig Mod
From: 77345 ¡#
Registered: 2015-08-20
Posts: 5,575

Re: Show us your conky

PackRat wrote:

There are 81 entries in The Book of the Way - at least in the translation I'm using.

Nice I have a "few" more to look forward to.

Yea, "hwmon" is a big OOPS! in that respect and to the best of my knowledge "platform" doesn't work with Intel and ${exec(pi)}, bash script or not, is not minimal.  big_smile

UPDATE - And I see while typing this you posted the Tao conky.  How nice of you,  Thank you.

Have a great day!


BunsenLabs Forum Rules ---== I'm a Conky 1.9'er ==---
System:    Host: d67 Kernel: 4.9.0-9-amd64 x86_64 (64 bit gcc: 6.3.0)
Desktop: Openbox 3.6.1 Distro: Debian GNU/Linux 9 (stretch)

Offline

#543 2017-04-28 12:51:28

Steve
Member
Registered: 2017-01-03
Posts: 642

Re: Show us your conky

PackRat wrote:

Cutting the system information to the bare essentials. Clock and battery handled by tint2:

https://cdn.scrot.moe/images/2017/04/28/scrot-shot-Thu_27_1493334825.th.png

Tao Te Ching conky set to a key binding.


If you dont mind me asking how do you do that conky with the Tao? I would like to do something similar but have a different medium, id like to do something with poetry in mind?

Nevermind im having a shocker with reading threads tonight. You answered a few posts up.

Last edited by Steve (2017-04-28 12:54:30)

Offline

#544 2017-04-28 16:27:17

Sector11
The Tpyo Knig Mod
From: 77345 ¡#
Registered: 2015-08-20
Posts: 5,575

Re: Show us your conky

^ Steve ... you and I are going to get along just fine.  We do the same things.   devil

Also I like how you edited your post.  Being open about an OOPS! is ... well ... being open. smile


BunsenLabs Forum Rules ---== I'm a Conky 1.9'er ==---
System:    Host: d67 Kernel: 4.9.0-9-amd64 x86_64 (64 bit gcc: 6.3.0)
Desktop: Openbox 3.6.1 Distro: Debian GNU/Linux 9 (stretch)

Offline

#545 2017-04-28 18:31:34

Sector11
The Tpyo Knig Mod
From: 77345 ¡#
Registered: 2015-08-20
Posts: 5,575

Re: Show us your conky

PackRat wrote:

I think the HowTo for the Tao conky is gone

Yea I think it is gone.  I could only find two references to "taoread", from your bash script, by searching your posts:

Using a LUA script: here and another reference where you mentioned the tao-te-ching-the-book-of-the-way that has a broken link.

Broken because: crunchbanglinux.org changed to crunchbang.org therefore changing the internal links.
  CRUNCH!! BANG!! BOOM!! SNAP!! CRACKLE!! POP!! went the link.  sad

So a really big thank you for re-posting it here.


BunsenLabs Forum Rules ---== I'm a Conky 1.9'er ==---
System:    Host: d67 Kernel: 4.9.0-9-amd64 x86_64 (64 bit gcc: 6.3.0)
Desktop: Openbox 3.6.1 Distro: Debian GNU/Linux 9 (stretch)

Offline

#546 2017-04-29 00:53:56

miharkula
Member
Registered: 2016-05-20
Posts: 20

Re: Show us your conky

Sector11 wrote:
${exec xdpyinfo | sed -n -r "s/^\s*dimensions:.*\s([0-9]+x[0-9]+).*/\1/p"}

Looks like that command takes into account both monitors:

~$ xdpyinfo | sed -n -r "s/^\s*dimensions:.*\s([0-9]+x[0-9]+).*/\1/p"
3046x1050

Actual monitors are 1680x1050 and 1366x768

Offline

#547 2017-04-29 03:33:47

Sector11
The Tpyo Knig Mod
From: 77345 ¡#
Registered: 2015-08-20
Posts: 5,575

Re: Show us your conky

^  But I only have one monitor ...

 29 Apr 17 @ 00:31:13 ~
  $ xdpyinfo | sed -n -r "s/^\s*dimensions:.*\s([0-9]+x[0-9]+).*/\1/p"
1920x1080
 
 29 Apr 17 @ 00:31:19 ~
  $ xdpyinfo | sed -n -r "s/^\s*dimensions:.*\s([0-9]+x[0-9]+).*/\1/p"
1920x1080

... so I did it twice.   angel

But really, that a nice side affect.


BunsenLabs Forum Rules ---== I'm a Conky 1.9'er ==---
System:    Host: d67 Kernel: 4.9.0-9-amd64 x86_64 (64 bit gcc: 6.3.0)
Desktop: Openbox 3.6.1 Distro: Debian GNU/Linux 9 (stretch)

Offline

#548 2017-04-29 04:41:51

Temetka
Member
From: Sol System, Western Spiral Arm
Registered: 2015-10-14
Posts: 545

Re: Show us your conky

PackRat wrote:
Sector11 wrote:

For me one of the bare essentials is CPU Temp, but then I burned one up  smile

Always liked your "Tao" conky, I've read quite a few. 
How many are there?

There are 81 entries in The Book of the Way - at least in the translation I'm using.

I still have conkies with the CPU temps set up with key bindings, but on these intel chips the hwmon method doesn't always work - especially after a kernel upgrade. On a rolling release like Void that's sort of inconvenient. My options were to go back to using a bash script with awk to get the temps, or just take them out and go minimal.

This sounds very interesting to me. You may already have in the past, but would you mind sharing it with us (again)?

EDIT: I have a brain disorder. Major derpage. It's a few posts up.

Thanks for sharing it, this is awesome.

Last edited by Temetka (2017-04-29 04:45:36)


The meaning of life is to just be alive. It is so plain and so obvious
    and so simple. And yet everybody rushes aroound in a great panic
             as if it were necessary to achieve something beyond themselves.
                                                                                                             - Alan Watts

Offline

#549 2017-04-29 11:18:43

ohnonot
...again
Registered: 2015-09-29
Posts: 4,020
Website

Re: Show us your conky

miharkula wrote:
Sector11 wrote:
${exec xdpyinfo | sed -n -r "s/^\s*dimensions:.*\s([0-9]+x[0-9]+).*/\1/p"}

Looks like that command takes into account both monitors:

~$ xdpyinfo | sed -n -r "s/^\s*dimensions:.*\s([0-9]+x[0-9]+).*/\1/p"
3046x1050

Actual monitors are 1680x1050 and 1366x768

not sure if there's a problem?
maybe

xwininfo -root|grep geometry

would work better?
(i, too, only have 1 monitor so i'm just guessing)

Offline

#550 2017-04-29 13:11:05

Sector11
The Tpyo Knig Mod
From: 77345 ¡#
Registered: 2015-08-20
Posts: 5,575

Re: Show us your conky

OK, before people start thinking that I posted or worse created this line:

${exec xdpyinfo | sed -n -r "s/^\s*dimensions:.*\s([0-9]+x[0-9]+).*/\1/p"}

I was simply telling unklar that I liked that line from the antiX conky he posted.

Six for one, half a dozen to the other as which you want to use I guess:

  • xdpyinfo - display information utility for X

  • xwininfo - window information utility for X

Like ohnonot I can not test "dual monitor setup" as I have a single monitor

There is also:

 29 Apr 17 @ 09:53:09 ~
  $ xwininfo -root |egrep 'Width:|Height:'
  Width: 1920
  Height: 1080
 29 Apr 17 @ 09:59:49 ~
  $ xprop -root | grep _NET_DESKTOP_GEOMETRY -m 1
_NET_DESKTOP_GEOMETRY(CARDINAL) = 1920, 1080

No since that shows the names of my desktops as well, that might do dual - triple monitors.

 29 Apr 17 @ 10:01:16 ~
  $ xprop -root | grep _NET_DESKTOP_NAMES -m 1
_NET_DESKTOP_NAMES(UTF8_STRING) = "SR-71", "SR-72", "SR-73", "SR-74", "SR-75"

It has a ton of stuff to grab run just xprop - click on a conky:

 29 Apr 17 @ 10:05:55 ~
  $ xprop
WM_STATE(WM_STATE):
		window state: Normal
		icon window: 0x0
_NET_WM_DESKTOP(CARDINAL) = 0
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_CLOSE, _NET_WM_ACTION_MOVE, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_ABOVE, _NET_WM_ACTION_BELOW, _OB_WM_ACTION_UNDECORATE
_KDE_NET_WM_FRAME_STRUT(CARDINAL) = 0, 0, 0, 0
_NET_FRAME_EXTENTS(CARDINAL) = 0, 0, 0, 0
_NET_WM_ICON(CARDINAL) = 	Icon (48 x 48):
	                                                
	                                                
	                                                
	  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  
	  ▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒  
	  ▒░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒  
	  ▒░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒  
	  ▒░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒  
	  ▒░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒  
	  ▒░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒  
	  ▒░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒  
	  ▒░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒  
	  ▒░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒  
	  ▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒  
	  ▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒  
	  ▒                                          ▒  
	  ░                                          ▒  
	  ▒                                          ▒  
	  ▒                                          ▒  
	  ▒                                          ▒  
	  ▒                                          ▒  
	  ▒                                          ▒  
	  ▒                                          ▒  
	  ▒                                          ▒  
	  ▒                                          ▒  
	  ▒                                          ▒  
	  ▒                                          ▒  
	  ▒                                          ▒  
	  ▒                                          ▒  
	  ▒                                          ▒  
	  ▒                                          ▒  
	  ▒                                          ▒  
	  ▒                                          ▒  
	  ▒                                          ▒  
	  ▒                                          ▒  
	  ░                                          ▒  
	  ░                                          ▒  
	  ░                                          ░  
	  ░                                          ▒  
	  ▒                                          ▒  
	  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  
	  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  
	  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  
	  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  
	     ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░    
	                                                
	                                                
	                                                


_OB_APP_TYPE(UTF8_STRING) = "normal"
_OB_APP_TITLE(UTF8_STRING) = "Email-Currency"
_OB_APP_GROUP_CLASS(UTF8_STRING) = 
_OB_APP_GROUP_NAME(UTF8_STRING) = 
_OB_APP_CLASS(UTF8_STRING) = "Conky"
_OB_APP_NAME(UTF8_STRING) = "Conky"
_OB_APP_ROLE(UTF8_STRING) = 
_NET_WM_VISIBLE_ICON_NAME(UTF8_STRING) = "Email-Currency"
_NET_WM_VISIBLE_NAME(UTF8_STRING) = "Email-Currency"
_NET_WM_STATE(ATOM) = _NET_WM_STATE_SKIP_TASKBAR, _NET_WM_STATE_SKIP_PAGER, _NET_WM_STATE_BELOW
_WIN_LAYER(CARDINAL) = 0
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x2, 0x0, 0x0, 0x0, 0x0
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
WM_PROTOCOLS(ATOM): protocols  
WM_NAME(STRING) = "Email-Currency"
WM_LOCALE_NAME(STRING) = "en_CA.UTF-8"
WM_CLASS(STRING) = "Conky", "Conky"
WM_HINTS(WM_HINTS):
		Client accepts input or input focus: False
		Initial state is Normal State.
WM_CLIENT_MACHINE(STRING) = "bunsen"
WM_COMMAND(STRING) = { "conky", "-c", "/media/5/Conky/S11_Email_01.conky" }
 
 29 Apr 17 @ 10:06:09 ~
  $ 

BunsenLabs Forum Rules ---== I'm a Conky 1.9'er ==---
System:    Host: d67 Kernel: 4.9.0-9-amd64 x86_64 (64 bit gcc: 6.3.0)
Desktop: Openbox 3.6.1 Distro: Debian GNU/Linux 9 (stretch)

Offline

Board footer

Powered by FluxBB