SEARCH

Enter your search query in the box above ^, or use the forum search tool.

You are not logged in.

#4026 2012-11-23 14:44:30

dura
Bloated Gimp
From: interzone
Registered: 2012-09-15
Posts: 2,106

Re: The New Monster Conky Thread

I've kinda bodged it to what I want. Just turned everything to 0 apart from front face.  monkey

Looks like this:

screenshot-231112-144352.php

If any other unknowledgeable bodgers are interested:

--[[ the post: http://crunchbanglinux.org/forums/post/55927/#p55927
this one was easy (or i thought it was going to be)
http://omploader.org/tM2x0bg
Going to be a work in progress until i set up all the variables properly... and get my titles right smile
UPDATE- now you can change line thickness without messing it up.  Getting the lines right has made things alot less easy smile
also you can set font, font size and title position
    -- end the post
isometric bars by mrpeachy (2010)
bodged by d!
--]]

require 'cairo'
function bar3d(conkyobject, linethick, width, barheight, linered, linegreen, lineblue, linealpha, facered, facegreen, faceblue, facealpha, across, down, title, framelines, font, fontsize, txtacross, txtdown)
--line 1 settings end
local a_num1=tonumber(conkyobject) or 0
local a_num=(height/100)*a_num1

if framelines == 1 then
cairo_set_source_rgba (cr, linered, linegreen, lineblue, linealpha);
cairo_set_line_width (cr, linethick)
cairo_translate (cr, across, down)
cairo_move_to (cr, width*0.5, -width*0.5)
cairo_rel_line_to (cr, 0, -height)
cairo_stroke (cr)
cairo_translate (cr, -across, -down)
end
--line 1 indicator front face
cairo_translate (cr, across, down)
cairo_move_to (cr, 0, 0);
cairo_rectangle (cr, 0, 0, width, -a_num);
cairo_set_source_rgba (cr, facered, facegreen, faceblue, facealpha);
cairo_fill (cr)
cairo_translate (cr, -across, -down)
--line 1 indicator side face
cairo_translate (cr, across, down)
cairo_move_to (cr, 0, (linethick*0));
cairo_rel_line_to (cr, 0, -a_num)
cairo_rel_line_to (cr, 0*(width*0), 0*(width*0))
cairo_rel_line_to (cr, 0, a_num)
cairo_rel_line_to (cr, (width*0), (width*0))
cairo_close_path (cr)
cairo_set_source_rgba (cr, facered, facegreen, faceblue, facealpha);
cairo_fill (cr)
cairo_translate (cr, -across, -down)
--line 1 indicator top face
cairo_translate (cr, across, down)
cairo_move_to (cr, 0, -a_num);
cairo_rel_line_to (cr, width, 0)
cairo_rel_line_to (cr, 0*(width*0), 0*(width*0))
cairo_rel_line_to (cr, -width, 0)
cairo_rel_line_to (cr, (width*0), (width*0))
cairo_close_path (cr)
cairo_set_source_rgba (cr, facered, facegreen, faceblue, facealpha);
cairo_fill (cr)
cairo_translate (cr, -across, -down)

--line 1 indicator lines
cairo_set_line_width (cr, linethick);
cairo_translate (cr, across, down)
cairo_set_source_rgba (cr, linered, linegreen, lineblue, linealpha);
--vertical, middle
cairo_move_to (cr, 0, 0*(linethick*0));
cairo_rel_line_to (cr, 0, -a_num-(linethick*0))
cairo_stroke (cr)
--vertical right
cairo_move_to (cr, width, 0*(linethick*0));
cairo_rel_line_to (cr, 0, -a_num-(linethick*0))
cairo_stroke (cr)
--left line
cairo_move_to (cr, 0*(width*0), (0*(width*0))+(linethick));
cairo_rel_line_to (cr, 0, -a_num)
cairo_stroke (cr)
--bottom line
cairo_move_to (cr, 0*(linethick*0), (linethick*0))
cairo_rel_line_to (cr, width+linethick, 0)
cairo_stroke (cr)
--top of indicator
cairo_move_to (cr, 0, -a_num+(linethick*0))
cairo_rel_line_to (cr, width, 0)
cairo_stroke (cr)
--bottom diagonal
cairo_move_to (cr, 0*(linethick*0), (linethick*0))
cairo_rel_line_to (cr, (0*(width*0)), (0*(width*0)))
cairo_stroke (cr)
--topline
cairo_move_to (cr, (0*(width*0))-(linethick*0), ((0*(width*0))-a_num)+(linethick*0))
cairo_rel_line_to (cr, width+linethick, 0)
cairo_stroke (cr)
--top left diagonal
cairo_move_to (cr, 0, -a_num+(linethick*0))
cairo_rel_line_to (cr, (0*(width*0)), (-1*(width*0)))
cairo_stroke (cr)
--top right diagonal
cairo_move_to (cr, width+(linethick*0), -a_num+(linethick*0))
cairo_rel_line_to (cr, (0*(width*0)), (0*(width*0)))
cairo_stroke (cr)
cairo_translate (cr, -across, -down)
--title
cairo_select_font_face (cr, font, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
cairo_set_font_size (cr, fontsize);
cairo_set_source_rgba (cr, linered, linegreen, lineblue, linealpha);
cairo_translate (cr, txtacross, txtdown)
cairo_move_to (cr, 0, 0)
cairo_show_text (cr, title)
cairo_translate (cr, -txtacross, -txtdown)

if framelines == 1 then
--frame lines
cairo_set_line_width (cr, linethick);
cairo_translate (cr, across, down)
cairo_set_source_rgba (cr, linered, linegreen, lineblue, linealpha);
--vertical, middle
cairo_move_to (cr, 0, 1*(linethick*0.9));
cairo_rel_line_to (cr, 0, -height-(linethick*0.9))
cairo_stroke (cr)
--vertical right
cairo_move_to (cr, width, 1*(linethick*0.9));
cairo_rel_line_to (cr, 0, -height-(linethick*0.9))
cairo_stroke (cr)
--left line
cairo_move_to (cr, -1*(width*0.5), (-1*(width*0.5))+(linethick));
cairo_rel_line_to (cr, 0, -height)
cairo_stroke (cr)
--bottom line
cairo_move_to (cr, -1*(linethick*0.9), (linethick*0.9))
cairo_rel_line_to (cr, width+linethick, 0)
cairo_stroke (cr)
--top of indicator
cairo_move_to (cr, 0, -height+(linethick*0.9))
cairo_rel_line_to (cr, width, 0)
cairo_stroke (cr)
--bottom diagonal
cairo_move_to (cr, -1*(linethick*0.15), (linethick*0.65))
cairo_rel_line_to (cr, (-1*(width*0.5)), (-1*(width*0.5)))
cairo_stroke (cr)
--topline
cairo_move_to (cr, (-1*(width*0.5))-(linethick*0.9), ((-1*(width*0.5))-height)+(linethick*0.9))
cairo_rel_line_to (cr, width+linethick, 0)
cairo_stroke (cr)
--top left diagonal
cairo_move_to (cr, 0, -height+(linethick*0.9))
cairo_rel_line_to (cr, (-1*(width*0.5)), (-1*(width*0.5)))
cairo_stroke (cr)
--top right diagopnal
cairo_move_to (cr, width+(linethick*0.15), -height+(linethick*0.35))
cairo_rel_line_to (cr, (-1*(width*0.5)), (-1*(width*0.5)))
cairo_stroke (cr)
cairo_translate (cr, -across, -down)
end
end

function conky_draw_shape ()
local updates=conky_parse('${updates}')
update_num=tonumber(updates)
if update_num > 5 then
if conky_window==nil then return end
local w=conky_window.width
local h=conky_window.height
local cs=cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, w, h)
cr=cairo_create(cs)

