guest@dotshare [~/groups/wms/spectrwm] $ ls DONT-QUIT/ | cat

DON'T QUIT (scrot) (+1 likes)

ddblue Jan 22, 2013 (wms/spectrwm)

.spectrwm.conf(raw, dl)

SCROT

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# Config File

workspace_limit	= 22
focus_mode		= default
# focus_close		= previous
# focus_close_wrap	= 1
# focus_default		= last
# spawn_position		= next

# window decoration
#border_width		= 1
#color_focus		= rgb:cd/00/40
color_focus		= 0
color_unfocus		= rgb:07/a8/d9

# Remove window border when bar is disabled and there is only one window in workspace
# disable_border		= 1

# bar settings
bar_enabled		= 0
bar_border_width	= 0
# bar_border[1]		= rgb:00/80/80
# bar_border_unfocus[1]	= rgb:00/40/40
bar_color[1]		= black
bar_font_color[1]	= rgb:07/a8/d9
bar_font		= -*-profont-*-*-*-*-11-*-*-*-*-*-*-*
bar_action		= /bin/dzconky
#bar_action		= baraction.sh
#bar_justify		= right
# bar_format		= +N:+I +S <+D>+4<%a %b %d %R %Z %Y+8<+A+4<+V
# bar_at_bottom		= 1
stack_enabled		= 1
clock_enabled		= 0
# clock_format		= %a %b %d %R %Z %Y
#region_padding	= 0
# tile_gap		= 0
title_name_enabled	= 0
title_class_enabled	= 0
 window_name_enabled	= 0
# verbose_layout		= 1
# urgent_enabled		= 1

# Spawn Applications
# spawn_position	= last
program[term]		= urxvt
# program[screenshot_all]	= screenshot.sh full
# program[screenshot_wind]	= screenshot.sh window
# program[lock]		= xlock
# program[initscr]	= initscreen.sh
 program[menu]		= dmenu_run -fn $bar_font -nb $bar_color -nf $bar_font_color -sb $bar_border -sf $bar_color
 bind[menu] 		= MOD+m
 bind[ws_prior] 	= MOD+Tab

# dialog box size ratio .3 >= r < 1
# dialog_ratio		= 0.6

# Split a non-Xrandr dual head setup into one region per monitor
# (non-standard driver-based multihead is not seen by spectrwm)
region		= screen[1]:1366x768+0+14
# region		= screen[1]:1280x1024+1280+0

# Launch applications in a workspace of choice
# autorun		= ws[1]:xterm

# workspace layout
# layout		= ws[1]:4:0:0:0:vertical
# layout		= ws[2]:0:0:0:0:horizontal
# layout		= ws[3]:0:0:0:0:fullscreen
# layout		= ws[4]:4:0:0:0:vertical_flip
# layout		= ws[5]:0:0:0:0:horizontal_flip

# mod key, (windows key is Mod4) (apple key on OSX is Mod2)
modkey = Mod4

# Clear key bindings and load new key bindings from the specified file.
# This allows you to load pre-defined key bindings for your keyboard layout.
#keyboard_mapping = ~/.spectrwm_us.conf

# quirks
# remove with: quirk[class:name] = NONE
# quirk[MPlayer:xv]			= FLOAT + FULLSCREEN + FOCUSPREV
# quirk[OpenOffice.org 2.4:VCLSalFrame]	= FLOAT
# quirk[OpenOffice.org 3.0:VCLSalFrame]	= FLOAT
# quirk[OpenOffice.org 3.1:VCLSalFrame]	= FLOAT
# quirk[Firefox-bin:firefox-bin]		= TRANSSZ
# quirk[Firefox:Dialog]			= FLOAT
# quirk[Gimp:gimp]			= FLOAT + ANYWHERE
# quirk[XTerm:xterm]			= XTERM_FONTADJ
# quirk[xine:Xine Window]			= FLOAT + ANYWHERE
# quirk[Xitk:Xitk Combo]			= FLOAT + ANYWHERE
# quirk[xine:xine Panel]			= FLOAT + ANYWHERE
# quirk[Xitk:Xine Window]			= FLOAT + ANYWHERE
# quirk[xine:xine Video Fullscreen Window] = FULLSCREEN + FLOAT
# quirk[pcb:pcb]				= FLOAT

# COMMON APPS: define firefox program and bind to key
program[firefox]	= firefox http://spectrwm.org/
bind[firefox]		= MOD+f
#program[term] 		= terminator
bind[term] 		= Mod1+F1
program[chromium] 	= chromium
bind[chromium] 		= MOD+c

# VOLUME CONTROL

program[rise_volume] 	= amixer set Master 5%+
bind[rise_volume] 	= Control+Up
program[dec_volume] 	= amixer set Master 5%-
bind[dec_volume] 	= Control+Down

# MUSIC CONTROL

program[play] 	= mpc play
bind[play] 	= Control+Shift+0xff9c
program[pause] 	= mpc pause
bind[pause] 	= Control+0xff9c
program[next] 	= mpc next
bind[next] 	= Control+Right
program[prev] 	= mpc prev
bind[prev] 	= Control+Left

# BRIGHTNESS CONTROL 

program[bright_up] 	= sudo nvidiablctl up
bind[bright_up] 	= 0x1008ff02
#bind[bright_up] 	= XF86MonBrightnessUp    
program[bright_down] 	= sudo nvidiablctl down
bind[bright_down] 	= 0x1008ff03
#bind[bright_down] 	= XF86MonBrightnessDown

