You are not logged in.
as far as log files, lua can easily read and write to files in your filesystem
actual i write the current url in a txt-file:
----------------------------------------------------------------------
local file_found=io.open(empty_file, "r")
if file_found==nil then ----------------------------------------------
-- create new directory and create new and empty file
os.execute("mkdir -p "..folder3.." && touch "..empty_file.." ")
else -----------------------------------------------------------------
-- file exists, fill the file with information (url of the image)
file_url=io.open(empty_file, "w")
file_url:write(url)
file_url:close()
end ------------------------------------------------------------------
Offline
Pushed my conky configs to github.
https://github.com/easysid/conky_configs
Reasons:
trying to learn git
my hard disk is making weird noises
shameless plug
Desktop screenshots :: Origami :: github
Offline
any ideas how to make text align right with an hr on the left?
I have tried ${hr}Some text here
but it pushes the text out of the window, no matter how big i make it
Offline
any ideas how to make text align right with an hr on the left?
I have tried ${hr}Some text here
but it pushes the text out of the window, no matter how big i make it
I think it's not possible with ${hr}, because ${hr} made a horizontal line on the conky, without possibility to define the length.
Offline
Haven't tried it myself, but try to add a goto right after ${hr}. Or try a negative voffset to shift the text in place. Don't know if it works either. Just a couple of ideas.
Last edited by Snap (2014-02-24 08:51:20)
Offline
tried the negative voffset, no dice. it seems the HR tries to take up the whole volume, so the text just isn't displayed at all.
what exactly is a goto?
Offline
@ easysid
Shameless plug my buttocks - smart idea is more like it.
I still love that 'click-click' - awesome job on that.
I have that and the stamps here (somewhere).
Last edited by Sector11 (2014-02-24 15:48:38)
· ↓ ↓ ↓ ↓ ↓ ↓ ·
BunsenLabs Forums now Open for Registration
· ↑ ↑ ↑ ↑ ↑ ↑ · BL ModSquad
Offline
any ideas how to make text align right with an hr on the left?
I have tried ${hr}Some text here
but it pushes the text out of the window, no matter how big i make it
A question asked over the years - first response was to use cpu bars - today I use:
${alignc}${membar 0,15} text here ${membar 0,15}
You can even colour them.
I must update: bar-text-bar at Conky PitStop to reflect this change.
The conkys on the left and right both use ${membar 0,xx}
HR (probably) means: Horizontal Rule - but it acts like wHole Row ... no getting around it.
${alignr 5}${membar 0,15} text here
adjust that "15" to your needs.
@ easysid - Now that's a shameless plug!
Last edited by Sector11 (2014-02-24 12:59:37)
· ↓ ↓ ↓ ↓ ↓ ↓ ·
BunsenLabs Forums now Open for Registration
· ↑ ↑ ↑ ↑ ↑ ↑ · BL ModSquad
Offline
"Test here". Great! Good to know. Thanks, S11.
Offline
Nice ... I hope that 13% indicates you have other things running as well though.
It was just a test with "superkaramba" which take a lot of cpu usage rather than conky "The Best" for my old machine... The idea in the superkaramba is great for displaying 3 graphes, I'wil do it with the graph.lua script when I'll get more time. May-be not difficult to modify it.
Where did you find the lua script?
I don't know if superkaramba works with lua scripts...
Offline
"Test here". Great! Good to know. Thanks, S11.
You're welcome.
· ↓ ↓ ↓ ↓ ↓ ↓ ·
BunsenLabs Forums now Open for Registration
· ↑ ↑ ↑ ↑ ↑ ↑ · BL ModSquad
Offline
Sector11 wrote:Nice ... I hope that 13% indicates you have other things running as well though.
It was just a test with "superkaramba" which take a lot of cpu usage rather than conky "The Best" for my old machine... The idea in the superkaramba is great for displaying 3 graphes, I'wil do it with the graph.lua script when I'll get more time. May-be not difficult to modify it.
Where did you find the lua script?
I don't know if superkaramba works with lua scripts...
Oh .. I think there is a misunderstanding .. I meant the graph lua scripts. Or maybe they were not LUA.
· ↓ ↓ ↓ ↓ ↓ ↓ ·
BunsenLabs Forums now Open for Registration
· ↑ ↑ ↑ ↑ ↑ ↑ · BL ModSquad
Offline
ragamatrix wrote:Sector11 wrote:Nice ... I hope that 13% indicates you have other things running as well though.
It was just a test with "superkaramba" which take a lot of cpu usage rather than conky "The Best" for my old machine... The idea in the superkaramba is great for displaying 3 graphes, I'wil do it with the graph.lua script when I'll get more time. May-be not difficult to modify it.
Where did you find the lua script?
I don't know if superkaramba works with lua scripts...
Oh .. I think there is a misunderstanding .. I meant the graph lua scripts. Or maybe they were not LUA.
/me = /o\ :8 well... I'll use this one in conky:
graph.lua:
--[[ GRAPH widget v1.1 by wlourf (07.01.2011)
this widget draws some graphs with some effects
http://u-scripts.blogspot.com/2010/10/graph-widget.html
To call the script in a conky, use, before TEXT
lua_load /path/to/the/script/graph.lua
lua_draw_hook_pre main_graph
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 cpu1}, just write arg="cpu1"
arg can be a numerical value if name=""
max - the maximum value the above variable can reach,
for example for {$cpu cpu1}, just write max=100 or less or more
Optional parameters:
x,y - coordinates of the bottom-left corner of the graph,
relative to the top-left corner of the conky window
default = bottom-left corner of the conky window
width - width of the graph, default = 100 pixels
height - height of the graph, default = 20 pixels
nb_values - number of values to display in the graph, default=width
i.e. 1 pixel for 1 value
autoscale - if set to true, calculate the max valeu of the y axis and
doesn't use the max parameter above, default=false
skew_x - skew graph around x axis, défaut = 0
skew_y - skew graph around y axis, défaut = 0
angle - angle of rotation of the graph in degress, default = 0
i.e. a horizontal graph)
inverse - if set to true, graph are draw from right to left, default=false
background - if set to false, background is not drawn, default=true
foreground - if set to false, foreground is not drawn, default=true
foreground = plain graph
bg_bd_size - size of the border of the background, default=0=no border
fg_bd_size - size of the border of the foreground, default=0=no border
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_colour - colour table for background,
default = {{0,0x000000,.5},{1,0xFFFFFF,.5}}
fg_colour - colour table for foreground,
default = {{0,0x00FFFF,1},{1,0x0000FF,1}}
bg_bd_colour- colour table for background border,
default = {{1,0xFFFFFF,1}}
fg_bd_colour- colour table for foreground border,
default = {{1,0xFFFF00,1}}
bg_orientation, bg_bd_orientation, fg_orientation, fg_bd_orientation,
- "orientation" defines the starting point of the gradient,
default="nn"
there are 8 available starting points :
"nw","nn","ne","ee","se","ss","sw","ww"
(n for north, w for west ...)
theses 8 points are the 4 corners + the 4 middles of graph
so a gradient "nn" will go from "nn" to "ss"
a gradient "nw" will go from "nw" to "se"
draw_me - if set to false, graph is not drawn (default = true)
it can be used with a conky string, if the string returns 1, the graph is drawn :
example : "${if_empty ${wireless_essid wlan0}}${else}1$endif",
v1.0 (31/10/2010) original release
v1.1 (07/01/2011) Add draw_me parameter and correct memory leaks, thanks to "Creamy Goodness"
text is parsed inside the function, not in the array of settings
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation version 3 (GPLv3)
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program; if not, write to the Free Software
-- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-- MA 02110-1301, USA.
]]
require 'cairo'
function set_settings()
graph_settings={
{--background
name="",
arg=0,
max=1,
x=0,
y=38,
width=1920,
height=40,
foreground=false,
bg_colour=col_bg,
},
----test
{
name="cpu",
arg="cpu1",
max=100,
y=21,
x=40,
autoscale=true,
width=310,
height=13,
nb_values=164,
background=false,
fg_colour=col_cpu1,
},
{
name="cpu",
arg="cpu2",
max=100,
y=21,
x=350,
autoscale=true,
width=310,
height=13,
nb_values=164,
angle=180,
inverse=true,
background=false,
fg_colour=col_cpu2,
},
--NET
{
name="upspeedf",
arg="eth0",
max=100,
y=21,
x=890,
autoscale=true,
width=450,
height=13,
nb_values=180,
fg_colour = { {0,0xe5ff00,0},{0.5,0xe5ff00,1},{1,0xe5ff00,0}},
background=false,
},
{
name="downspeedf",
arg="eth0",
max=100,
y=21,
x=1340,
autoscale=true,
width=450,
height=18,
angle=180,
inverse=true,
nb_values=180,
fg_colour = { {0,0x00ff19,0},{0.5,0x00ff19,1},{1,0x00ff19,0}},
background=false,
},
----
--[[{
name="cpu",
arg="cpu1",
max=100,
x=40,
y=36,
width=310,
height=32,
background=false,
fg_colour=col_cpu1,
},
{
name="cpu",
arg="cpu2",
max=100,
x=410,
y=36,
width=310,
height=32,
background=false,
fg_colour=col_cpu2,
},
{
name="fs_used_perc",
arg="/",
max=100,
x=1530,
y=36,
width=10,
height=32,
nb_values=2,
fg_colour=col_fs_sys,
background=false,
},
{
name="fs_used_perc",
arg="/home",
max=100,
x=1600,
y=36,
width=10,
height=32,
nb_values=2,
fg_colour=col_fs_home,
background=false,
},
{
name="downspeedf",
arg="eth0",
max=max_dl,
autoscale=true,
x=890, y=36,
width=450,
nb_values=100,
height=32,
background=false,
foreground=false,
fg_bd_size=0.9,
fg_bd_colour=col_cpu3,
},
{
name="upspeedf",
arg="eth0",
max=max_up,
autoscale=true,
x=890,y=36,
width=450,
nb_values=100,
height=32,
background=false,
foreground=false,
fg_bd_size=0.9,
fg_bd_colour=col_cpu1,
},
{
name="memperc",
arg="",
max=100,
x=1640,
y=36,
width=100,
nb_values=300,
height=32,
background=false,
fg_colour=col_cpu2,
},--]]
}
end
---END OF PARAMETERS ---
function check_settings(t)
--tables are check only when conky start
if t.name==nil and t.arg==nil then
print ("No input values ... use parameters 'name'" ..
" with 'arg' or only parameter 'arg' ")
return 1
end
if t.max==nil then
print ("No maximum value defined, use 'max'")
print ("for name=" .. t.name .. " with arg=" .. t.arg)
return 1
end
if t.name==nil then t.name="" end
if t.arg==nil then t.arg="" end
return 0
end
function conky_main_graph()
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)
updates=tonumber(conky_parse('${updates}'))
--start drawing after "updates_gap" updates
--prevent segmentation error for cpu
updates_gap=5
if updates==1 then
set_settings()
flagOK=0
for i in pairs(graph_settings) do
if graph_settings[i].width==nil then graph_settings[i].width=100 end
if graph_settings[i].nb_values==nil then
graph_settings[i].nb_values= graph_settings[i].width
end
--create an empty table to store values
graph_settings[i]["values"]={}
--beginning point
graph_settings[i].beg = graph_settings[i].nb_values
--graph_settings[i].beg = 0
for j =1, graph_settings[i].nb_values do
graph_settings[i].values[j]=0
end
graph_settings[i].flag_init=true
flagOK=flagOK + check_settings(graph_settings[i])
end
end
if flagOK>0 then
--abort script if error in one of the tables
print ("ERROR : Check the graph_setting table")
return
end
--drawing process
if updates > updates_gap then
for i in pairs(graph_settings) do
if graph_settings[i].draw_me==true then graph_settings[i].draw_me = nil end
if (graph_settings[i].draw_me==nil or conky_parse(tostring(graph_settings[i].draw_me)) == "1") then
local nb_values=graph_settings[i].nb_values
graph_settings[i].automax=0
for j =1, nb_values do
if graph_settings[i].values[j+1]==nil then
graph_settings[i].values[j+1]=0
end
graph_settings[i].values[j]=graph_settings[i].values[j+1]
if j==nb_values then
--store value
if graph_settings[i].name=="" then
value=graph_settings[i].arg
else
value=tonumber(conky_parse('${' ..
graph_settings[i].name .. " " ..
graph_settings[i].arg ..'}'))
end
graph_settings[i].values[nb_values]=value
end
graph_settings[i].automax=math.max(graph_settings[i].automax,
graph_settings[i].values[j])
--should stop weird glitches at beginning when no values reported yet for upspeed or diskio
if graph_settings[i].automax == 0 then graph_settings[i].automax = 1 end
end
draw_graph(graph_settings[i])
end
end
end
cairo_destroy(cr)
cairo_surface_destroy(cs)
updates=nil
updates_gap=nil
end
function draw_graph(t)
--drawing function
local function rgb_to_r_g_b(colour)
return ((colour[2] / 0x10000) % 0x100) / 255., ((colour[2] / 0x100) % 0x100) / 255., (colour[2] % 0x100) / 255., colour[3]
end
local function linear_orientation(o,w,h)
--set gradient for bg and bg border
local p
if o=="nn" then
p={w/2,h,w/2,0}
elseif o=="ne" then
p={w,h,0,0}
elseif o=="ww" then
p={0,h/2,w,h/2}
elseif o=="se" then
p={w,0,0,h}
elseif o=="ss" then
p={w/2,0,w/2,h}
elseif o=="ee" then
p={w,h/2,0,h/2}
elseif o=="sw" then
p={0,0,w,h}
elseif o=="nw" then
p={0,h,w,0}
end
return p
end
local function linear_orientation_inv(o,w,h)
--set gradient for fg and fg border
local p
if o=="ss" then
p={w/2,h,w/2,0}
elseif o=="sw" then
p={w,h,0,0}
elseif o=="ee" then
p={0,h/2,w,h/2}
elseif o=="nw" then
p={w,0,0,h}
elseif o=="nn" then
p={w/2,0,w/2,h}
elseif o=="ww" then
p={w,h/2,0,h/2}
elseif o=="ne" then
p={0,0,w,h}
elseif o=="se" then
p={0,h,w,0}
end
return p
end
--set default values
--cancel drawing if not needed
if t.draw_me~=nil and conky_parse(tostring(t.draw_me)) ~= "1" then
return
end
if t.height==nil then t.height=20 end
--checked in previous part : width and nb_values
if t.background==nil then t.background=true end
if t.bg_bd_size==nil then t.bg_bd_size=0 end
if t.x==nil then t.x=t.bg_bd_size end
if t.y==nil then t.y=conky_window.height -t.bg_bd_size end
if t.bg_colour==nil then t.bg_colour={{0,0x000000,.5},{1,0xFFFFFF,.5}} end
if t.bg_bd_colour==nil then t.bg_bd_colour={{1,0xFFFFFF,1}} end
if t.foreground==nil then t.foreground=true end
if t.fg_colour==nil then t.fg_colour={{0,0x00FFFF,1},{1,0x0000FF,1}} end
if t.fg_bd_size==nil then t.fg_bd_size=0 end
if t.fg_bd_colour==nil then t.fg_bd_colour={{1,0xFFFF00,1}} end
if t.autoscale==nil then t.autoscale=false end
if t.inverse==nil then t.inverse=false end
if t.angle==nil then t.angle=0 end
if t.bg_bd_orientation==nil then t.bg_bd_orientation="nn" end
if t.bg_orientation==nil then t.bg_orientation="nn" end
if t.fg_bd_orientation==nil then t.fg_bd_orientation="nn" end
if t.fg_orientation==nil then t.fg_orientation="nn" end
--check colours tables
for i=1, #t.fg_colour do
if #t.fg_colour[i]~=3 then
print ("error in fg_colour table")
t.fg_colour[i]={1,0x0000FF,1}
end
end
for i=1, #t.fg_bd_colour do
if #t.fg_bd_colour[i]~=3 then
print ("error in fg_bd_colour table")
t.fg_bd_colour[i]={1,0x00FF00,1}
end
end
for i=1, #t.bg_colour do
if #t.bg_colour[i]~=3 then
print ("error in background color table")
t.bg_colour[i]={1,0xFFFFFF,0.5}
end
end
for i=1, #t.bg_bd_colour do
if #t.bg_bd_colour[i]~=3 then
print ("error in background border color table")
t.bg_bd_colour[i]={1,0xFFFFFF,1}
end
end
--calculate skew parameters if needed
if t.flag_init then
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
t.flag_init=false
end
cairo_set_line_cap(cr,CAIRO_LINE_CAP_ROUND)
cairo_set_line_join(cr,CAIRO_LINE_JOIN_ROUND)
local matrix0 = cairo_matrix_t:create()
tolua.takeownership(matrix0)
cairo_save(cr)
cairo_matrix_init (matrix0, 1,t.skew_y,t.skew_x,1,0,0)
cairo_transform(cr,matrix0)
local ratio=t.width/t.nb_values
cairo_translate(cr,t.x,t.y)
cairo_rotate(cr,t.angle*math.pi/180)
cairo_scale(cr,1,-1)
--background
if t.background then
local pts=linear_orientation(t.bg_orientation,t.width,t.height)
local pat = cairo_pattern_create_linear (pts[1],pts[2],pts[3],pts[4])
for i=1, #t.bg_colour do
--print ("i",i,t.colour[i][1], rgb_to_r_g_b(t.colour[i]))
cairo_pattern_add_color_stop_rgba (pat, t.bg_colour[i][1], rgb_to_r_g_b(t.bg_colour[i]))
end
cairo_set_source (cr, pat)
cairo_rectangle(cr,0,0,t.width,t.height)
cairo_fill(cr)
cairo_pattern_destroy(pat)
end
--autoscale
cairo_save(cr)
if t.autoscale then
t.max= t.automax*1.1
end
local scale_x = t.width/(t.nb_values-1)
local scale_y = t.height/t.max
--define first point of the graph
if updates-updates_gap <t.nb_values then
t.beg = t.beg - 1
--next line prevent segmentation error when conky window is redraw
--quicly when another window "fly" over it
if t.beg<0 then t.beg=0 end
else
t.beg=0
end
if t.inverse then cairo_scale(cr,-1,1)
cairo_translate(cr,-t.width,0) end
--graph foreground
if t.foreground then
local pts_fg=linear_orientation_inv(t.fg_orientation,t.width,t.height)
local pat = cairo_pattern_create_linear (pts_fg[1],pts_fg[2],pts_fg[3],pts_fg[4])
for i=1,#t.fg_colour,1 do
cairo_pattern_add_color_stop_rgba (pat, 1-t.fg_colour[i][1], rgb_to_r_g_b(t.fg_colour[i]))
end
cairo_set_source (cr, pat)
cairo_move_to(cr,t.beg*scale_x,0)
cairo_line_to(cr,t.beg*scale_x,t.values[t.beg+1]*scale_y)
for i=t.beg, t.nb_values-1 do
cairo_line_to(cr,i*scale_x,t.values[i+1]*scale_y)
end
cairo_line_to(cr,(t.nb_values-1)*scale_x,0)
cairo_close_path(cr)
cairo_fill(cr)
cairo_pattern_destroy(pat)
end
--graph_border
if t.fg_bd_size>0 then
local pts=linear_orientation_inv(t.fg_bd_orientation,t.width,t.height)
local pat = cairo_pattern_create_linear (pts[1],pts[2],pts[3],pts[4])
for i=1,#t.fg_bd_colour,1 do
cairo_pattern_add_color_stop_rgba (pat, 1-t.fg_bd_colour[i][1], rgb_to_r_g_b(t.fg_bd_colour[i]))
end
cairo_set_source (cr, pat)
cairo_move_to(cr,t.beg*scale_x,t.values[t.beg+1]*scale_y)
for i=t.beg, t.nb_values-1 do
cairo_line_to(cr,i*scale_x,t.values[i+1]*scale_y)
end
cairo_set_line_width(cr,t.fg_bd_size)
cairo_stroke(cr)
cairo_pattern_destroy(pat)
end
cairo_restore(cr)
--background border
if t.bg_bd_size>0 then
local pts=linear_orientation(t.bg_bd_orientation,t.width,t.height)
local pat = cairo_pattern_create_linear (pts[1],pts[2],pts[3],pts[4])
for i=1, #t.bg_bd_colour do
--print ("i",i,t.colour[i][1], rgb_to_r_g_b(t.colour[i]))
cairo_pattern_add_color_stop_rgba (pat, t.bg_bd_colour[i][1], rgb_to_r_g_b(t.bg_bd_colour[i]))
end
cairo_set_source (cr, pat)
cairo_rectangle(cr,0,0,t.width,t.height)
cairo_set_line_width(cr,t.bg_bd_size)
cairo_stroke(cr)
cairo_pattern_destroy(pat)
end
cairo_restore(cr)
en
To be simple... I don't know how the "superkaramba""s scripts works...
Offline
@ ragamatrix
We all have a :8 moment every now and then.
No worries.
wlourf does some nice stuff. Thanks
To be simple... I don't know how the "superkaramba""s scripts works...
Yea, and with just 'short' list of dependencies - KDE being one of them:
24 Feb 14 | 13:36:00 ~
$ sget plasma-scriptengine-superkaramba
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
docbook-xsl kate-data katepart kde-runtime kde-runtime-data kdelibs-bin kdelibs5-data kdelibs5-plugins kdoctools
libattica0.4 libbasicusageenvironment0 libcddb2 libchromaprint0 libdbusmenu-qt2 libdlrestrictions1 libdvbpsi8
libebml4 libepub0 libexiv2-12 libfreerdp1 libgroupsock1 libiodbc2 libkactivities6 libkatepartinterfaces4
libkcmutils4 libkde3support4 libkdeclarative5 libkdecore5 libkdesu5 libkdeui5 libkdewebkit5 libkdnssd4
libkemoticons4 libkfile4 libkhtml5 libkidletime4 libkio5 libkjsapi4 libkjsembed4 libkmediaplayer4 libknewstuff2-4
libknewstuff3-4 libknotifyconfig4 libkntlm4 libkparts4 libkpty4 libkrosscore4 libktexteditor4 libkxmlrpcclient4
liblivemedia23 liblua5.2-0 libmatroska6 libmtp-common libmtp9 libnepomuk4 libnepomukcore4 libnepomukquery4a
libnepomukutils4 libnl-route-3-200 libntrack-qt4-1 libntrack0 libphonon4 libplasma3 libpolkit-qt-1-1
libpoppler-qt4-4 libpostproc52 libproxy-tools libpulse-mainloop-glib0 libqca2 libqimageblitz4 libqt4-opengl
libqt4-qt3support libsolid4 libsoprano4 libssh-4 libstreamanalyzer0 libstreams0 libthreadweaver4 libupnp6
libusageenvironment1 libvcdinfo0 libvlc5 libvlccore7 libzip2 nepomuk-core-data nepomuk-core-runtime
ntrack-module-libnl-0 oxygen-icon-theme phonon phonon-backend-vlc plasma-scriptengine-javascript
shared-desktop-ontologies soprano-daemon vlc-data vlc-nox
Suggested packages:
dbtoepub docbook-xsl-doc-html docbook-xsl-doc-pdf docbook-xsl-doc-text docbook-xsl-doc docbook-xsl-saxon fop
libsaxon-java libxalan2-java libxslthl-java xalan djvulibre-bin finger icoutils libchromaprint-tools
python-acoustid exiv2 freerdp-x11 iodbc hspell libqca2-plugin-cyrus-sasl libqca2-plugin-gnupg libqca2-plugin-ossl
media-player-info phonon-backend-gstreamer phonon-backend-mplayer kde-workspace-bin
Recommended packages:
virtuoso-minimal libkactivities-bin libmtp-runtime vlc
it will be a long time before I find out how superkaramba works.
· ↓ ↓ ↓ ↓ ↓ ↓ ·
BunsenLabs Forums now Open for Registration
· ↑ ↑ ↑ ↑ ↑ ↑ · BL ModSquad
Offline
@ easysid
I still love that 'click-click' - awesome job on that.
Thanks. That was the last time even I ran it, modifying it for you
...
I must update: bar-text-bar at Conky PitStop to reflect this change.
The conkys on the left and right both use ${membar 0,xx}
http://s20.postimg.org/th4j3s1vt/2014_02_18_17_06_11_1920x1080_Sector11.jpgHR (probably) means: Horizontal Rule - but it acts like wHole Row ... no getting around it.
${alignr 5}${membar 0,15} text here
adjust that "15" to your needs.
@ easysid - Now that's a shameless plug!
![]()
![]()
... no way. That is just a link to a trove of helpful information.
Desktop screenshots :: Origami :: github
Offline
Thanks. That was the last time even I ran it, modifying it for you
![]()
...
Really ... and like I said ...
it's a tossup ... that or the Chronograph, both unique in their own way.
![]()
... no way. That is just a link to a trove of helpful information.
OK, so it's a shameless plug to a trove of helpful information.
· ↓ ↓ ↓ ↓ ↓ ↓ ·
BunsenLabs Forums now Open for Registration
· ↑ ↑ ↑ ↑ ↑ ↑ · BL ModSquad
Offline
Offline
Working on blue and lua ...
http://pix.tdct.org/upload/thumb/1393344606.png
I like it
.. looks like a spectrum graph:
http://plantphys.info/plant_physiology/ … rlight.gif
· ↓ ↓ ↓ ↓ ↓ ↓ ·
BunsenLabs Forums now Open for Registration
· ↑ ↑ ↑ ↑ ↑ ↑ · BL ModSquad
Offline
an attempt at a new conky timepiece
center numbers are, month, day, hour, minute, second
script (ugly)
require 'cairo'
function conky_main()
if conky_window == nil then return end
local updates=tonumber(conky_parse("${updates}"))
if updates<=3 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)
-- GET NUMBER OF DAYS IN CURRENT MONTH
-- calculate Feb, then set up table
year4num=os.date("%Y")
this_month=tonumber(os.date("%m"))
t1=os.time({year=year4num,month=03,day=01,hour=00,min=0,sec=0});
t2=os.time({year=year4num,month=02,day=01,hour=00,min=0,sec=0});
febdaynum=tonumber((os.difftime(t1,t2))/(24*60*60))
-- MONTH TABLE
monthdays={31,febdaynum,31,30,31,30,31,31,30,31,30,31}
this_month=tonumber(os.date("%m"))
number_days=monthdays[this_month]
tm=tonumber(os.date("%d"))
sx=100
sy=200
hdanti(sx-20,sy,20,number_days,tm,3.5,10)
tm=tonumber(os.date("%m"))
hdanti(sx,sy,20,12,tm,5,6)
tm=tonumber(os.date("%H"))
hdanti(sx-20,sy,20,24,tm,5,10)
tm=tonumber(os.date("%M"))
hdclock(sx+300,sy,20,60,tm,3,10)
tm=tonumber(os.date("%S"))
hdclock(sx+290,sy,sy,60,tm,2.5,10)
end--main function
function out(txj)--c,a,f,fs,face,x,y,txt,hj,vj,ro,sxo,syo,sfs,sface,sc,sa #########################################################
local extents=cairo_text_extents_t:create()
tolua.takeownership(extents)
local function color(col,alp)
return ((col / 0x10000) % 0x100) / 255, ((col / 0x100) % 0x100) / 255, (col % 0x100) / 255, alp
end
local function justify(jtxt,x,hj,y,vj,f,face,fs)
if face=="normal" then
face={f,CAIRO_FONT_SLANT_NORMAL,CAIRO_FONT_WEIGHT_NORMAL}
elseif face=="bold" then
face={f,CAIRO_FONT_SLANT_NORMAL,CAIRO_FONT_WEIGHT_BOLD}
elseif face=="italic" then
face={f,CAIRO_FONT_SLANT_ITALIC,CAIRO_FONT_WEIGHT_NORMAL}
elseif face=="bolditalic" then
face={f,CAIRO_FONT_SLANT_ITALIC,CAIRO_FONT_WEIGHT_BOLD}
else
print ('face not set correctly - "normal","bold","italic","bolditalic"')
end
cairo_select_font_face (cr,face[1],face[2],face[3])
cairo_set_font_size(cr,fs)
cairo_text_extents(cr,jtxt,extents)
local wx=extents.x_advance
local wd=extents.width
local hy=extents.height
local bx=extents.x_bearing
local by=extents.y_bearing+hy
local tx=x
local ty=y
--set horizontal alignment - l, c, r
if hj=="l" then
x=x-bx
rad=0
nx=tx+wx
elseif hj=="c" then
x=x-((wx-bx)/2)-bx
rad=(wx-bx)/2
nx=tx+(wx/2)
elseif hj=="r" then
x=x-wx
rad=wx-bx
nx=tx
else
print ("hj not set correctly - l, c, r")
end
--vj. n=normal, nb=normal-ybearing, m=middle, mb=middle-ybearing, t=top
if vj=="n" then
y=y
rad2=0
ry=by
elseif vj=="nb" then
y=y-by
rad2=-by
ry=by
elseif vj=="m" then
y=y+((hy-by)/2)
rad2=((hy-by)/2)
ry=((hy-by)/2)-by
elseif vj=="mb" then
y=y+(hy/2)-by
rad2=(hy/2)-by
ry=((hy-by)/2)-by
elseif vj=="t" then
y=y+hy-by
rad2=hy-by
ry=0+by
else
print ("vj not set correctly - n, nb, m, mb, t")
end
return face,fs,x,y,rad,rad2,tx,ty
end--justify local function #########################################################
--set variables
local c=txj.c or default_color or 0xffffff
local a=txj.a or default_alpha or 1
local f=txj.f or default_font or "mono"
local fs=txj.fs or default_font_size or 12
local x=txj.x or 100
local y=txj.y or 100
local txt=txj.txt or "set txt"
local hj=txj.hj or default_hj or "l"
local vj=txj.vj or default_vj or "n"
local ro=txj.ro or defaukt_ro or 0
local face=txj.face or default_face or "normal"
local wl=txj.wrap_len or 0
local wrap_gap=txj.wrap_gap or 15
--shadow
local shadow=txj.shadow or 0
local sxo=txj.sxo or default_sxo or 2
local syo=txj.syo or default_syo or 2
local sc=txj.sc or defualt_sc or 0x000000
local sa=txj.sa or default_sa or 0.8
local sface=txj.sface or default_sface or face
local sfs=txj.sfs or default_sfs or fs
--print text ##################################################################
if wl>0 then--do wrap
local tt={}
local s=txt:gsub(" $","|"):gsub(" ","| "):gsub(" ","| ")
for i in string.gmatch(s, "%S+") do --Where "%S+" is the string pattern.
table.insert(tt,i)
end
local tl=#tt--gets length of table
local sl=string.len(s)--overall length of text to be wrapped
lines={}
if sl<=wl or tl==1 then--if text is shorter or equal to wrap len or only 1 word
table.insert(lines,s)
else--text is longer and multiple words
while sl>wl and tl>1 do
local lt={}
if string.len(tt[1])>=wl then
line=tt[1]
table.remove(tt,1)
else
local ll=0
while ll+string.len(tt[1])<wl do
table.insert(lt,tt[1])
table.remove(tt,1)
line=table.concat(lt," ")
ll=string.len(line)
tl=#tt
end--while
end
table.insert(lines,line)
lastline=table.concat(tt," ")
sl=string.len(lastline)
end--while
table.insert(lines,lastline)
end
end--if wrap
--rotation
if ro~=0 and wl==0 then
if shadow==1 then--rotated text
local face,fs,x,y,rad,rad2,tx,ty=justify(txt,x+sxo,hj,y+syo,vj,f,sface,sfs)
local point2=(math.pi/180)*(ro-180)
local x2=tx+rad2*(math.sin(point2))
local y2=ty-rad2*(math.cos(point2))
local point=(math.pi/180)*(ro-90)
local x1=x2+rad*(math.sin(point))
local y1=y2-rad*(math.cos(point))
cairo_save (cr)
cairo_translate (cr,x1,y1)
cairo_rotate(cr,(math.pi/180)*ro)
cairo_select_font_face (cr,face[1],face[2],face[3])
cairo_set_font_size(cr,fs)
cairo_set_source_rgba (cr,color(sc,sa))
cairo_show_text (cr,txt)
cairo_stroke (cr)
cairo_restore (cr)
end--if shadow
local face,fs,x,y,rad,rad2,tx,ty=justify(txt,x,hj,y,vj,f,face,sfs)
local point2=(math.pi/180)*(ro-180)
local x2=tx+rad2*(math.sin(point2))
local y2=ty-rad2*(math.cos(point2))
local point=(math.pi/180)*(ro-90)
local x1=x2+rad*(math.sin(point))
local y1=y2-rad*(math.cos(point))
cairo_save (cr)
cairo_translate (cr,x1,y1)
cairo_rotate(cr,(math.pi/180)*ro)
cairo_select_font_face (cr,face[1],face[2],face[3])
cairo_set_font_size(cr,fs)
cairo_set_source_rgba (cr,color(c,a))
cairo_show_text (cr,txt)
cairo_stroke (cr)
cairo_restore (cr)
return nx,ny
elseif wl>0 then--wrapped text
for i=1,#lines do
local txt=string.gsub(lines[i],"|"," ")
if shadow==1 then
local face,fs,x,y=justify(txt,x+sxo,hj,y+syo,vj,f,sface,sfs)
cairo_select_font_face (cr,face[1],face[2],face[3])
cairo_set_font_size(cr,fs)
cairo_move_to (cr,x,y+(wrap_gap*(i-1)))
cairo_set_source_rgba (cr,color(sc,sa))
cairo_show_text (cr,txt)
cairo_stroke (cr)
end--if shadow
local face,fs,x,y=justify(txt,x,hj,y,vj,f,face,fs)
cairo_select_font_face (cr,face[1],face[2],face[3])
cairo_set_font_size(cr,fs)
cairo_move_to (cr,x,y+(wrap_gap*(i-1)))
cairo_set_source_rgba (cr,color(c,a))
cairo_show_text (cr,txt)
cairo_stroke (cr)
end--for i=1,#lines
return #lines*wrap_gap
elseif ro==0 and wl==0 then--regular text
--draw shadow first
if shadow==1 then
local face,fs,x,y=justify(txt,x+sxo,hj,y+syo,vj,f,sface,sfs)
cairo_select_font_face (cr,face[1],face[2],face[3])
cairo_set_font_size(cr,fs)
cairo_move_to (cr,x,y)
cairo_set_source_rgba (cr,color(sc,sa))
cairo_show_text (cr,txt)
cairo_stroke (cr)
end--if shadow
local face,fs,x,y=justify(txt,x,hj,y,vj,f,face,fs)
cairo_select_font_face (cr,face[1],face[2],face[3])
cairo_set_font_size(cr,fs)
cairo_move_to (cr,x,y)
cairo_set_source_rgba (cr,color(c,a))
cairo_show_text (cr,txt)
cairo_stroke (cr)
return nx
end--output type
end--function out
function pt(px,py,prad,pdeg)
local ppo=(math.pi/180)*pdeg
local px1=px+prad*(math.sin(ppo))
local py1=py-prad*(math.cos(ppo))
return px1,py1
end
function hdanti(x,y,lw,div,tm,mf,show)
rad=mf*div
--[[
cairo_set_source_rgba(cr,1,1,1,1)
cairo_set_line_width(cr,lw)
cairo_arc(cr,x,y,rad,0,2*math.pi)
cairo_stroke(cr)
cairo_set_source_rgba(cr,0,0,0,1)
cairo_set_line_width(cr,1)
cairo_arc(cr,x,y,rad+(lw/2),0,2*math.pi)
cairo_stroke(cr)
cairo_arc(cr,x,y,rad-(lw/2),0,2*math.pi)
cairo_stroke(cr)
--]]
std=((360/div)*tm)-90
for i=0,div-1 do
if tm>(div-show) then--if tm gretaer than 50
if i<show then --if i less than 10
n=div+i--make small numbers bigger than div
else
n=i
end
elseif tm<show then--if tm is less than 10
if i>(div-show) then--if i is more than 50
n=i-div
else
n=i
end
elseif tm>=show and tm<=(div-show) then
n=i
else
n=i
end
--[[
for g=1,show+1 do
if n==tm then
a=1
elseif n==tm+g or n==tm-g then
a=(show-g)/show
--else
--a=0
end
end--loop
--]]
if n==tm then
a=1
elseif (n==tm+1 or n==tm-1) and show>1 then
a=(show-1)/show--0.9
elseif (n==tm+2 or n==tm-2) and show>2 then
a=(show-2)/show
elseif (n==tm+3 or n==tm-3) and show>3 then
a=(show-3)/show
elseif (n==tm+4 or n==tm-4) and show>4 then
a=(show-4)/show
elseif (n==tm+5 or n==tm-5) and show>5 then
a=(show-5)/show
elseif (n==tm+6 or n==tm-6) and show>6 then
a=(show-6)/show
elseif (n==tm+7 or n==tm-7) and show>7 then
a=(show-7)/show
elseif (n==tm+8 or n==tm-8) and show>8 then
a=(show-8)/show
elseif (n==tm+9 or n==tm-9) and show>9 then
a=(show-9)/show
else
a=0
end
--]]
cairo_set_source_rgba(cr,0,0,0,0.5)
d=360/div
d=(d*i)-std
x1,y1=pt(x,y,(div*mf)-(lw/2),d)
x2,y2=pt(x,y,(div*mf)+(lw/2),d)
--cairo_move_to(cr,x1,y1)
--cairo_line_to(cr,x2,y2)
--cairo_stroke(cr)
x3,y3=pt(x,y,(div*mf),d)
out({hj="c",vj="m",c=0x000000,x=x3,y=y3,txt=i,ro=d-90,a=a})
end
end --function hdanti
function hdclock(x,y,lw,div,tm,mf,show)
rad=mf*div
--[[
cairo_set_source_rgba(cr,1,1,1,1)
cairo_set_line_width(cr,lw)
cairo_arc(cr,x,y,rad,0,2*math.pi)
cairo_stroke(cr)
cairo_set_source_rgba(cr,0,0,0,1)
cairo_set_line_width(cr,1)
cairo_arc(cr,x,y,rad+(lw/2),0,2*math.pi)
cairo_stroke(cr)
cairo_arc(cr,x,y,rad-(lw/2),0,2*math.pi)
cairo_stroke(cr)
--]]
std=((360/div)*tm)-90
for i=0,div-1 do
if tm>(div-show) then--if tm gretaer than 50
if i<show then --if i less than 10
n=div+i--make small numbers bigger than div
else
n=i
end
elseif tm<show then--if tm is less than 10
if i>(div-show) then--if i is more than 50
n=i-div
else
n=i
end
elseif tm>=show and tm<=(div-show) then
n=i
else
n=i
end
--[[
for g=1,show+1 do
if n==tm then
a=1
elseif n==tm+g or n==tm-g then
a=(show-g)/show
--else
--a=0
end
end--loop
--]]
if n==tm then
a=1
elseif (n==tm+1 or n==tm-1) and show>1 then
a=(show-1)/show--0.9
elseif (n==tm+2 or n==tm-2) and show>2 then
a=(show-2)/show
elseif (n==tm+3 or n==tm-3) and show>3 then
a=(show-3)/show
elseif (n==tm+4 or n==tm-4) and show>4 then
a=(show-4)/show
elseif (n==tm+5 or n==tm-5) and show>5 then
a=(show-5)/show
elseif (n==tm+6 or n==tm-6) and show>6 then
a=(show-6)/show
elseif (n==tm+7 or n==tm-7) and show>7 then
a=(show-7)/show
elseif (n==tm+8 or n==tm-8) and show>8 then
a=(show-8)/show
elseif (n==tm+9 or n==tm-9) and show>9 then
a=(show-9)/show
else
a=0
end
--]]
cairo_set_source_rgba(cr,0,0,0,0.5)
d=360/div
d=std-(d*i)
x1,y1=pt(x,y,(div*mf)-(lw/2),d)
x2,y2=pt(x,y,(div*mf)+(lw/2),d)
--cairo_move_to(cr,x1,y1)
--cairo_line_to(cr,x2,y2)
--cairo_stroke(cr)
x3,y3=pt(x,y,(div*mf),d)
out({hj="c",vj="m",c=0x000000,x=x3,y=y3,txt=i,ro=d+90,a=a})
end
end --function hdclock
in conkyrc
lua_load ~/lua/clockwheels.lua
lua_draw_hook_post main
EDIT- noticed an oops in the month wheel
Last edited by mrpeachy (2014-02-26 02:33:55)
Offline
ragamatrix wrote:Working on blue and lua ...
http://pix.tdct.org/upload/thumb/1393344606.pngI like it
![]()
.. looks like a spectrum graph:
http://plantphys.info/plant_physiology/ … rlight.gif
I've modified a little... Here's a pack(only the graph and bars on top and the wall); just modify the path in differents scripts...
enjoy:ragaconkygraphpack
@Sector11 and a ragajukebox
Last edited by ragamatrix (2014-02-26 12:15:22)
Offline
@
an attempt at a new conky timepiece
Nice project rolling numbers... like in my head when I'm trying to do mathematics
Offline
I've modified a little... Here's a pack(only the graph and bars on top and the wall); just modify the path in differents scripts...
enjoy:ragaconkygraphpack
http://s13.postimg.org/3qf6arxer/1920x1080_scrot.jpg
@Sector11 and a ragajukebox![]()
Merci mon ami!
· ↓ ↓ ↓ ↓ ↓ ↓ ·
BunsenLabs Forums now Open for Registration
· ↑ ↑ ↑ ↑ ↑ ↑ · BL ModSquad
Offline
an attempt at a new conky timepiece
EDIT- noticed an oops in the month wheel
OH GOOD! Something else to while away the hours!
Thank you .. stay tuned.
· ↓ ↓ ↓ ↓ ↓ ↓ ·
BunsenLabs Forums now Open for Registration
· ↑ ↑ ↑ ↑ ↑ ↑ · BL ModSquad
Offline
ragamatrix wrote:I've modified a little... Here's a pack(only the graph and bars on top and the wall); just modify the path in differents scripts...
enjoy:ragaconkygraphpack
http://s13.postimg.org/3qf6arxer/1920x1080_scrot.jpg
@Sector11 and a ragajukebox![]()
Merci mon ami!
De rien Sector11, avec plaisir.
You're welcome, with pleasure...??
Pack updated a script were missing... sorry
Last edited by ragamatrix (2014-02-27 14:24:30)
Offline
De rien Sector11, avec plaisir.
You're welcome, with pleasure...??
Pack updated a script were missing... sorry
I modified it a bit yesterday to use the images direct from conky:
... along with a old modified ragametrix idea for a weather conky
Got it the file. Thank you, now yo fix it to use the new file.
You're welcome, with pleasure...??
Yea that's OK ... maybe better would be: You're welcome, (it's) my pleasure.
Interesting, French "de rien" and Spanish "de nada"
rien/nada = nothing ... so "it's nothing" which is informal in English for 'you're welcome'. Have to love languages.
· ↓ ↓ ↓ ↓ ↓ ↓ ·
BunsenLabs Forums now Open for Registration
· ↑ ↑ ↑ ↑ ↑ ↑ · BL ModSquad
Offline
Copyright © 2012 CrunchBang Linux.
Proudly powered by Debian. Hosted by Linode.
Debian is a registered trademark of Software in the Public Interest, Inc.
Server: acrobat