-- ROOT
--conkyobject=conky_parse('${fs_used_perc /}')
linethick=0.25  
width=40
height=40
linered=0
linegreen=0.4
lineblue=0.5
linealpha=1
facered=0
facegreen=0.5
faceblue=0.6
facealpha=0.6
across=20
down=105
title="root"
font="Liberation Mono"
fontsize=7
txtacross=249
txtdown=420
--1 for framelines, 0 for none
framelines=0
bar3d(conkyobject, linethick, width, height, linered, linegreen, lineblue, linealpha, facered, facegreen, faceblue, facealpha, across, down, title, framelines, font, fontsize, txtacross, txtdown)

-- HOME
conkyobject=conky_parse('${fs_used_perc /home}')
linethick=0.25  
width=40
height=40
linered=0
linegreen=0.4
lineblue=0.5
linealpha=1
facered=0
facegreen=0.5
faceblue=0.6
facealpha=0.5
across=150
down=105
title="h"
font="Liberation Mono"
fontsize=7
txtacross=279
txtdown=420
--1 for framelines, 0 for none
framelines=0
bar3d(conkyobject, linethick, width, height, linered, linegreen, lineblue, linealpha, facered, facegreen, faceblue, facealpha, across, down, title, framelines, font, fontsize, txtacross, txtdown)

-- MEMORY
conkyobject=conky_parse('${memperc}')
linethick=0.25 
width=40
height=40
linered=0
linegreen=0.4
lineblue=0.6
linealpha=1
facered=0
facegreen=0.5
faceblue=0.6
facealpha=0.5
across=85
down=105
title="ram"
font="Liberation Mono"
fontsize=7
txtacross=309
txtdown=420
--1 for framelines, 0 for none
framelines=0
bar3d(conkyobject, linethick, width, height, linered, linegreen, lineblue, linealpha, facered, facegreen, faceblue, facealpha, across, down, title, framelines, font, fontsize, txtacross, txtdown)


-- CPU O (Average of all)
conkyobject=conky_parse('${cpu cpu0}')
linethick=0.25  --1.5
width=40   --BAR WIDTH
height=40 --BAR HEIGHT
linered=0.1
linegreen=0.4
lineblue=0.6
linealpha=1
facered=0
facegreen=0.5
faceblue=0.6
facealpha=0.5
across=215  -- BAR
down=105    -- BAR
title="cpu"
font="Liberation Mono"
fontsize=7
txtacross=339 -- TEXT
txtdown=420   -- TEXT
--1 for framelines, 0 for none
framelines=0
bar3d(conkyobject, linethick, width, height, linered, linegreen, lineblue, linealpha, facered, facegreen, faceblue, facealpha, across, down, title, framelines, font, fontsize, txtacross, txtdown)

-- BATTERY BAR
-- conkyobject=conky_parse('${battery_bar BAT1}')
-- linethick=0.5 --1.25  --1.5
-- width=40
-- height=150
-- linered=0.1
-- linegreen=0.1
-- lineblue=0.1
-- linealpha=0
-- facered=0.9
-- facegreen=0.5
-- faceblue=0.0
-- facealpha=1.0
-- across=100
-- down=105
-- title="Bat Bar"
-- font="White Rabbit"
-- fontsize=14
-- txtacross=250
-- txtdown=220
-- 1 for framelines, 0 for none
-- framelines=1
-- bar3d(conkyobject, linethick, width, height, linered, linegreen, lineblue, linealpha, facered, facegreen, faceblue, facealpha, across, down, title, framelines, font, fontsize, txtacross, txtdown)

end
end

I guess the easiest way to get this effect would just be to put all line thickness as 0.

Last edited by dura (2012-11-23 14:46:25)

Offline

Be excellent to each other!

#4027 2012-11-23 19:04:32

ansem_of_nexus
#! CrunchBanger
Registered: 2012-09-19
Posts: 234

Re: The New Monster Conky Thread