CLICK TO VIEW

x

.conkyrc(raw, dl)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
out_to_x no
out_to_console yes
background false
update_interval 1.0
total_run_times 0
double_buffer yes
use_spacer none
use_xft yes
minimum_size 1300
maximum_width 1366


TEXT
 ^ca(1, sh /bin/dzencalendar)^fg(\#00cfff)${time %#a,%d-%#b - %T}^fg()^ca()  ☀ ^fg(\#E20048)${scroll 20 8 ${execpi 1800 python2 /home/archer/weather.py}}^fg()\
 RAM: $memperc%^fg(\#07a8d9)❭^fg()^fg(\#00cfff)❱^fg()\
 CPU: ${cpu}%^fg(\#07a8d9)❭^fg()^fg(\#00cfff)❱^fg()\
 HDD: ${fs_size /home/archer/}^fg(\#07a8d9)❭^fg()^fg(\#00cfff)❱^fg()\
 TEMP: ${exec sensors | grep -A 0 'temp1' | cut -c15-21}C^fg(\#07a8d9)❭^fg()^fg(\#00cfff)❱^fg()\
 NET: ${downspeedf wlp7s0}^fg(\#07a8d9)❭^fg()^fg(\#00cfff)❱^fg()\
 UPT: ${uptime_short}^fg(\#07a8d9)❭^fg()^fg(\#00cfff)❱^fg()\
 BAT: ${battery_short BAT0} / ${battery_time}^fg(\#07a8d9)❭^fg()^fg(\#00cfff)❱^fg()    \
 ♪♬   ^ca(4, mpc prev)^ca(5, mpc next)^fg(\#E20048)${mpd_artist} - ${mpd_title 20}^ca()^ca()^fg()  \
 VOL: ^ca(5, amixer set Master 5%-)^ca(4, amixer set Master 5%+)${exec amixer get Master | awk -F'[]%[]' '/%/ {if ($7 == "off") { print "Master Mute" } else { print$2"%" }}'}^ca()^ca()^fg(\#07a8d9)❭^fg()^fg(\#00cfff)❱^fg()\
 

x

bin_dzconky(raw, dl)

1
2
3
4
#!/bin/sh

BG='#000000'
conky | dzen2 -h '14' -ta c -bg $BG -fn Dejavu-7
 

x

bin_dzencalendar(raw, dl)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/bash
#
# pop-up calendar for dzen
#
# (c) 2007, by Robert Manea
#
 
TODAY=$(expr `date +'%d'` + 0)
MONTH=`date +'%m'`
YEAR=`date +'%Y'`
 
(
echo '^bg(#000000)^fg(#111111)'
#date +'%A, %d.%m.%Y %H:%M'
 
# current month, highlight header and today
cal | sed -r -e "1,2 s/.*/^fg(white)&^fg()/" \
             -e "s/(^| )($TODAY)($| )/\1^bg(white)^fg(#000)\2^fg()^bg()\3/"
 
# next month, hilight header
[ $MONTH -eq 12 ] && YEAR=`expr $YEAR + 1`
cal `expr \( $MONTH + 1 \) % 12` $YEAR \
    | sed -e "1,2 s/.*/^fg(white)&^fg()/"
) \
    | dzen2 -p 60 -bg '#000000' -fn '-*-terminus-*-*-*-*-12-*-*-*-*-*-iso10646-*' -x 170 -y 15 -w 120 -l 15 -sa l -e 'onstart=uncollapse;button3=exit'
 

x

weather.py(raw, dl)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/python
# vim: set fileencoding=UTF-8 :
import urllib2
from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup(urllib2.urlopen('http://www.weather.com/weather/right-now/San+Giustino+ITUM1307:1:IT').read())
right_now = (int(soup('span', {'class' : 'wx-value', 'itemprop' : 'temperature-fahrenheit'})[0].string) - 32) * 5/9
feels_like = (int(soup('span', {'class' : 'wx-value', 'itemprop' : 'feels-like-temperature-fahrenheit'})[0].string) - 32) * 5/9
humidity = soup('span', {'class' : 'wx-temp', 'itemprop' : 'humidity'})[0].string
wind = soup('span', {'class' : 'wx-temp'})[0].string
sky = soup('span', {'class' : 'wx-value', 'itemprop' : 'weather-phrase'})[0].string
temp_dict = {
             '  Feels Like :' : str(feels_like)+ '°C' + "  ",
	     '  Wind  :' : wind + "  ",
	     '  Temperature:' : str(right_now)+ '°C' + "  ",
	     '  Humidity   :' : humidity + "  ", 
	     '  Sky  :' : str(sky) + "  ",
 } 

for key, value in temp_dict.items():
    print key, value
 

x

Notes

Spectrwm conf with conky + dzen2 bar.

In addition, a weather «widget» python script that conky exec every XX minutes.
The script collect data from “weather.com” that, in my opinion has very accurate weather data BUT, it’s not free, so in this case i thought web scrapping it’s the solution.
To make it suit your location, just enter weather.com and search for your city, after that change the URL in the python script and you’re done :)

The wallpaper it’s free to grab (if interested) on my deviantart page: http://browse.deviantart.com/customization/wallpaper/apple/?order=5#/d5s7jsi

Enjoy! :)