You are not logged in.
Hi there people!
Switched to arch just 2 weeks ago, before that it was all windows and a few months of Mint. Then i decided to try Arch to keep on learning and so far i'm loving it. It's just so much fun tinkering with settings and you feel so satisfied after you've installed and configured the whole system all by hand. I'm on openbox as a stand-alone wm, really liking the lightweight approach so far. Tint2 as a panel.
Regards,
Roeland
Offline
What are you typesetting and which editor are you using?
Offline
I think you're talking about the "busy" screenshot? It's an assignment for a course in advanced dynamics. I study mechanical engineering (currently working to get my master degree). The assignment deals with the van der Pol equations, which we were to approximate using Lindstedt's method. The van der Pol equations describe an oscillator, Lindstedt proposed a method to approximate this system linearly. The result for this assignments were some state-plane plots containing a series of lines along which the energy of the system is constant. Pfew... it's quite hard to explain that in simple terms actually... let's just say it's a lot of physics and math in a pdf file.
The editor is called sublime text 2, it's awesome (and it's in the AUR). I always make my reports in LaTeX and sublime is my favorite editor for it. I also use it to write Matlab and Python scripts.
Offline
I think you're talking about the "busy" screenshot? It's an assignment for a course in advanced dynamics. I study mechanical engineering (currently working to get my master degree). The assignment deals with the van der Pol equations, which we were to approximate using Lindstedt's method. The van der Pol equations describe an oscillator, Lindstedt proposed a method to approximate this system linearly. The result for this assignments were some state-plane plots containing a series of lines along which the energy of the system is constant. Pfew... it's quite hard to explain that in simple terms actually... let's just say it's a lot of physics and math in a pdf file.
This ^.
Have you considered modelling a nonlinear system to describe the oscillator and then finding the solution using an integrable system?
Linear systems can conveniently be described in a phase-space, as in Hamiltonian system. But nonlinear systems can capture the model particularly in nature more intricately.
Offline
Hi.
Yep, i have considered that. Actually it was part of the assignment. The goal was to do it both using Lindstedt (analytical) and as a phase-space system that is then integrated (numerical), so as to study the validity of Lindstedt method for varying values of epsilon, or mu as it is presented on that wikipedia link from my previous post.
Offline
Would you mind sharing your colors?
Offline
No problem Matty265.
!Black
URxvt*color0: #4a4b4a
URxvt*color8: #696969
!Red
URxvt*color1: #D7699A
URxvt*color9: #F5A2B5
!Green
URxvt*color2: #80D468
URxvt*color10: #A3F2A0
!Yellow
URxvt*color3: #D7A169
URxvt*color11: #F5CDA2
!Blue
URxvt*color4: #6985D7
URxvt*color12: #A2C1F5
!Magenta
URxvt*color5: #C86AD4
URxvt*color13: #D2A2F5
!Cyan
URxvt*color6: #6FCCD1
URxvt*color14: #A0E9F2
!White
URxvt*color7: #DBDCDC
URxvt*color15: #FDFDFD
Last edited by 10PinkPanther (2013-07-16 17:56:55)
Offline
Thanks a lot
Offline
Offline
Archlinux + lxpanel + GreyBird GTK theme + GreyBird Openbox them + compositing
Clean
Busy
Running PCManFM, GNOME Package kit, Mozilla Thunderbird Email Client, GNOME Terminal..
I Hope they are not too big...
EDIT:
autostart:
#
# These things are run when an Openbox X Session is started.
# You may place a similar script in $HOME/.config/openbox/autostart
# to run user-specific things.
#
# PCManFM Desktop manage
(sleep 1 && /usr/bin/pcmanfm --desktop) &
# LXDE panel
(sleep 2 && /usr/bin/lxpanel) &
http://ubuntuforums.org/showthread.php?t=1545855
# Basic Compositing
(sleep 1.5 && /usr/bin/xcompmgr -cfF -t-9 -l-11 -r9 -o.95 -D6) & # Command from this forum: http://ubuntuforums.org/showthread.php?t=1545855
menu.xml(My setup does not require the use of obmenu, but ill post it anyway)
<?xml version="1.0" encoding="utf-8"?>
<openbox_menu xmlns="http://openbox.org/3.4/menu">
<menu id="apps-menu-internet" label="Internet">
<item label="Arora Web Browser">
<action name="Execute">
<execute>/usr/bin/arora</execute>
</action>
</item>
</menu>
<menu id="apps-editors-menu" label="Editors">
<item label="GVim">
<action name="Execute">
<command>gvim</command>
<startupnotify>
<enabled>yes</enabled>
<wmclass>GVim</wmclass>
</startupnotify>
</action>
</item>
</menu>
<menu id="apps-term-menu" label="Terminals">
<item label="Xterm">
<action name="Execute">
<command>xterm</command>
</action>
</item>
</menu>
<menu id="apps-office-menu" label="Office">
<item label="New Item">
<action name="Execute">
<execute>command</execute>
</action>
</item>
</menu>
<menu id="apps-fileman-menu" label="File Managers">
<item label="PCMan File Manager">
<action name="Execute">
<command>pcmanfm</command>
<startupnotify>
<enabled>yes</enabled>
</startupnotify>
</action>
</item>
</menu>
<menu id="apps-graphics-menu" label="Graphics">
<item label="Inkscape">
<action name="Execute">
<command>inkscape</command>
<startupnotify>
<enabled>yes</enabled>
</startupnotify>
</action>
</item>
</menu>
<menu id="system-menu" label="System">
<item label="Openbox Configuration Manager">
<action name="Execute">
<command>obconf</command>
<startupnotify>
<enabled>yes</enabled>
</startupnotify>
</action>
</item>
<separator/>
<item label="Reconfigure Openbox">
<action name="Reconfigure"/>
</item>
</menu>
<menu id="root-menu" label="Openbox 3">
<separator label="Applications"/>
<menu id="apps-accessories-menu"/>
<menu id="apps-editors-menu"/>
<menu id="apps-graphics-menu"/>
<menu id="apps-net-menu"/>
<menu id="apps-office-menu"/>
<menu id="apps-multimedia-menu"/>
<menu id="apps-term-menu"/>
<menu id="apps-fileman-menu"/>
<separator label="System"/>
<menu id="system-menu"/>
<separator/>
<item label="Log Out">
<action name="Exit">
<prompt>yes</prompt>
</action>
</item>
</menu>
</openbox_menu>
Last edited by Ahad12 (2013-08-15 19:36:41)
Offline
Archlinux + lxpanel + GreyBird GTK theme + GreyBird Openbox them + compositing
Clean
https://dl.dropboxusercontent.com/u/79255301/tumm.jpgBusy
Running PCManFM, GNOME Package kit, Mozilla Thunderbird Email Client, GNOME Terminal..
https://dl.dropboxusercontent.com/u/79255301/tummm.jpgI Hope they are not too big...
Can you please link those thumbnails to full size images?
<Raize> can you guys see what I type?
<vecna> no, raize
<Raize> How do I set it up so you can see it?
Offline
Offline
^^^ Your screens are neatly laid out. Full Marks!!
Offline
Hi
can you share your conky and lua scripts ?
thanks
Offline
Hi
can you share your conky and lua scripts ?
thanks
Who are you asking?
Try using quote to specify
Offline
jean_no wrote:Hi
can you share your conky and lua scripts ?
thanks
Who are you asking?
Try using quote to specify
Belive he ment you, if not, I ask aswell.. would love that conky configs! Very nice!
What openbox-theme are you using?
Offline
bartos wrote:jean_no wrote:Hi
can you share your conky and lua scripts ?
thanks
Who are you asking?
Try using quote to specify
Belive he ment you, if not, I ask aswell.. would love that conky configs! Very nice!
What openbox-theme are you using?
Thank you for your interest.
My theme is Onyx
My dual conky
Weather and RSS
background yes
update_interval 5
cpu_avg_samples 1
net_avg_samples 2
temperature_unit celsius
double_buffer yes
no_buffers yes
text_buffer_size 2048
gap_x 800
gap_y 50
minimum_size 600 300
maximum_width 450
own_window yes
own_window_type desktop
own_window_transparent yes
own_window_hints sticky,undecorated,skip_taskbar,skip_pager
own_window_argb_visual false
own_window_argb_value 150
border_inner_margin 0
border_outer_margin 0
alignment tr
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders no
override_utf8_locale yes
use_xft yes
xftfont caviar dreams:size=10
xftalpha 0.5
uppercase no
# Defining colors
default_color FFFFFF
# Shades of Gray
color1 DDDDDD
color2 AAAAAA
color3 888888
# Orange
color4 EF5A29
# Green
color5 77B753
TEXT
${execi 300 curl -s "[url]http://weather.yahooapis.com/forecastrss?w=12697613&u=c[/url]" -o ~/.cache/weather.xml}${color #afd700}${font dejavu sans:size=9}${execi 300 grep "yweather:location" ~/.cache/weather.xml | grep -o "city=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*"}, ${execi 300 grep "yweather:location" ~/.cache/weather.xml | grep -o "country=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*"}${font} $color
${font Open Sans Light:size=40} ${execi 300 grep "yweather:condition" ~/.cache/weather.xml | grep -o "temp=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*"}°${font}
${execi 300 cp -f ~/.config/conky/conky_google_now/weathericons/$(grep "yweather:condition" ~/.cache/weather.xml | grep -o "code=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*").png ~/.cache/weather.png}${image ~/.cache/weather.png -p 0,42 -s 50x50}
${goto 18}${execi 300 grep "yweather:forecast" ~/.cache/weather.xml | grep -o "day=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==1' | tr '[a-z]' '[A-Z]'}${goto 88}${execi 300 grep "yweather:forecast" ~/.cache/weather.xml | grep -o "day=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==2' | tr '[a-z]' '[A-Z]'}${goto 158}${execi 300 grep "yweather:forecast" ~/.cache/weather.xml | grep -o "day=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==3' | tr '[a-z]' '[A-Z]'}
${execi 300 cp -f ~/.config/conky/conky_google_now/weathericons/$(grep "yweather:forecast" ~/.cache/weather.xml | grep -o "code=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==1').png ~/.cache/weather-1.png}${image ~/.cache/weather-1.png -p 13,132 -s 24x24}${execi 300 cp -f ~/.config/conky/conky_google_now/weathericons/$(grep "yweather:forecast" ~/.cache/weather.xml | grep -o "code=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==2').png ~/.cache/weather-2.png}${image ~/.cache/weather-2.png -p 83,132 -s 24x24}${execi 300 cp -f ~/.config/conky/conky_google_now/weathericons/$(grep "yweather:forecast" ~/.cache/weather.xml | grep -o "code=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==3').png ~/.cache/weather-3.png}${image ~/.cache/weather-3.png -p 153,132 -s 24x24}
${goto 12}${execi 300 grep "yweather:forecast" ~/.cache/weather.xml | grep -o "high=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==1'}° / ${execi 300 grep "yweather:forecast" ~/.cache/weather.xml | grep -o "low=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==1'}°${goto 92}${execi 300 grep "yweather:forecast" ~/.cache/weather.xml | grep -o "high=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==2'}° / ${execi 300 grep "yweather:forecast" ~/.cache/weather.xml | grep -o "low=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==2'}°${goto 163}${execi 300 grep "yweather:forecast" ~/.cache/weather.xml | grep -o "high=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==3'}° / ${execi 300 grep "yweather:forecast" ~/.cache/weather.xml | grep -o "low=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==3'}°${goto 30}
${color5}ArchLinux - News
${color1}${rss [url]https://www.archlinux.org/feeds/news/[/url] 20 item_titles 3}
${color5}LDC - News
${color1}${rss [url]https://www.linuxdistrocommunity.com/forums/syndication.php?limit=8[/url] 1 item_titles 8}
Main Conky
####
## Use XFT? Required to Force UTF8 (see below)
#
use_xft yes
xftfont Sans:size=10
####
## Force UTF8? Requires XFT (see above)
## Displays degree symbol, instead of °, etc.
#
override_utf8_locale yes
####
## This buffer is used for text, single lines, output from $exec, and other variables.
## Increasing the text buffer size (too high) will drastically reduce Conky's performance.
## Decreasing the size (too low) will truncate content and cause strange display output.
## Standard text buffer size is 256 bytes (cannot be less). Adjust YOUR buffer wisely!
#
text_buffer_size 384
####
## Daemonize Conky, aka 'fork to background'.
#
background yes
####
## Update interval in seconds.
#
update_interval 2
####
## This is the number of times Conky will update before quitting.
## Set to zero to run forever.
#
total_run_times 0
####
## Create own window instead of using desktop (required in nautilus)?
#
own_window yes
own_window_type desktop
own_window_transparent no
own_window_colour black
####
## Force images to redraw when they change.
#
imlib_cache_size 0
####
## Use double buffering? Reduces flicker.
#
double_buffer yes
####
## Draw shades?
#
draw_shades no
####
## Draw outlines?
#
draw_outline no
####
## Draw borders around text?
#
draw_borders no
####
## Draw borders around graphs?
#
draw_graph_borders yes
####
## Print text to stdout?
## Print text in console?
#
out_to_ncurses no
out_to_console no
####
## Text alignment.
#
alignment top_right
####
## Minimum size of text area.
#
minimum_size 1050 100
maximum_width 260
####
## Gap between text and screen borders.
#
gap_x 1390
gap_y 50
####
## Shorten MiB/GiB to M/G in stats.
#
short_units yes
####
## Pad % symbol spacing after numbers.
#
pad_percents 0
####
## Pad spacing between text and borders.
#
border_inner_margin 4
####
## Limit the length of names in "Top Processes".
#
top_name_width 6
####
## Subtract file system -/+buffers/cache from used memory?
## Set to yes, to produce meaningful physical memory stats.
#
no_buffers yes
####
## Set to yes, if you want all text to be in UPPERCASE.
#
uppercase no
####
## Number of cpu samples to average.
## Set to 1 to disable averaging.
#
cpu_avg_samples 2
####
## Number of net samples to average.
## Set to 1 to disable averaging.
#
net_avg_samples 2
####
## Add spaces to keep things from moving around?
## Only affects certain objects.
#
use_spacer right
####
## Colors
#
color1 Grey ##icons
color2 Ivory ##text
color3 DarkGrey ##divider lines
color4 Orange ##headings
color5 bfff80
####
## Load Lua for bargraphs (required)
## Set the path to your script here.
#
lua_load ~/.conky/bargraph_small.lua
lua_draw_hook_post main_bars
TEXT
${voffset 3}${font OpenLogos:size=28}${color2}B${font}${voffset -15}${font Sans:size=18}${color4} Arch${font}
${font Sans:bold:size=10.25}${color4}Time & Date ${color2}${hr 2}
${voffset 4}${time %b %d %Y}$alignr ${time %H:}${time %M:}${time %S}
${voffset 4}${font Sans:bold:size=10.25}${color4}SYSTEM ${color3}${hr 2}
${voffset 4}${font Stylebats:size=10}${color1}j${voffset -1}${font}${color2} ${sysname} ${kernel}${alignr}${machine}
${font StyleBats:size=10}${color1}q${voffset -1}${font}${color2} System Uptime${alignr}${uptime_short}
${font StyleBats:size=10}${color1}o${voffset -1}${font}${color2} File System${alignr}${fs_type}
${voffset 4}${font Sans:bold:size=8}${color4}PROCESSORS ${color3}${hr 2}
${goto 22}CPU 1${goto 84}CPU 2${goto 150}CPU 3${goto 220}CPU 4
${voffset 140}${font StyleBats:size=10}${color1}k${voffset -1}${font}${color2}${goto 20}${cpu cpu1}% ${font}${color2}${goto 85}${cpu cpu2}% ${font}${color2}${goto 156}${cpu cpu3}% ${font}${color2}${goto 230}${cpu cpu4}%
${font StyleBats:size=10}${color1}k${voffset -1}${font}${color2} ${freq_g 1} GHz ${freq_g 2} GHz ${freq_g 3} GHz ${freq_g 4} GHz
${voffset 8}${font Sans:bold:size=8.25}${color4}MEMORY ${color3}${hr 2}
${voffset 4}${font StyleBats:size=10}${color1}l${voffset -2}${font}${color2} RAM${goto 97}${mem}${goto 133}/ ${memmax}${alignr}${memperc}% Used
${font Sans:bold:size=8.25}${color4}CPU and FANS ${color3}${hr 2}${font}
${font StyleBats:size=10}${color1}o${voffset -1}${font}${color2} CPU temp ${alignr}${execi 1 cat /sys/module/k10temp/drivers/pci:k10temp/0000:00:18.3/temp1_input|cut -c 1,2} °C
${font StyleBats:size=10}${color1}o${voffset -1}${font}${color2} Case Fan:${alignr} ${exec sensors | grep "fan1:" | sed 's/fan1/Case Fan/' | cut -c17-26}$color
${font StyleBats:size=10}${color1}o${voffset -1}${font}${color2} Mobo Temp:${alignr} ${exec sensors | grep 'temp2' | cut -c15-20}c${color}
${font StyleBats:size=10}${color1}o${voffset -1}${font}${color2} NVidia Temp:${alignr} ${nvidia temp} °C
${font Sans:bold:size=8.25}${color4}HDD ${color3}${hr 2}${font}
${voffset 4}${font StyleBats:size=10}${color1}x${font}${color2} ROOT${goto 95}${fs_used /}${goto 133}/ ${fs_size /}${alignr}${fs_free_perc /}% Free
${font StyleBats:size=10}${color1}x${font}${color2} HOME${goto 95}${fs_used /home}${goto 133}/ ${fs_size /home}${alignr}${fs_free_perc /home}% Free
${font StyleBats:size=10}${color1}x${font}${color2} SWAP${goto 95}${swap}${goto 133}/ ${swapmax}${alignr}${swapperc}% Used
${font Sans:bold:size=8.25}${color4}TOP PROCESSES ${color3}${hr 2}${font}
${voffset 4}${font StyleBats:size=10}${color1}l${voffset -1}${font}${color4} RAM${goto 155}${font StyleBats:size=10}${color1}k${voffset -1}${font}${color4} CPU
${voffset 4}${color2}${top_mem name 1}${goto 60}${top_mem mem_res 1}${goto 100}${top_mem mem 1}%${goto 155}${top name 1}${goto 210}${top cpu 1}%
${top_mem name 2}${goto 60}${top_mem mem_res 2}${goto 100}${top_mem mem 2}%${goto 155}${top name 2}${goto 210}${top cpu 2}%
${top_mem name 3}${goto 60}${top_mem mem_res 3}${goto 100}${top_mem mem 3}%${goto 155}${top name 3}${goto 210}${top cpu 3}%
${voffset 4}${font Sans:bold:size=8.25}${color4}NETWORK ${color3}${hr 2}${font}
${voffset 4}${color2}Public IP${alignr} ${execi 1800 wget -q -O - checkip.dyndns.org | sed -e 's/[^[:digit:]\|.]//g'}$font
Private IP${alignr}${addr enp9s0}${goto 150}
${font PizzaDude Bullets:size=9.5}${color1}U${font}${color2} Download${goto 103}${totaldown enp9s0}${goto 150}${font PizzaDudeBullets:size=9.5}${color1}T${font}${color2} Down${alignr}${downspeed enp9s0}
${font PizzaDudeBullets:size=9.5}${color1}O${font}${color2} Upload${goto 100}${totalup enp9s0}${goto 150}${font PizzaDudeBullets:size=9.5}${color1}N${font}${color2} Up${alignr}${upspeed enp9s0}
And LUA
require 'cairo'
----------------START OF PARAMETERS ----------
function conky_main_bars()
local bars_settings={
{ --[ Graph for CPU1 ]--
name="cpu",
arg="cpu1",
max=100,
alarm=50,
alarm_colour={0xFF0000,0.72},
bg_colour={0xFFFFFF,0.25},
fg_colour={0x00FF00,0.55},
mid_colour={{0.45,0xFFFF00,0.70}},
x=24,y=318,
blocks=40,
space=1,
height=2,width=30,
angle=360,
smooth=true
},
{ --[ Graph for CPU2 ]--
name="cpu",
arg="cpu2",
max=100,
alarm=50,
alarm_colour={0xFF0000,0.72},
bg_colour={0xFFFFFF,0.25},
fg_colour={0x00FF00,0.55},
mid_colour={{0.45,0xFFFF00,0.70}},
x=86,y=318,
blocks=40,
space=1,
height=2,width=30,
angle=360,
smooth=true
},
{ --[ Graph for CPU3 ]--
name="cpu",
arg="cpu3",
max=100,
alarm=50,
alarm_colour={0xFF0000,0.72},
bg_colour={0xFFFFFF,0.25},
fg_colour={0x00FF00,0.55},
mid_colour={{0.45,0xFFFF00,0.70}},
x=152,y=318,
blocks=40,
space=1,
height=2,width=30,
angle=360,
smooth=true
},
{ --[ Graph for CPU4 ]--
name="cpu",
arg="cpu4",
max=100,
alarm=50,
alarm_colour={0xFF0000,0.72},
bg_colour={0xFFFFFF,0.25},
fg_colour={0x00FF00,0.55},
mid_colour={{0.45,0xFFFF00,0.70}},
x=222,y=318,
blocks=40,
space=1,
height=2,width=30,
angle=360,
smooth=true
},
{ --[ Graph for Memory ]--
name="memperc",
arg="",
max=100,
alarm=50,
alarm_colour={0x00FF00,0.72},
bg_colour={0xFFFFFF,0.25},
fg_colour={0xFF0000,0.55},
mid_colour={{0.45,0xFFFF00,0.70}},
x=15,y=404,
blocks=80,
space=1,
height=2,width=10,
angle=90,
smooth=true
},
{ --[ Graph for Root ]--
name="fs_used_perc",
arg="/",
max=100,
alarm=80,
alarm_colour={0x00FF00,0.72},
bg_colour={0xFFFFFF,0.25},
fg_colour={0xFF0000,0.55},
mid_colour={{0.45,0xFFFF00,0.70}},
x=15,y=538,
blocks=80,
space=1,
height=2,width=10,
angle=90,
smooth=true
},
{ --[ Graph for Home ]--
name="fs_used_perc",
arg="/home",
max=100,
alarm=90,
alarm_colour={0x00FF00,0.72},
bg_colour={0xFFFFFF,0.25},
fg_colour={0xFF0000,0.55},
mid_colour={{0.45,0xFFFF00,0.70}},
x=15,y=580,
blocks=80,
space=1,
height=2,width=10,
angle=90,
smooth=true
},
{ --[ Graph for Swap ]--
name="swapperc",
arg="",
max=100,
alarm=50,
alarm_colour={0x00FF00,0.72},
bg_colour={0xFFFFFF,0.25},
fg_colour={0xFF0000,0.55},
mid_colour={{0.45,0xFFFF00,0.70}},
x=15,y=626,
blocks=80,
space=1,
height=2,width=10,
angle=90,
smooth=true
},
}
-----------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
Offline
Hi
Thank you to bartos and arvidsson.
I failed to mention when I asked like an idiot.
I love your conky configs!
Very nice!
Offline
Hi
Thank you to bartos and arvidsson.
I failed to mention when I asked like an idiot.I love your conky configs!
Very nice!
Please post your desktop when finished adding conky.
Offline
Been playing with openbox a bit recently
http://itmages.ru/thumbnails/get?server=storage7&uri=i/13/0825/h_1377444711_9464143_a95cfc3384.png
What is that icon theme?
Recently migrated from xfce to Openbox and I'm glad I did. It fixed all my problems in xfce, especially the wine fonts!
Current:
Last edited by tedbell (2013-09-22 05:12:55)
Offline
EquivEx wrote:Been playing with openbox a bit recently
http://itmages.ru/thumbnails/get?server=storage7&uri=i/13/0825/h_1377444711_9464143_a95cfc3384.pngWhat is that icon theme?
Recently migrated from xfce to Openbox and I'm glad I did. It fixed all my problems in xfce, especially the wine fonts!
Current:Desktop and conky:
http://www.zimagez.com/miniature/screenshot-092113-155130.phpDirty:
http://www.zimagez.com/miniature/screenshot-092113-155514.php
It's Numix-uTouch
Offline