@dura, I think I may know this one, you just trying to lean them over about 45 degrees right. My guess would be to add in these:
cairo_save(cr) at the beginning of the bar (i think it was translate to or move to)
Cairo_rotate(cr,#*(math.pi/180)) somewhere in the middle
cairo_restore(cr) after Cairo_stroke for instance


You can find my work here

Make everything ok button

Offline

#4028 2012-11-23 19:07:32

dura
Bloated Gimp
From: interzone
Registered: 2012-09-15
Posts: 2,106

Re: The New Monster Conky Thread

^ Thanks ansem. Drunk too much beer to think about it at the mo, and going out with girlfriend in a min. But will come back to this later. Cheers pal.

Offline

#4029 2012-11-23 19:09:00

ansem_of_nexus
#! CrunchBanger
Registered: 2012-09-19
Posts: 234

Re: The New Monster Conky Thread

dura wrote:

^ Thanks ansem. Drunk too much beer to think about it at the mo, and going out with girlfriend in a min. But will come back to this later. Cheers pal.

Have fun


You can find my work here

Make everything ok button

Offline

#4030 2012-11-23 19:12:16

dura
Bloated Gimp
From: interzone
Registered: 2012-09-15
Posts: 2,106

Re: The New Monster Conky Thread

Cheers buddy. I kinda got it to what I wanted, but your information will enable to elicit other possibilities from the constraints of my lua knowledge (I hope).

Offline

#4031 2012-11-23 19:53:07

falldown
#! Samurai
Registered: 2011-09-01
Posts: 1,726

Re: The New Monster Conky Thread

Sector11 wrote:
Oh mrpeachy .....

http://t.imgbox.com/adcm2ywe.jpg <<-- 22 Nov | Nov 23 -->>  http://t.imgbox.com/aczQVu9c.jpg

Gotta love it!
Thanks again

Hmmmmmmmm gotta fade out the inactive days and dots again and remove the hand.


Very Nice looking S11!!

I might need to borrow this for a bit... and add some buttons!!  wink

Offline

#4032 2012-11-23 21:34:15

mrpeachy
20% cooler
From: The Everfree Forest
Registered: 2009-11-08
Posts: 3,460

Re: The New Monster Conky Thread

dura wrote:

I've kinda bodged it to what I want. Just turned everything to 0 apart from front face.  monkey

I guess the easiest way to get this effect would just be to put all line thickness as 0.

so you just want regular rectangular bars?

Offline

#4033 2012-11-23 22:09:44

McLovin
#! CrunchBanger
From: my computer chair
Registered: 2009-02-28
Posts: 101
Website

Re: The New Monster Conky Thread

@dura
it's alot easier to just use a bar.lua, and it will allow you to do more things, like colors, sections, sectors, etc., something like what I use for my McBars set-ups,

--[[ BARGRAPH WIDGET
	To call the script in a conky, use, before TEXT
	lua_load /path/to/the/script/bargraph.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:
x,y		- coordinates of the starting point of the bar, default = middle of the conky window
cap		- end of cap line, ossibles values are r,b,s (for round, butt, square), default="b"
		  http://www.cairographics.org/samples/set_line_cap/
angle	- angle of rotation of the bar in degress, default = 0 (i.e. a vertical bar)
		  set to 90 for an horizontal bar
skew_x	- skew bar around x axis, default = 0
skew_y	- skew bar around y axis, default = 0
blocks  - number of blocks to display for a bar (values >0) , default= 10
height	- height of a block, default=10 pixels
width	- width of a block, default=20 pixels
space	- space between 2 blocks, default=2 pixels
angle_bar	- this angle is used to draw a bar on a circular way (ok, this is no more a bar !) default=0
radius		- for cicular bars, internal radius, default=0
			  with radius, parameter width has no more effect.

Colours below are defined into braces {colour in hexadecimal, alpha}
fg_colour	- colour of a block ON, default= {0x00FF00,1}
bg_colour	- colour of a block OFF, default = {0x00FF00,0.5}
alarm		- threshold, values after this threshold will use alarm_colour colour , default=max
alarm_colour - colour of a block greater than alarm, default=fg_colour
smooth		- (true or false), create a gradient from fg_colour to bg_colour, default=false 
mid_colour	- colours to add to gradient, with this syntax {position into the gradient (0 to1), colour hexa, alpha}
			  for example, this table {{0.25,0xff0000,1},{0.5,0x00ff00,1},{0.75,0x0000ff,1}} will add
			  3 colurs to gradient created by fg_colour and alarm_colour, default=no mid_colour
led_effect	- add LED effects to each block, default=no led_effect
			  if smooth=true, led_effect is not used
			  possibles values : "r","a","e" for radial, parallelel, perdendicular to the bar (just try!)
			  led_effect has to be used with theses colours :
fg_led		- middle colour of a block ON, default = fg_colour
bg_led		- middle colour of a block OFF, default = bg_colour
alarm_led	- middle colour of a block > ALARM,  default = alarm_colour

reflection parameters, not avaimable for circular bars
reflection_alpha    - add a reflection effect (values from 0 to 1) default = 0 = no reflection
                      other values = starting opacity
reflection_scale    - scale of the reflection (default = 1 = height of text)
reflection_length   - length of reflection, define where the opacity will be set to zero
					  calues from 0 to 1, default =1
reflection			- position of reflection, relative to a vertical bar, default="b"
					  possibles values are : "b","t","l","r" for bottom, top, left, right
draw_me     - if set to false, text is not drawn (default = true or 1)
              it can be used with a conky string, if the string returns 1, the text is drawn :
              example : "${if_empty ${wireless_essid wlan0}}${else}1$endif",
]]

require 'cairo'

----------------START OF PARAMETERS ----------
function conky_main_bars()
	local bars_settings={
		{	--[ Graph for CPU1 ]--
			name="cpu",
			arg="cpu1",
			max=100,
			alarm=60,
			bg_colour={0x000000,0.5},
			bg_led={0x3c3c3c,.75},
			fg_colour={0x000000,0.5},
			fg_led={0x2a95b4,1},
			alarm_colour={0xff0000,0},
		    alarm_led={0xff0000,1},
			blocks=27,
			x=193, y=146,
			height=2,width=13,
			angle=270,
			led_effect="e",
			space=1,
			cap="r",
			},
		{	--[ Graph for CPU1 ]--
			name="cpu",
			arg="cpu1",
			max=100,
			alarm=60,
			bg_colour={0x000000,0.5},
			bg_led={0x3c3c3c,.75},
			fg_colour={0x000000,0.5},
			fg_led={0x2a95b4,1},
			alarm_colour={0xff0000,0},
		    alarm_led={0xff0000,1},
			blocks=27,
			x=196, y=133,
			height=2,width=13,
			angle=90,
			led_effect="e",
			space=1,
			cap="r",
			},
		{	--[ Graph for CPU2 Left]--
			name="cpu",
			arg="cpu2",
			max=100,
			alarm=60,
			bg_colour={0x000000,0.5},
			bg_led={0x3c3c3c,.75},
			fg_colour={0x000000,0.5},
			fg_led={0x2a95b4,1},
			alarm_colour={0xff0000,0},
		    alarm_led={0xff0000,1},
			blocks=27,
			x=193, y=163,
			height=2,width=13,
			angle=270,
			led_effect="e",
			space=1,
			cap="r",
			},
		{	--[ Graph for CPU2 Right]--
			name="cpu",
			arg="cpu2",
			max=100,
			alarm=60,
			bg_colour={0x000000,0.5},
			bg_led={0x3c3c3c,.75},
			fg_colour={0x000000,0.5},
			fg_led={0x2a95b4,1},
			alarm_colour={0xff0000,0},
		    alarm_led={0xff0000,1},
			blocks=27,
			x=196, y=150,
			height=2,width=13,
			angle=90,
			led_effect="e",
			space=1,
			cap="r",
			},
		{	--[ Graph for CPU3 Left ]--
			name="cpu",
			arg="cpu3",
			max=100,
			alarm=60,
			bg_colour={0x000000,0.5},
			bg_led={0x3c3c3c,.75},
			fg_colour={0x000000,0.5},
			fg_led={0x2a95b4,1},
			alarm_colour={0xff0000,0},
		    alarm_led={0xff0000,1},
			blocks=27,
			x=193, y=180,
			height=2,width=13,
			angle=270,
			led_effect="e",
			space=1,
			cap="r",
			},
		{	--[ Graph for CPU3 Right ]--
			name="cpu",
			arg="cpu3",
			max=100,
			alarm=60,
			bg_colour={0x000000,0.5},
			bg_led={0x3c3c3c,.75},
			fg_colour={0x000000,0.5},
			fg_led={0x2a95b4,1},
			alarm_colour={0xff0000,0},
		    alarm_led={0xff0000,1},
			blocks=27,
			x=196, y=167,
			height=2,width=13,
			angle=90,
			led_effect="e",
			space=1,
			cap="r",
			},
		{	--[ Graph for CPU4 Left ]--
			name="cpu",
			arg="cpu4",
			max=100,
			alarm=60,
			bg_colour={0x000000,0.5},
			bg_led={0x3c3c3c,.75},
			fg_colour={0x000000,0.5},
			fg_led={0x2a95b4,1},
			alarm_colour={0xff0000,0},
		    alarm_led={0xff0000,1},
			blocks=27,
			x=193, y=198,
			height=2,width=13,
			angle=270,
			led_effect="e",
			space=1,
			cap="r",
			},
		{	--[ Graph for CPU4 Right ]--
			name="cpu",
			arg="cpu4",
			max=100,
			alarm=60,
			bg_colour={0x000000,0.5},
			bg_led={0x3c3c3c,.75},
			fg_colour={0x000000,0.5},
			fg_led={0x2a95b4,1},
			alarm_colour={0xff0000,0},
		    alarm_led={0xff0000,1},
			blocks=27,
			x=196, y=185,
			height=2,width=13,
			angle=90,
			led_effect="e",
			space=1,
			cap="r",
			},
		{	--[ Graph for CPU Temp ]--
			name="exec",
			arg="sensors | grep 'Core 0' | cut -c15-19",
			max=99,
			alarm=60,
			bg_colour={0x000000,0.5},
			bg_led={0x3c3c3c,.75},
			fg_colour={0x000000,0.5},
			fg_led={0x2a95b4,1},
			alarm_colour={0xff0000,0},
		    alarm_led={0xff0000,1},
			blocks=62,
			x=86, y=227,
			height=2,width=10,
			angle=90,
			led_effect="e",
			space=1,
			cap="r",
			},
		{	--[ Graph for Mobo Temp ]--
			name="exec",
			arg="sensors | grep 'temp2' | cut -c16-19",
			max=127,
			alarm=60,
			bg_colour={0x000000,0.5},
			bg_led={0x3c3c3c,.75},
			fg_colour={0x000000,0.5},
			fg_led={0x2a95b4,1},
			alarm_colour={0xff0000,0},
		    alarm_led={0xff0000,1},
			blocks=60,
			x=90, y=248,
			height=2,width=10,
			angle=90,
			led_effect="e",
			space=1,
			cap="r",
			},
		{	--[ Graph for GPU Temp ]--
			name="nvidia",
			arg="temp",
			max=100,
			alarm=60,
			bg_colour={0x000000,0.5},
			bg_led={0x3c3c3c,.75},
			fg_colour={0x000000,0.5},
			fg_led={0x2a95b4,1},
			alarm_colour={0xff0000,0},
		    alarm_led={0xff0000,1},
			blocks=62,
			x=86, y=268,
			height=2,width=13,
			angle=90,
			led_effect="e",
			space=1,
			cap="r",
			},
		{	--[ Graph for Volume ]--
			name="mixer",
			arg="",
			max=100,
			alarm=70,
			bg_colour={0x000000,0.5},
			bg_led={0x3c3c3c,.75},
			fg_colour={0x000000,0.5},
			fg_led={0x2a95b4,1},
			alarm_colour={0xff0000,0},
		    alarm_led={0xff0000,1},
			blocks=64,
			x=80, y=310,
			height=2,width=13,
			angle=90,
			led_effect="e",
			space=1,
			cap="r",
			},	
		{	--[ Graph for Memory ]--
			name="memperc",
			arg="",
			max=100,
			alarm=60,
			bg_colour={0x000000,0.5},
			bg_led={0x3c3c3c,.75},
			fg_colour={0x000000,0.5},
			fg_led={0x2a95b4,1},
			alarm_colour={0xff0000,0},
		    alarm_led={0xff0000,1},
			x=90,y=327,
			blocks=180,
			space=0,
			height=1,width=30,
			angle=90,
			led_effect="e",
			cap="b",
			},
		{	--[ Graph for Root ]--
			name="fs_used_perc",
			arg="/",
			max=100,
			alarm=60,
			bg_colour={0x000000,0.5},
			bg_led={0x3c3c3c,.75},
			fg_colour={0x000000,0.5},
			fg_led={0x2a95b4,1},
			alarm_colour={0xff0000,0},
		    alarm_led={0xff0000,1},
			blocks=180,
			x=90, y=451,
			height=1,width=13,
			angle=90,
			led_effect="e",
			space=0,
			cap="r",
			},	
		{	--[ Graph for Home ]--
                        name="fs_used_perc",
			arg="/home/mclovin/Shared",
			max=100,
			alarm=60,
			bg_colour={0x000000,0.5},
			bg_led={0x3c3c3c,.75},
			fg_colour={0x000000,0.5},
			fg_led={0x2a95b4,1},
			alarm_colour={0xff0000,0},
		    alarm_led={0xff0000,1},
			blocks=180,
			x=90, y=478,
			height=1,width=13,
			angle=90,
			led_effect="e",
			space=0,
			cap="r",
			},
		{	--[ Graph for Shared ]--
                        name="fs_used_perc",
			arg="/home/mclovin/LShared",
			max=100,
			alarm=60,
			bg_colour={0x000000,0.5},
			bg_led={0x3c3c3c,.75},
			fg_colour={0x000000,0.5},
			fg_led={0x2a95b4,1},
			alarm_colour={0xff0000,0},
		    alarm_led={0xff0000,1},
			blocks=180,
			x=90, y=504,
			height=1,width=13,
			angle=90,
			led_effect="e",
			space=0,
			cap="r",
			},
		{	--[ Graph for Linux-Files ]--
                        name="fs_used_perc",
			arg="/home/mclovin/Linux-Files",
			max=100,
			alarm=60,
			bg_colour={0x000000,0.5},
			bg_led={0x3c3c3c,.75},
			fg_colour={0x000000,0.5},
			fg_led={0x2a95b4,1},
			alarm_colour={0xff0000,0},
		    alarm_led={0xff0000,1},
			blocks=180,
			x=90, y=530,
			height=1,width=13,
			angle=90,
			led_effect="e",
			space=0,
			cap="r",
			},	
		{	--[ Graph for Media ]--
                        name="fs_used_perc",
			arg="/home/mclovin/Media/",
			max=100,
			alarm=60,
			bg_colour={0x000000,0.5},
			bg_led={0x3c3c3c,.75},
			fg_colour={0x000000,0.5},
			fg_led={0x2a95b4,1},
			alarm_colour={0xff0000,0},
		    alarm_led={0xff0000,1},
			blocks=180,
			x=90, y=556,
			height=1,width=13,
			angle=90,
			led_effect="e",
			space=0,
			cap="r",
			},
		{	--[ Graph for Media ]--
                        name="fs_used_perc",
			arg="/home/mclovin/Videos/",
			max=100,
			alarm=60,
			bg_colour={0x000000,0.5},
			bg_led={0x3c3c3c,.75},
			fg_colour={0x000000,0.5},
			fg_led={0x2a95b4,1},
			alarm_colour={0xff0000,0},
		    alarm_led={0xff0000,1},
			blocks=180,
			x=90, y=581,
			height=1,width=13,
			angle=90,
			led_effect="e",
			space=0,
			cap="r",
			},	
		 }	
-----------END OF PARAMETERS--------------


    
	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)    
	--prevent segmentation error when reading cpu state
    if tonumber(conky_parse('${updates}'))>3 then
        for i in pairs(bars_settings) do
        	
        	draw_multi_bar_graph(bars_settings[i])
        	
        end
    end
	cairo_destroy(cr)
	cairo_surface_destroy(cs)
	cr=nil

