You are not logged in.

#2351 2013-07-14 21:42:23

Roeland
Member
Registered: 2013-07-14
Posts: 3

Re: Share your Openbox Desktop ! :)

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.

Clean:
thumbclean.png

Busy:
thumbbusy.png

Regards,

Roeland

Offline

#2352 2013-07-14 22:19:26

archbawks
Banned
Registered: 2013-03-17
Posts: 75

Re: Share your Openbox Desktop ! :)

What are you typesetting and which editor are you using?

Offline

#2353 2013-07-14 22:55:53

Roeland
Member
Registered: 2013-07-14
Posts: 3

Re: Share your Openbox Desktop ! :)

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

#2354 2013-07-15 07:58:35

archbawks
Banned
Registered: 2013-03-17
Posts: 75

Re: Share your Openbox Desktop ! :)

Roeland wrote:

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

#2355 2013-07-15 18:33:16

Roeland
Member
Registered: 2013-07-14
Posts: 3

Re: Share your Openbox Desktop ! :)

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

#2356 2013-07-16 08:12:11

10PinkPanther
Member
From: Croatia
Registered: 2012-11-10
Posts: 333

Re: Share your Openbox Desktop ! :)

Arch + Openbox + Tint2


61c8.png

Offline

#2357 2013-07-16 10:23:33

Matty265
Member
Registered: 2010-01-28
Posts: 25

Re: Share your Openbox Desktop ! :)

10PinkPanther wrote:

Would you mind sharing your colors? smile

Offline

#2358 2013-07-16 17:55:56

10PinkPanther
Member
From: Croatia
Registered: 2012-11-10
Posts: 333

Re: Share your Openbox Desktop ! :)

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

#2359 2013-07-17 09:40:32

Matty265
Member
Registered: 2010-01-28
Posts: 25

Re: Share your Openbox Desktop ! :)

Thanks a lot smile

Offline

#2360 2013-07-18 21:37:01

simargl
Member
Registered: 2013-02-13
Posts: 51
Website

Re: Share your Openbox Desktop ! :)

twmK1CDt.jpg

Offline

#2361 2013-08-12 18:06:52

EgorMatirov
Member
Registered: 2013-07-21
Posts: 4

Re: Share your Openbox Desktop ! :)

s_1376330669_3883339_dc15817ff8.png

Offline

#2362 2013-08-15 18:59:54

Ahad12
Member
Registered: 2013-01-14
Posts: 28

Re: Share your Openbox Desktop ! :)

Archlinux + lxpanel + GreyBird GTK theme + GreyBird Openbox them + compositing

Clean
tumm.jpg

Busy
Running PCManFM, GNOME Package kit, Mozilla Thunderbird Email Client, GNOME Terminal..
tummm.jpg

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

#2363 2013-08-15 21:26:53

G:BE
Member
Registered: 2013-08-14
Posts: 6

Re: Share your Openbox Desktop ! :)

Ahad12 wrote:

Archlinux + lxpanel + GreyBird GTK theme + GreyBird Openbox them + compositing

Clean
https://dl.dropboxusercontent.com/u/79255301/tumm.jpg

Busy
Running PCManFM, GNOME Package kit, Mozilla Thunderbird Email Client, GNOME Terminal..
https://dl.dropboxusercontent.com/u/79255301/tummm.jpg

I 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

#2364 2013-08-25 15:37:06

EquivEx
Member
Registered: 2013-06-29
Posts: 27

Re: Share your Openbox Desktop ! :)

Been playing with openbox a bit recently
h_1377444711_9464143_a95cfc3384.png

Offline

#2365 2013-08-29 01:34:15

dgz
Member
Registered: 2013-08-27
Posts: 98

Re: Share your Openbox Desktop ! :)

from a little while back:

acdu6Oug.jpg abbiFCRT.jpg

Offline

#2366 2013-08-29 12:15:16

archbawks
Banned
Registered: 2013-03-17
Posts: 75

Re: Share your Openbox Desktop ! :)

^^^ Your screens are neatly laid out. Full Marks!!

Offline

#2367 2013-09-09 02:41:06

bartos
Member
Registered: 2008-08-22
Posts: 14

Re: Share your Openbox Desktop ! :)

Multi conky
Obmenu-generator

285ea0274887208.jpg

Offline

#2368 2013-09-09 16:51:54

jean_no
Member
Registered: 2007-09-18
Posts: 34

Re: Share your Openbox Desktop ! :)

Hi

can you share your conky and lua scripts ?

thanks

Offline

#2369 2013-09-09 21:14:58

bartos
Member
Registered: 2008-08-22
Posts: 14

Re: Share your Openbox Desktop ! :)

jean_no wrote:

Hi

can you share your conky and lua scripts ?

thanks

Who are you asking?

Try using quote to specify

Offline

#2370 2013-09-10 06:28:14

arvidsson
Member
From: Sweden
Registered: 2013-08-26
Posts: 6

Re: Share your Openbox Desktop ! :)

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?

Offline

#2371 2013-09-10 14:25:56

bartos
Member
Registered: 2008-08-22
Posts: 14

Re: Share your Openbox Desktop ! :)

arvidsson wrote:
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

d2745b274887510.jpg

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

#2372 2013-09-10 16:30:36

jean_no
Member
Registered: 2007-09-18
Posts: 34

Re: Share your Openbox Desktop ! :)

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

#2373 2013-09-11 00:53:54

bartos
Member
Registered: 2008-08-22
Posts: 14

Re: Share your Openbox Desktop ! :)

jean_no wrote:

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

#2374 2013-09-21 09:56:58

tedbell
Member
Registered: 2012-08-04
Posts: 131

Re: Share your Openbox Desktop ! :)

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:

Desktop and conky:
screenshot-092113-155130.php

Dirty:
screenshot-092113-155514.php

Last edited by tedbell (2013-09-22 05:12:55)

Offline

#2375 2013-09-22 19:16:19

EquivEx
Member
Registered: 2013-06-29
Posts: 27

Re: Share your Openbox Desktop ! :)

tedbell wrote:

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:

Desktop and conky:
http://www.zimagez.com/miniature/screenshot-092113-155130.php

Dirty:
http://www.zimagez.com/miniature/screenshot-092113-155514.php

It's Numix-uTouch

Offline

Board footer

Powered by FluxBB