end



function draw_multi_bar_graph(t)
	cairo_save(cr)
	--check values
	if t.draw_me == true then t.draw_me = nil end
	if t.draw_me ~= nil and conky_parse(tostring(t.draw_me)) ~= "1" then return end	
	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'")
		return
	end
	if t.name==nil then t.name="" end
	if t.arg==nil then t.arg="" end

	--set default values	
	if t.x == nil		then t.x = conky_window.width/2 end
	if t.y == nil		then t.y = conky_window.height/2 end
	if t.blocks == nil	then t.blocks=10 end
	if t.height == nil	then t.height=10 end
	if t.angle == nil 	then t.angle=0 end
	t.angle = t.angle*math.pi/180
	--line cap style
	if t.cap==nil		then t.cap = "b" end
	local cap="b"
	for i,v in ipairs({"s","r","b"}) do 
		if v==t.cap then cap=v end
	end
	local delta=0
	if t.cap=="r" or t.cap=="s" then delta = t.height end
	if cap=="s" then 	cap = CAIRO_LINE_CAP_SQUARE
	elseif cap=="r" then
		cap = CAIRO_LINE_CAP_ROUND
	elseif cap=="b" then
		cap = CAIRO_LINE_CAP_BUTT
	end
	--end line cap style
	--if t.led_effect == nil	then t.led_effect="r" end
	if t.width == nil	then t.width=20 end
	if t.space == nil	then t.space=2 end
	if t.radius == nil	then t.radius=0 end
	if t.angle_bar == nil	then t.angle_bar=0 end
	t.angle_bar = t.angle_bar*math.pi/360 --halt angle
	
	--colours
	if t.bg_colour == nil 	then t.bg_colour = {0x00FF00,0.5} end
	if #t.bg_colour~=2 		then t.bg_colour = {0x00FF00,0.5} end
	if t.fg_colour == nil 	then t.fg_colour = {0x00FF00,1} end
	if #t.fg_colour~=2 		then t.fg_colour = {0x00FF00,1} end
	if t.alarm_colour == nil 	then t.alarm_colour = t.fg_colour end
	if #t.alarm_colour~=2 		then t.alarm_colour = t.fg_colour end

	if t.mid_colour ~= nil then	
		for i=1, #t.mid_colour do    
		    if #t.mid_colour[i]~=3 then 
		    	print ("error in mid_color table")
		    	t.mid_colour[i]={1,0xFFFFFF,1} 
		    end
		end
    end
    
	if t.bg_led ~= nil and #t.bg_led~=2	then t.bg_led = t.bg_colour end
	if t.fg_led ~= nil and #t.fg_led~=2	then t.fg_led = t.fg_colour end
	if t.alarm_led~= nil and #t.alarm_led~=2 then t.alarm_led = t.fg_led end
	
	if t.led_effect~=nil then
		if t.bg_led == nil then t.bg_led = t.bg_colour end
		if t.fg_led == nil 	then t.fg_led = t.fg_colour end
		if t.alarm_led == nil  then t.alarm_led = t.fg_led end
	end
	

	if t.alarm==nil then t.alarm = t.max end --0.8*t.max end
	if t.smooth == nil then t.smooth = false end

	if t.skew_x == nil then 
		t.skew_x=0 
	else
		t.skew_x = math.pi*t.skew_x/180	
	end
	if t.skew_y == nil then 
		t.skew_y=0
	else
		t.skew_y = math.pi*t.skew_y/180	
	end
	
	if t.reflection_alpha==nil then t.reflection_alpha=0 end
	if t.reflection_length==nil then t.reflection_length=1 end
	if t.reflection_scale==nil then t.reflection_scale=1 end
	
	--end of default values
	

 	local function rgb_to_r_g_b(col_a)
		return ((col_a[1] / 0x10000) % 0x100) / 255., ((col_a[1] / 0x100) % 0x100) / 255., (col_a[1] % 0x100) / 255., col_a[2]
	end
	
	
	--functions used to create patterns

	local function create_smooth_linear_gradient(x0,y0,x1,y1)
		local pat = cairo_pattern_create_linear (x0,y0,x1,y1)
		cairo_pattern_add_color_stop_rgba (pat, 0, rgb_to_r_g_b(t.fg_colour))
		cairo_pattern_add_color_stop_rgba (pat, 1, rgb_to_r_g_b(t.alarm_colour))
		if t.mid_colour ~=nil then
			for i=1, #t.mid_colour do
				cairo_pattern_add_color_stop_rgba (pat, t.mid_colour[i][1], rgb_to_r_g_b({t.mid_colour[i][2],t.mid_colour[i][3]}))
			end
		end
		return pat
	end

	local function create_smooth_radial_gradient(x0,y0,r0,x1,y1,r1)
		local pat =  cairo_pattern_create_radial (x0,y0,r0,x1,y1,r1)
		cairo_pattern_add_color_stop_rgba (pat, 0, rgb_to_r_g_b(t.fg_colour))
		cairo_pattern_add_color_stop_rgba (pat, 1, rgb_to_r_g_b(t.alarm_colour))
		if t.mid_colour ~=nil then
			for i=1, #t.mid_colour do
				cairo_pattern_add_color_stop_rgba (pat, t.mid_colour[i][1], rgb_to_r_g_b({t.mid_colour[i][2],t.mid_colour[i][3]}))
			end
		end
		return pat
	end
	
	local function create_led_linear_gradient(x0,y0,x1,y1,col_alp,col_led)
		local pat = cairo_pattern_create_linear (x0,y0,x1,y1) ---delta, 0,delta+ t.width,0)
		cairo_pattern_add_color_stop_rgba (pat, 0.0, rgb_to_r_g_b(col_alp))
		cairo_pattern_add_color_stop_rgba (pat, 0.5, rgb_to_r_g_b(col_led))
		cairo_pattern_add_color_stop_rgba (pat, 1.0, rgb_to_r_g_b(col_alp))
		return pat
	end

	local function create_led_radial_gradient(x0,y0,r0,x1,y1,r1,col_alp,col_led,mode)
		local pat = cairo_pattern_create_radial (x0,y0,r0,x1,y1,r1)
		if mode==3 then
			cairo_pattern_add_color_stop_rgba (pat, 0, rgb_to_r_g_b(col_alp))				
			cairo_pattern_add_color_stop_rgba (pat, 0.5, rgb_to_r_g_b(col_led))
			cairo_pattern_add_color_stop_rgba (pat, 1, rgb_to_r_g_b(col_alp))				
		else
			cairo_pattern_add_color_stop_rgba (pat, 0, rgb_to_r_g_b(col_led))
			cairo_pattern_add_color_stop_rgba (pat, 1, rgb_to_r_g_b(col_alp))				
		end
		return pat
	end






	local function draw_single_bar()
		--this fucntion is used for bars with a single block (blocks=1) but 
		--the drawing is cut in 3 blocks : value/alarm/background
		--not zvzimzblr for circular bar
		local function create_pattern(col_alp,col_led,bg)
			local pat
			
			if not t.smooth then
				if t.led_effect=="e" then
					pat = create_led_linear_gradient (-delta, 0,delta+ t.width,0,col_alp,col_led)
				elseif t.led_effect=="a" then
					pat = create_led_linear_gradient (t.width/2, 0,t.width/2,-t.height,col_alp,col_led)
				elseif  t.led_effect=="r" then
					pat = create_led_radial_gradient (t.width/2, -t.height/2, 0, t.width/2,-t.height/2,t.height/1.5,col_alp,col_led,2)
				else
					pat = cairo_pattern_create_rgba  (rgb_to_r_g_b(col_alp))
				end
			else
				if bg then
					pat = cairo_pattern_create_rgba  (rgb_to_r_g_b(t.bg_colour))
				else
					pat = create_smooth_linear_gradient(t.width/2, 0, t.width/2,-t.height)
				end
			end
			return pat
		end
		
		local y1=-t.height*pct/100
		local y2,y3
		if pct>(100*t.alarm/t.max) then 
			y1 = -t.height*t.alarm/100
			y2 = -t.height*pct/100
			if t.smooth then y1=y2 end
		end
		
		if t.angle_bar==0 then
		
			--block for fg value
			local pat = create_pattern(t.fg_colour,t.fg_led,false)
			cairo_set_source(cr,pat)
			cairo_rectangle(cr,0,0,t.width,y1)
			cairo_fill(cr)
			cairo_pattern_destroy(pat)
		
			-- block for alarm value			
			if not t.smooth and y2 ~=nil then 
				pat = create_pattern(t.alarm_colour,t.alarm_led,false)
				cairo_set_source(cr,pat)
				cairo_rectangle(cr,0,y1,t.width,y2-y1)
				cairo_fill(cr)
				y3=y2
				cairo_pattern_destroy(pat)
			else
				y2,y3=y1,y1
			end
			-- block for bg value
			cairo_rectangle(cr,0,y2,t.width,-t.height-y3)
			pat = create_pattern(t.bg_colour,t.bg_led,true)
			cairo_set_source(cr,pat)
			cairo_pattern_destroy(pat)
			cairo_fill(cr)
		end		
	end  --end single bar
	





	local function draw_multi_bar()
		--function used for bars with 2 or more blocks
		for pt = 1,t.blocks do 
			--set block y
			local y1 = -(pt-1)*(t.height+t.space)
			local light_on=false
			
			--set colors
			local col_alp = t.bg_colour
			local col_led = t.bg_led
			if pct>=(100/t.blocks) or pct>0 then --ligth on or not the block
				if pct>=(pcb*(pt-1))  then 
					light_on = true
					col_alp = t.fg_colour
					col_led = t.fg_led
					if pct>=(100*t.alarm/t.max) and (pcb*pt)>(100*t.alarm/t.max) then 
						col_alp = t.alarm_colour 
						col_led = t.alarm_led 
					end
				end
			end

			--set colors
			--have to try to create gradients outside the loop ?
			local pat 
			
			if not t.smooth then
				if t.angle_bar==0 then
					if t.led_effect=="e" then
						pat = create_led_linear_gradient (-delta, 0,delta+ t.width,0,col_alp,col_led)
					elseif t.led_effect=="a" then
						pat = create_led_linear_gradient (t.width/2, -t.height/2+y1,t.width/2,0+t.height/2+y1,col_alp,col_led)					
					elseif  t.led_effect=="r" then
						pat = create_led_radial_gradient (t.width/2, y1, 0, t.width/2,y1,t.width/1.5,col_alp,col_led,2)	
					else
						pat = cairo_pattern_create_rgba  (rgb_to_r_g_b(col_alp))
					end
				else
					 if t.led_effect=="a"  then
						 pat = create_led_radial_gradient (0, 0, t.radius+(t.height+t.space)*(pt-1),
														 0, 0, t.radius+(t.height+t.space)*(pt),						 
											 col_alp,col_led,3)	
					else
						pat = cairo_pattern_create_rgba  (rgb_to_r_g_b(col_alp))					
					end
					
				end
			else
				
				if light_on then
					if t.angle_bar==0 then
						pat = create_smooth_linear_gradient(t.width/2, t.height/2, t.width/2,-(t.blocks-0.5)*(t.height+t.space))
					else
						pat = create_smooth_radial_gradient(0, 0, (t.height+t.space),  0,0,(t.blocks+1)*(t.height+t.space),2)
					end
				else		
					pat = cairo_pattern_create_rgba  (rgb_to_r_g_b(t.bg_colour))
				end
			end
			cairo_set_source (cr, pat)
			cairo_pattern_destroy(pat)

			--draw a block
			if t.angle_bar==0 then
				cairo_move_to(cr,0,y1)
				cairo_line_to(cr,t.width,y1)
			else		
				cairo_arc( cr,0,0,
					t.radius+(t.height+t.space)*(pt)-t.height/2,
					 -t.angle_bar -math.pi/2 ,
					 t.angle_bar -math.pi/2)
			end
			cairo_stroke(cr)
		end	
	end
	
	
	
	
	local function setup_bar_graph()
		--function used to retrieve the value to display and to set the cairo structure
		if t.blocks ~=1 then t.y=t.y-t.height/2 end
		
		local value = 0
		if t.name ~="" then
			value = tonumber(conky_parse(string.format('${%s %s}', t.name, t.arg)))
			--$to_bytes doesn't work when value has a decimal point,
			--https://garage.maemo.org/plugins/ggit/browse.php/?p=monky;a=commitdiff;h=174c256c81a027a2ea406f5f37dc036fac0a524b;hp=d75e2db5ed3fc788fb8514121f67316ac3e5f29f
			--http://sourceforge.net/tracker/index.php?func=detail&aid=3000865&group_id=143975&atid=757310
			--conky bug?
			--value = (conky_parse(string.format('${%s %s}', t.name, t.arg)))
			--if string.match(value,"%w") then
			--	value = conky_parse(string.format('${to_bytes %s}',value))
			--end
		else
			value = tonumber(t.arg)
		end

		if value==nil then value =0 end
		
		pct = 100*value/t.max
		pcb = 100/t.blocks
		
		cairo_set_line_width (cr, t.height)
		cairo_set_line_cap  (cr, cap)
		cairo_translate(cr,t.x,t.y)
		cairo_rotate(cr,t.angle)

		local matrix0 = cairo_matrix_t:create()
		tolua.takeownership(matrix0)
		cairo_matrix_init (matrix0, 1,t.skew_y,t.skew_x,1,0,0)
		cairo_transform(cr,matrix0)

	
		
		--call the drawing function for blocks
		if t.blocks==1 and t.angle_bar==0 then
			draw_single_bar()
			if t.reflection=="t" or t.reflection=="b" then cairo_translate(cr,0,-t.height) end
		else
			draw_multi_bar()
		end

		--dot for reminder
		--[[
		if t.blocks ~=1 then
			cairo_set_source_rgba(cr,1,0,0,1)
			cairo_arc(cr,0,t.height/2,3,0,2*math.pi)
			cairo_fill(cr)
		else
			cairo_set_source_rgba(cr,1,0,0,1)
			cairo_arc(cr,0,0,3,0,2*math.pi)
			cairo_fill(cr)
		end]]
		
		--call the drawing function for reflection and prepare the mask used		
		if t.reflection_alpha>0 and t.angle_bar==0 then
			local pat2
			local matrix1 = cairo_matrix_t:create()
			tolua.takeownership(matrix1)
			if t.angle_bar==0 then
				pts={-delta/2,(t.height+t.space)/2,t.width+delta,-(t.height+t.space)*(t.blocks)}
				if t.reflection=="t" then
					cairo_matrix_init (matrix1,1,0,0,-t.reflection_scale,0,-(t.height+t.space)*(t.blocks-0.5)*2*(t.reflection_scale+1)/2)
					pat2 = cairo_pattern_create_linear (t.width/2,-(t.height+t.space)*(t.blocks),t.width/2,(t.height+t.space)/2)
				elseif t.reflection=="r" then
					cairo_matrix_init (matrix1,-t.reflection_scale,0,0,1,delta+2*t.width,0)
					pat2 = cairo_pattern_create_linear (delta/2+t.width,0,-delta/2,0)
				elseif t.reflection=="l" then
					cairo_matrix_init (matrix1,-t.reflection_scale,0,0,1,-delta,0)
					pat2 = cairo_pattern_create_linear (-delta/2,0,delta/2+t.width,-0)
				else --bottom
					cairo_matrix_init (matrix1,1,0,0,-1*t.reflection_scale,0,(t.height+t.space)*(t.reflection_scale+1)/2)
					pat2 = cairo_pattern_create_linear (t.width/2,(t.height+t.space)/2,t.width/2,-(t.height+t.space)*(t.blocks))
				end
			end
			cairo_transform(cr,matrix1)

			if t.blocks==1 and t.angle_bar==0 then
				draw_single_bar()
				cairo_translate(cr,0,-t.height/2) 
			else
				draw_multi_bar()
			end
			
			
			cairo_set_line_width(cr,0.01)
			cairo_pattern_add_color_stop_rgba (pat2, 0,0,0,0,1-t.reflection_alpha)
			cairo_pattern_add_color_stop_rgba (pat2, t.reflection_length,0,0,0,1)
			if t.angle_bar==0 then
				cairo_rectangle(cr,pts[1],pts[2],pts[3],pts[4])
			end
			cairo_clip_preserve(cr)
			cairo_set_operator(cr,CAIRO_OPERATOR_CLEAR)
			cairo_stroke(cr)
			cairo_mask(cr,pat2)
			cairo_pattern_destroy(pat2)
			cairo_set_operator(cr,CAIRO_OPERATOR_OVER)
			
		end --reflection
		pct,pcb=nil
	end --setup_bar_graph()
	
	--start here !
	setup_bar_graph()
	cairo_restore(cr)
end

it just allows a lot more configuration

Last edited by McLovin (2012-11-23 22:10:01)


monkey Got /? | My Blog, nothing special monkey
The first GUI, and "on-line" system was created in 1968 by Douglas Engelbart, the system included modern day innovations such as video conferencing, and on-line file sharing.

Offline

#4034 2012-11-23 22:11:38

McLovin
#! CrunchBanger
From: my computer chair
Registered: 2009-02-28
Posts: 101
Website

Re: The New Monster Conky Thread

@Sector11, how did you get the hand to point to the day of the month and still have the day change color? Every time I try to do it, it crashes out on me.


monkey Got /? | My Blog, nothing special monkey
The first GUI, and "on-line" system was created in 1968 by Douglas Engelbart, the system included modern day innovations such as video conferencing, and on-line file sharing.

Offline

#4035 2012-11-24 00:23:02

mrpeachy
20% cooler
From: The Everfree Forest
Registered: 2009-11-08
Posts: 3,460

Re: The New Monster Conky Thread

McLovin wrote:

@Sector11, how did you get the hand to point to the day of the month and still have the day change color? Every time I try to do it, it crashes out on me.

its this part

	if i==this_day then
	cairo_set_source_rgba (cr,1,0,0,1)
	else
	cairo_set_source_rgba (cr,1,1,1,1)
	end

in this code

  for i=1,number_days do
    -- OUTTER POINTS POSTION FOR TEXT
    local point=(math.pi/180)*((360/number_days)*(i-1))
    local x=0+radius*(math.sin(point))
    local y=0-radius*(math.cos(point))
    -- CALCULATE CENTRE OF TEXT
    --only print even numbers
    if math.mod(i, 2) == 0 and math.mod(this_day, 2)==0 then
    text=string.format("%02d",i) --formats numbers to double digits
    elseif math.mod(i, 2) ~= 0 and math.mod(this_day, 2)~=0 then
    text=string.format("%02d",i) --formats numbers to double digits
    else
    text=""
    end--odd even matching
    --local extents=cairo_text_extents_t:create()
    --tolua.takeownership(extents)
    cairo_text_extents(cr,text,extents)
    local width=extents.width
    local height=extents.height
	if i==this_day then
	cairo_set_source_rgba (cr,1,0,0,1)
	else
	cairo_set_source_rgba (cr,1,1,1,1)
	end
    cairo_move_to(cr,center_x+x-(width/2),center_y+y+(height/2))
    cairo_show_text (cr, text)
    cairo_stroke (cr)
  end

Offline

#4036 2012-11-24 00:28:01

McLovin
#! CrunchBanger
From: my computer chair
Registered: 2009-02-28
Posts: 101
Website

Re: The New Monster Conky Thread

@mrpeachy, thank you thank you thank you, been trying to get that fixed for a while, and couldn't figure it out.


monkey Got /? | My Blog, nothing special monkey
The first GUI, and "on-line" system was created in 1968 by Douglas Engelbart, the system included modern day innovations such as video conferencing, and on-line file sharing.

Offline

#4037 2012-11-24 01:13:46

McLovin
#! CrunchBanger
From: my computer chair
Registered: 2009-02-28
Posts: 101
Website

Re: The New Monster Conky Thread

ok, I added that, but what's happening is that it is changing the color of the non-current days to same color as the hand, I am trying to figure out haow to change the hand to be seperated from the days and point colors, like I said, I'm still really new to lua and I'm still trying to learn, so I am asking a lot of noob questions, sorry, but I really do need profetional help, on both accounts  monkey


monkey Got /? | My Blog, nothing special monkey
The first GUI, and "on-line" system was created in 1968 by Douglas Engelbart, the system included modern day innovations such as video conferencing, and on-line file sharing.

Offline

#4038 2012-11-24 01:25:55

mrpeachy
20% cooler
From: The Everfree Forest
Registered: 2009-11-08
Posts: 3,460

Re: The New Monster Conky Thread

^ this is the code for the hand

  -- DRAW HAND -- snaps to current DAY
  local hand_length=35--radius for this calculation
  local point=(math.pi/180)*((360/number_days)*(this_day-1))
  local x=0+hand_length*(math.sin(point))
  local y=0-hand_length*(math.cos(point))
  cairo_move_to (cr,center_x,center_y)
  cairo_line_to (cr,center_x+x,center_y+y)
  cairo_stroke (cr)

to get the hand a different color just put in a color call above "cairo_stroke(cr)" - the command that draws the line itself

cairo_set_source_rgba (cr, r, g, b, a)

or was there something else you wanted to do with the hand?

Offline

#4039 2012-11-24 01:28:44

McLovin
#! CrunchBanger
From: my computer chair
Registered: 2009-02-28
Posts: 101
Website

Re: The New Monster Conky Thread

no, I think that will take sore of it, I'm just a retard and don't know how to script entirely in lua yet, thank you
And that did EXACTLY, what I was trying to do, thank you very much for the help

Last edited by McLovin (2012-11-24 01:32:42)


monkey Got /? | My Blog, nothing special monkey
The first GUI, and "on-line" system was created in 1968 by Douglas Engelbart, the system included modern day innovations such as video conferencing, and on-line file sharing.

Offline

#4040 2012-11-24 01:40:43

McLovin
#! CrunchBanger
From: my computer chair
Registered: 2009-02-28
Posts: 101
Website

Re: The New Monster Conky Thread

@mrpeachy, I think I'm starting to get it, I want to thank you for the help you've been giving me, I doappreciate it, hopefully I'll start being able to write my own scripts soon, gonna start working on one, try something basic first and see whow it goes


monkey Got /? | My Blog, nothing special monkey
The first GUI, and "on-line" system was created in 1968 by Douglas Engelbart, the system included modern day innovations such as video conferencing, and on-line file sharing.

Offline

#4041 2012-11-24 11:34:54

dura
Bloated Gimp
From: interzone
Registered: 2012-09-15
Posts: 2,106

Re: The New Monster Conky Thread

Thanks Mr. Peachy & McLovin. Yeah, I did just want regular bars- but what I've sorted suits for today. Thanks for the heads up to bars.lua- I had reached my tweaking capacity it felt with the isometric_bars.lua and now have other lines of flight opening up.

The plain simplicity of 2-dimensional bars is cool- but I'll see what happens with bars.lua and post back.

Offline

#4042 2012-11-24 12:21:16

Sector11
77345 ¡#
From: SR11 Cockpit
Registered: 2010-05-05
Posts: 11,328
Website

Re: The New Monster Conky Thread

falldown wrote:
Sector11 wrote:
Oh mrpeachy .....

http://t.imgbox.com/adcm2ywe.jpg <<-- 22 Nov | Nov 23 -->>  http://t.imgbox.com/aczQVu9c.jpg

Gotta love it!
Thanks again

Hmmmmmmmm gotta fade out the inactive days and dots again and remove the hand.


Very Nice looking S11!!

I might need to borrow this for a bit... and add some buttons!!  wink

Oh Oh!  I've seen your creativity at work.  This sounds promising!


To #! or not to #! that is the question!
#! Conky = 13 Threads & the Conky Archives | Conky PitStop | OHCG'er
#! Forum Moderator   |   StartPage -  protect your privacy   |   BBQ Linux

Online

#4043 2012-11-24 12:51:58

Sector11
77345 ¡#
From: SR11 Cockpit
Registered: 2010-05-05
Posts: 11,328
Website

Re: The New Monster Conky Thread

McLovin wrote:

@Sector11, how did you get the hand to point to the day of the month and still have the day change color? Every time I try to do it, it crashes out on me.

I was out having "asado" (BBQ) at an uncles place last night.  Not ignoring anyone.

Just want you to know mrpeachy and I have a working relationship:

  1. he creates the scripts,

  2. I mess them up, and

  3. he fixes them again,

... so he's much better at answering questions anyway. wink

Just messing with you.  I really was out.  And I only "discovered" what you asked just recently myself and I even managed to make the whole thing disappear by putting a "--" in the wrong place.

I can take a perfectly good script and turn it into a fixer-upper in 30 seconds flat.   lol  wink

I have learned more with this Chronograph lua than any other script, I'm just a tweaker!


To #! or not to #! that is the question!
#! Conky = 13 Threads & the Conky Archives | Conky PitStop | OHCG'er
#! Forum Moderator   |   StartPage -  protect your privacy   |   BBQ Linux

Online

#4044 2012-11-24 20:06:36

jed
#! CrunchBanger
From: Detachment 7
Registered: 2012-08-28
Posts: 191
Website

Re: The New Monster Conky Thread

Man I sure do like Didier-T's chrono!  Looks really nice on my desktop!  @Sector11, your not going to believe this but it's the only 'conky' that's changed on my desktop for over a week!  Not to worry though, I'm almost keeping up with you when it comes to 'breaking' perfectly functioning scripts!  My brain is still trying to wrap itself around the fact that 'Lua' isn't something you do while in Hawaii!   monkey
Latest screen-shot here!

Jed

Offline

#4045 2012-11-24 21:19:21

Sector11
77345 ¡#
From: SR11 Cockpit
Registered: 2010-05-05
Posts: 11,328
Website

Re: The New Monster Conky Thread

jed wrote:

Man I sure do like Didier-T's chrono!  Looks really nice on my desktop!  @Sector11, your not going to believe this but it's the only 'conky' that's changed on my desktop for over a week!  Not to worry though, I'm almost keeping up with you when it comes to 'breaking' perfectly functioning scripts!  My brain is still trying to wrap itself around the fact that 'Lua' isn't something you do while in Hawaii!   monkey
Latest screen-shot here!

Jed

Well, it is a very nice looking LUA script to say the least!
... and now I have a new one  ...

Sneak Peak - Not finished: more for people that want just the clock.
The S11 Clock
abnwsuYj.jpg
They are all a bit different and there are more options as well.

Swiss movement by: mrpeachy, Didier-T and Sector-what's-his-number!


To #! or not to #! that is the question!
#! Conky = 13 Threads & the Conky Archives | Conky PitStop | OHCG'er
#! Forum Moderator   |   StartPage -  protect your privacy   |   BBQ Linux

Online

#4046 2012-11-24 21:33:30

rusty_jones
#! Member
Registered: 2011-05-05
Posts: 57

Re: The New Monster Conky Thread

Jed, I love the way your desktop looks. Where can I get your scripts?

Offline

#4047 2012-11-24 22:00:00

McLovin
#! CrunchBanger
From: my computer chair
Registered: 2009-02-28
Posts: 101
Website

Re: The New Monster Conky Thread

@Jed,
I like that, I think I've seen it someplace before,
abpZqU2N.jpg
where was that?, I'm trying to remember
@Sector11,
You do realize I'm gonna have to steal that one and destroy it now as well right?


monkey Got /? | My Blog, nothing special monkey
The first GUI, and "on-line" system was created in 1968 by Douglas Engelbart, the system included modern day innovations such as video conferencing, and on-line file sharing.

Offline

#4048 2012-11-24 22:11:44

ansem_of_nexus
#! CrunchBanger
Registered: 2012-09-19
Posts: 234

Re: The New Monster Conky Thread

You know I have noticed that this circle of events is more complex then sector11's working relationship.

creator publishes creation
sector11 or mclovin or dura changes and break creation
mrpeachy fixes
sector11 or mclovin or dura minus the last to change, changes and breaks it again
mrpeachy fixes
(repeat last 2 steps)


You can find my work here

Make everything ok button

Offline

#4049 2012-11-24 22:39:34

PackRat
#! Die Hard
From: USA
Registered: 2011-03-03
Posts: 1,237

Re: The New Monster Conky Thread

@lrcaballero -

single line conky:

achFSQNX.jpg

conkyrc:

background yes
# font Dina-8
use_xft yes
xftfont Cousine:bold:pixelsize=11
xftalpha 1.0
update_interval 2
total_run_times 0

### Window
own_window yes
own_window_colour 292B2C
own_window_type dock
own_window_transparent yes
# own_window_title conkyflux
# own_window_class ConkyFlux
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

###
default_bar_size 240 6
double_buffer yes
minimum_size 1600 0
maximum_width 1600
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders no
border_width 1
border_inner_margin 0
border_outer_margin 0

# Default colors and also border colors
default_color EEF0F2
#default_color e7e7ee
#default_color 020200
default_shade_color FFFFFF
default_outline_color 000000
#color7 001DFF
color7 0ECB0E
color8 FFFF00
color9 F40E00

# alignment top_left
# alignment top_middle
# alignment bm
gap_x 0
gap_y 0

if_up_strictness address
max_specials 1024
max_user_text 2048
text_buffer_size 2048
no_buffers yes
uppercase no
cpu_avg_samples 2
net_avg_samples 1
override_utf8_locale no
use_spacer right
short_units yes
pad_percents 1
top_name_width 12
imlib_cache_size 128

#===pick an image
#${image ~/conky/tbarfcs.xpm -p 0,0 -s 1600x20}

#===Semitransparent background
lua_load $HOME/conky/transbg.lua
lua_draw_hook_pre draw_bg 0 0 0 0 0 0x140C0B 0.50

TEXT
${goto 256}Uptime:${offset 8}$uptime_short${offset 16}*${offset 16}\
Sdc:${offset 8}${if_match ${hddtemp /dev/sdc}<=50}${color7}${else}${if_match ${hddtemp /dev/sdc}<=70}${color8}${else}${if_match ${hddtemp /dev/sdc}>70}${color9}${endif}${endif}${endif}${hddtemp /dev/sdc}°C${color}${offset 16}*${offset 16}\
CPU:${offset 8}${if_match ${hwmon 1 temp 1}<=50}${color7}${else}${if_match ${hwmon 1 temp 1}<=70}${color8}${else}${if_match ${hwmon 1 temp 1}>70}${color9}${endif}${endif}${endif}${hwmon 1 temp 1}°C${color}${offset 16}*${offset 16}\
CPU:${offset 8}${if_match ${cpu cpu0}<=50}${color7}${else}${if_match ${cpu cpu0}<=70}${color8}${else}${if_match ${cpu cpu0}>70}${color9}${endif}${endif}${endif}${cpu cpu0}%${color}${offset 16}*${offset 16}\
Mem:${offset 8}${if_match ${memperc}<=50}${color7}${else}${if_match ${memperc}<=70}${color8}${else}${if_match ${memperc}>70}${color9}${endif}${endif}${endif}$memperc%${color}${offset 16}*${offset 16}\
Eth0:${offset 8}Down:${offset 8}${downspeedf eth0} kb/s${offset 16}*${offset 16}Up:${offset 8}${upspeedf eth0} kb/s${offset 16}*${offset 16}Download:${offset 8}${totaldown eth0}${offset 16}*${offset 16}Upload:${offset 8}${totalup eth0}

transbg.lua

--[[Background originally by londonali1010 (2009)
    ability to set any size for background mrpeachy 2011
    ability to set variables for bg in conkyrc dk75

the change is that if you set width and/or height to 0
then it assumes the width and/or height of the conky window

so:

Above and After TEXT  (requires a composite manager or it blinks!)

 lua_load ~/wea_conky/draw_bg.lua
 TEXT
 ${lua conky_draw_bg 10 0 0 0 0 0x000000 0.4}

OR Both above TEXT (no composite manager required - no blinking!)

 lua_load ~/wea_conky/draw_bg.lua
 lua_draw_hook_pre draw_bg 10 0 0 0 0 0x000000 0.5
 TEXT

Note
${lua conky_draw_bg 20 0 0 0 0 0x000000 0.4}
  See below:        1  2 3 4 5 6        7

${lua conky_draw_bg corner_radius x_position y_position width height color alpha}

covers the whole window and will change if you change the minimum_size setting

1 = 20             corner_radius
2 = 0             x_position
3 = 0             y_position
3 = 0             width
5 = 0             height
6 = 0x000000      color
7 = 0.4           alpha

]]

require 'cairo'
local    cs, cr = nil
function rgb_to_r_g_b(colour,alpha)
return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end
function conky_draw_bg(r,x,y,w,h,color,alpha)
if conky_window == nil then return end
if cs == nil then cairo_surface_destroy(cs) end
if cr == nil then cairo_destroy(cr) 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)
w=w
h=h
if w=="0" then 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_surface_destroy(cs)
cairo_destroy(cr)
return ""
end

Last edited by PackRat (2012-11-24 22:50:37)


"It does not require many words to speak the truth." - Chief Joseph, Nez Perce tribe

Offline

Help fund CrunchBang, donate to the project!

#4050 2012-11-24 22:40:51

dura
Bloated Gimp
From: interzone
Registered: 2012-09-15
Posts: 2,106

Re: The New Monster Conky Thread

Re: The New Monster Conky Thread

You know I have noticed that this circle of events is more complex then sector11's working relationship.

creator publishes creation
sector11 or mclovin or dura changes and break creation
mrpeachy fixes
sector11 or mclovin or dura minus the last to change, changes and breaks it again
mrpeachy fixes
(repeat last 2 steps)

A healthy learning systeme. Though I think there is quite a few names omitted.

Last edited by dura (2012-11-24 22:42:29)

Offline

Board footer

Powered by FluxBB

Copyright © 2012 CrunchBang Linux.
Proudly powered by Debian. Hosted by Linode.
Debian is a registered trademark of Software in the Public Interest, Inc.

Debian Logo