blackburn added

This commit is contained in:
luke bonham 2013-03-30 22:34:54 +01:00
parent 94dfcf3f2a
commit 8e75e3c3dc
61 changed files with 1885 additions and 76 deletions

View File

@ -3,9 +3,13 @@ Copycat themes for Awesome WM 3.5
I.E. modded and localized versions of some stuff I like.
Beware! They're more awesome than they appear.
**Blackburn** the wannabe definitive theme
.. image:: http://i.imgur.com/Cz1ne3J.jpg
**Steamburn** copycatted from ok100_
.. image:: http://i.imgur.com/AvMiFTq.jpg
.. image:: http://i.imgur.com/esHcVzj.jpg
**Powerarrow Darker** copycatted from romockee_

1106
rc.lua.blackburn Executable file

File diff suppressed because it is too large Load Diff

View File

@ -73,6 +73,7 @@ end
-- Useful Paths
home = os.getenv("HOME")
confdir = home .. "/.config/awesome"
scriptdir = confdir .. "/script/"
themes = confdir .. "/themes"
active_theme = themes .. "/multicolor"
@ -370,7 +371,7 @@ function add_info()
mouse = mouse,
screen = screen
}
local cal = awful.util.pread("dfs")
local cal = awful.util.pread(scriptdir .. "dfs")
cal = string.gsub(cal, " ^%s*(.-)%s*$", "%1")
infos = naughty.notify({
text = string.format('<span font_desc="%s">%s</span>', "Terminus", cal),
@ -379,15 +380,12 @@ function add_info()
margin = 10,
height = 170,
width = 585,
border_color = '#404040',
border_width = 1,
opacity = 0.94,
screen = capi.mouse.screen
})
end
fshicon:connect_signal('mouse::enter', function () add_info() end)
fshicon:connect_signal('mouse::leave', function () remove_info() end)
fshwidget:connect_signal('mouse::enter', function () add_info() end)
fshwidget:connect_signal('mouse::leave', function () remove_info() end)
-- Uptime
uptimeicon = wibox.widget.imagebox()
@ -702,6 +700,7 @@ root.buttons(awful.util.table.join(
-- {{{ Key bindings
globalkeys = awful.util.table.join(
-- Capture a screenshot
awful.key({ altkey }, "p", function() awful.util.spawn("screenshot",false) end),
@ -712,17 +711,15 @@ globalkeys = awful.util.table.join(
awful.key({ altkey }, "Up", function () awful.client.moveresize( 0, -1, 0, 0) end),
awful.key({ altkey }, "Left", function () awful.client.moveresize(-1, 0, 0, 0) end),
awful.key({ altkey }, "Right", function () awful.client.moveresize( 1, 0, 0, 0) end),
awful.key({ modkey, }, "Left", awful.tag.viewprev ),
awful.key({ modkey, }, "Right", awful.tag.viewnext ),
awful.key({ modkey, }, "Escape", awful.tag.history.restore),
awful.key({ modkey, }, "j",
awful.key({ modkey, }, "k",
function ()
awful.client.focus.byidx( 1)
if client.focus then client.focus:raise() end
end),
awful.key({ modkey, }, "k",
awful.key({ modkey, }, "j",
function ()
awful.client.focus.byidx(-1)
if client.focus then client.focus:raise() end
@ -732,7 +729,7 @@ globalkeys = awful.util.table.join(
-- Show/Hide Wibox
awful.key({ modkey }, "b", function ()
mywibox[mouse.screen].visible = not mywibox[mouse.screen].visible
mybottomwibox[mouse.screen].visible = not mybottomwibox[mouse.screen].visible end),
end),
-- Layout manipulation
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end),
@ -752,8 +749,6 @@ globalkeys = awful.util.table.join(
awful.key({ modkey, }, "Return", function () awful.util.spawn(terminal) end),
awful.key({ modkey, "Control" }, "r", awesome.restart),
awful.key({ modkey, "Shift" }, "q", awesome.quit),
awful.key({ modkey, }, "z", function () scratch.drop(terminal) end),
awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end),
awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end),
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1) end),
@ -762,28 +757,59 @@ globalkeys = awful.util.table.join(
awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1) end),
awful.key({ modkey, }, "space", function () awful.layout.inc(layouts, 1) end),
awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(layouts, -1) end),
awful.key({ modkey, "Control" }, "n", awful.client.restore),
-- Dropdown terminal
awful.key({ modkey, }, "z", function () scratch.drop(terminal) end),
-- Volume control
awful.key({ "Control" }, "Up", function () awful.util.spawn("amixer set Master playback 1%+", false ) end),
awful.key({ "Control" }, "Down", function () awful.util.spawn("amixer set Master playback 1%-", false ) end),
awful.key({ "Control" }, "m", function () awful.util.spawn("amixer set Master playback mute", false ) end),
awful.key({ "Control" }, "u", function () awful.util.spawn("amixer set Master playback unmute", false ) end),
-- Music control
awful.key({ altkey, "Control" }, "Up", function () awful.util.spawn( "mpc toggle", false ) end),
awful.key({ altkey, "Control" }, "Down", function () awful.util.spawn( "mpc stop", false ) end ),
awful.key({ altkey, "Control" }, "Left", function () awful.util.spawn( "mpc prev", false ) end ),
awful.key({ altkey, "Control" }, "Right", function () awful.util.spawn( "mpc next", false ) end ),
awful.key({ modkey, "Control" }, "Up", function () awful.util.spawn( "systemctl start mpd", false ) end),
awful.key({ modkey, "Control" }, "Down", function () awful.util.spawn( "systemctl stop mpd", false ) end),
awful.key({ "Control" }, "Up", function ()
awful.util.spawn("amixer set Master playback 1%+", false )
vicious.force({ volumewidget })
end),
awful.key({ "Control" }, "Down", function ()
awful.util.spawn("amixer set Master playback 1%-", false )
vicious.force({ volumewidget })
end),
awful.key({ "Control" }, "m", function ()
awful.util.spawn("amixer set Master playback mute", false )
vicious.force({ volumewidget })
end),
awful.key({ "Control" }, "u", function ()
awful.util.spawn("amixer set Master playback unmute", false )
vicious.force({ volumewidget })
end),
awful.key({ altkey, "Control" }, "m", function ()
awful.util.spawn("amixer set Master playback 100%", false )
vicious.force({ volumewidget })
end),
-- Other stuff
-- Music control
awful.key({ altkey, "Control" }, "Up", function ()
awful.util.spawn( "mpc toggle", false )
vicious.force({ mpdwidget } )
end),
awful.key({ altkey, "Control" }, "Down", function ()
awful.util.spawn( "mpc stop", false )
vicious.force({ mpdwidget } )
end ),
awful.key({ altkey, "Control" }, "Left", function ()
awful.util.spawn( "mpc prev", false )
vicious.force({ mpdwidget } )
end ),
awful.key({ altkey, "Control" }, "Right", function ()
awful.util.spawn( "mpc next", false )
vicious.force({ mpdwidget } )
end ),
-- Copy to clipboard
awful.key({ modkey, }, "c", function () os.execute("xsel -p -o | xsel -i -b") end),
-- User programs
awful.key({ modkey, }, "q", function () awful.util.spawn( "dwb", false ) end),
awful.key({ modkey, }, "a", function () awful.util.spawn( "midori", false ) end),
awful.key({ modkey, }, "s", function () awful.util.spawn(gui_editor) end),
awful.key({ modkey, }, "t", function () awful.util.spawn(mail) end),
awful.key({ modkey, }, "t", function () awful.util.spawn( "thunderbird", false ) end),
awful.key({ modkey, }, "d", function () awful.util.spawn( "spacefm", false ) end),
-- Prompt

View File

@ -427,10 +427,7 @@ function add_info()
margin = 10,
height = 170,
width = 585,
border_color = '#404040',
border_width = 1,
opacity = 0.94,
screen = capi.mouse.screen
screen = capi.mouse.screen
})
end
@ -670,6 +667,7 @@ root.buttons(awful.util.table.join(
-- {{{ Key bindings
globalkeys = awful.util.table.join(
-- Capture a screenshot
awful.key({ altkey }, "p", function() awful.util.spawn("screenshot",false) end),
@ -680,11 +678,9 @@ globalkeys = awful.util.table.join(
awful.key({ altkey }, "Up", function () awful.client.moveresize( 0, -1, 0, 0) end),
awful.key({ altkey }, "Left", function () awful.client.moveresize(-1, 0, 0, 0) end),
awful.key({ altkey }, "Right", function () awful.client.moveresize( 1, 0, 0, 0) end),
awful.key({ modkey, }, "Left", awful.tag.viewprev ),
awful.key({ modkey, }, "Right", awful.tag.viewnext ),
awful.key({ modkey, }, "Escape", awful.tag.history.restore),
awful.key({ modkey, }, "k",
function ()
awful.client.focus.byidx( 1)
@ -700,7 +696,7 @@ globalkeys = awful.util.table.join(
-- Show/Hide Wibox
awful.key({ modkey }, "b", function ()
mywibox[mouse.screen].visible = not mywibox[mouse.screen].visible
mybottomwibox[mouse.screen].visible = not mybottomwibox[mouse.screen].visible end),
end),
-- Layout manipulation
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end),
@ -720,8 +716,6 @@ globalkeys = awful.util.table.join(
awful.key({ modkey, }, "Return", function () awful.util.spawn(terminal) end),
awful.key({ modkey, "Control" }, "r", awesome.restart),
awful.key({ modkey, "Shift" }, "q", awesome.quit),
awful.key({ modkey, }, "z", function () scratch.drop(terminal) end),
awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end),
awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end),
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1) end),
@ -730,24 +724,58 @@ globalkeys = awful.util.table.join(
awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1) end),
awful.key({ modkey, }, "space", function () awful.layout.inc(layouts, 1) end),
awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(layouts, -1) end),
awful.key({ modkey, "Control" }, "n", awful.client.restore),
-- Dropdown terminal
awful.key({ modkey, }, "z", function () scratch.drop(terminal) end),
-- Widgets popups
awful.key({ altkey, }, "c", function () add_calendar(7) end),
-- Volume control
awful.key({ "Control" }, "Up", function () os.execute("amixer set Master playback 1%+", false ) end),
awful.key({ "Control" }, "Down", function () os.execute("amixer set Master playback 1%-", false ) end),
awful.key({ "Control" }, "m", function () os.execute("amixer set Master playback mute", false ) end),
awful.key({ "Control" }, "u", function () os.execute("amixer set Master playback unmute", false ) end),
awful.key({ altkey, "Control" }, "m", function () os.execute("amixer set Master playback 100%", false ) end),
awful.key({ "Control" }, "Up", function ()
awful.util.spawn("amixer set Master playback 1%+", false )
vicious.force({ volumewidget })
end),
awful.key({ "Control" }, "Down", function ()
awful.util.spawn("amixer set Master playback 1%-", false )
vicious.force({ volumewidget })
end),
awful.key({ "Control" }, "m", function ()
awful.util.spawn("amixer set Master playback mute", false )
vicious.force({ volumewidget })
end),
awful.key({ "Control" }, "u", function ()
awful.util.spawn("amixer set Master playback unmute", false )
vicious.force({ volumewidget })
end),
awful.key({ altkey, "Control" }, "m", function ()
awful.util.spawn("amixer set Master playback 100%", false )
vicious.force({ volumewidget })
end),
-- Music control
awful.key({ altkey, "Control" }, "Up", function () awful.util.spawn( "mpc toggle", false ) end),
awful.key({ altkey, "Control" }, "Down", function () awful.util.spawn( "mpc stop", false ) end ),
awful.key({ altkey, "Control" }, "Left", function () awful.util.spawn( "mpc prev", false ) end ),
awful.key({ altkey, "Control" }, "Right", function () awful.util.spawn( "mpc next", false ) end ),
-- Music control
awful.key({ altkey, "Control" }, "Up", function ()
awful.util.spawn( "mpc toggle", false )
vicious.force({ mpdwidget } )
end),
awful.key({ altkey, "Control" }, "Down", function ()
awful.util.spawn( "mpc stop", false )
vicious.force({ mpdwidget } )
end ),
awful.key({ altkey, "Control" }, "Left", function ()
awful.util.spawn( "mpc prev", false )
vicious.force({ mpdwidget } )
end ),
awful.key({ altkey, "Control" }, "Right", function ()
awful.util.spawn( "mpc next", false )
vicious.force({ mpdwidget } )
end ),
-- Other stuff
-- Copy to clipboard
awful.key({ modkey, }, "c", function () os.execute("xsel -p -o | xsel -i -b") end),
-- User programs
awful.key({ modkey, }, "q", function () awful.util.spawn( "dwb", false ) end),
awful.key({ modkey, }, "a", function () awful.util.spawn( "midori", false ) end),
awful.key({ modkey, }, "s", function () awful.util.spawn(gui_editor) end),

View File

@ -70,6 +70,7 @@ end
home = os.getenv("HOME")
confdir = home .. "/.config/awesome"
scriptdir = confdir .. "/script/"
themes = confdir .. "/themes"
active_theme = themes .. "/steamburn"
@ -285,13 +286,13 @@ function show(inc_offset)
})
end
function show_calendar()
function add_calendar(t_out)
hide()
local char_width = char_width or calculate_char_width()
local header, cal_text = create_calendar()
calendar = naughty.notify({ title = header,
text = cal_text,
timeout = 5,
timeout = t_out,
})
end
@ -342,7 +343,7 @@ function(widget, args)
if( args["{Title}"] ~= curr_track )
then
curr_track = args["{Title}"]
run_once("mpdinfo")
run_once(scriptdir .. "mpdinfo")
end
return gray .. args["{Title}"] .. coldef .. white .. " " .. args["{Artist}"] .. coldef
elseif (args["{state}"] == "Pause") then
@ -403,7 +404,7 @@ function add_info()
mouse = mouse,
screen = screen
}
local cal = awful.util.pread("dfs")
local cal = awful.util.pread(scriptdir .. "dfs")
cal = string.gsub(cal, " ^%s*(.-)%s*$", "%1")
infos = naughty.notify({
text = string.format('<span font_desc="%s">%s</span>', "Tamsyn", cal),
@ -412,10 +413,7 @@ function add_info()
margin = 10,
height = 210,
width = 680,
border_color = '#94928f',
border_width = 1,
opacity = 0.94,
screen = capi.mouse.screen
screen = capi.mouse.screen
})
end
@ -651,6 +649,7 @@ root.buttons(awful.util.table.join(
-- Key bindings
globalkeys = awful.util.table.join(
-- Capture a screenshot
awful.key({ altkey }, "p", function() awful.util.spawn("screenshot",false) end),
@ -661,11 +660,9 @@ globalkeys = awful.util.table.join(
awful.key({ altkey }, "Up", function () awful.client.moveresize( 0, -1, 0, 0) end),
awful.key({ altkey }, "Left", function () awful.client.moveresize(-1, 0, 0, 0) end),
awful.key({ altkey }, "Right", function () awful.client.moveresize( 1, 0, 0, 0) end),
awful.key({ modkey, }, "Left", awful.tag.viewprev ),
awful.key({ modkey, }, "Right", awful.tag.viewnext ),
awful.key({ modkey, }, "Escape", awful.tag.history.restore),
awful.key({ modkey, }, "k",
function ()
awful.client.focus.byidx( 1)
@ -701,9 +698,6 @@ globalkeys = awful.util.table.join(
awful.key({ modkey, }, "Return", function () awful.util.spawn(terminal) end),
awful.key({ modkey, "Control" }, "r", awesome.restart),
awful.key({ modkey, "Shift" }, "q", awesome.quit),
awful.key({ "Control", }, "<", function () show_calendar() end),
awful.key({ modkey, }, "z", function () scratch.drop(terminal) end),
awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end),
awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end),
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1) end),
@ -712,24 +706,58 @@ globalkeys = awful.util.table.join(
awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1) end),
awful.key({ modkey, }, "space", function () awful.layout.inc(layouts, 1) end),
awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(layouts, -1) end),
awful.key({ modkey, "Control" }, "n", awful.client.restore),
-- Dropdown terminal
awful.key({ modkey, }, "z", function () scratch.drop(terminal) end),
-- Widgets popups
awful.key({ altkey, }, "c", function () add_calendar(7) end),
-- Volume control
awful.key({ "Control" }, "Up", function () os.execute("amixer set Master playback 1%+", false ) end),
awful.key({ "Control" }, "Down", function () os.execute("amixer set Master playback 1%-", false ) end),
awful.key({ "Control" }, "m", function () os.execute("amixer set Master playback mute", false ) end),
awful.key({ "Control" }, "u", function () os.execute("amixer set Master playback unmute", false ) end),
awful.key({ altkey, "Control" }, "m", function () os.execute("amixer set Master playback 100%", false ) end),
awful.key({ "Control" }, "Up", function ()
awful.util.spawn("amixer set Master playback 1%+", false )
vicious.force({ volumewidget })
end),
awful.key({ "Control" }, "Down", function ()
awful.util.spawn("amixer set Master playback 1%-", false )
vicious.force({ volumewidget })
end),
awful.key({ "Control" }, "m", function ()
awful.util.spawn("amixer set Master playback mute", false )
vicious.force({ volumewidget })
end),
awful.key({ "Control" }, "u", function ()
awful.util.spawn("amixer set Master playback unmute", false )
vicious.force({ volumewidget })
end),
awful.key({ altkey, "Control" }, "m", function ()
awful.util.spawn("amixer set Master playback 100%", false )
vicious.force({ volumewidget })
end),
-- Music control
awful.key({ altkey, "Control" }, "Up", function () awful.util.spawn( "mpc toggle", false ) end),
awful.key({ altkey, "Control" }, "Down", function () awful.util.spawn( "mpc stop", false ) end ),
awful.key({ altkey, "Control" }, "Left", function () awful.util.spawn( "mpc prev", false ) end ),
awful.key({ altkey, "Control" }, "Right", function () awful.util.spawn( "mpc next", false ) end ),
awful.key({ altkey, "Control" }, "Up", function ()
awful.util.spawn( "mpc toggle", false )
vicious.force({ mpdwidget } )
end),
awful.key({ altkey, "Control" }, "Down", function ()
awful.util.spawn( "mpc stop", false )
vicious.force({ mpdwidget } )
end ),
awful.key({ altkey, "Control" }, "Left", function ()
awful.util.spawn( "mpc prev", false )
vicious.force({ mpdwidget } )
end ),
awful.key({ altkey, "Control" }, "Right", function ()
awful.util.spawn( "mpc next", false )
vicious.force({ mpdwidget } )
end ),
-- Other stuff
-- Copy to clipboard
awful.key({ modkey, }, "c", function () os.execute("xsel -p -o | xsel -i -b") end),
-- User programs
awful.key({ modkey, }, "q", function () awful.util.spawn( "dwb", false ) end),
awful.key({ modkey, }, "a", function () awful.util.spawn( "midori", false ) end),
awful.key({ modkey, }, "s", function () awful.util.spawn(gui_editor) end),

390
script/dfs Executable file
View File

@ -0,0 +1,390 @@
#!/bin/bash
#
# Adapted from Eridan's "fs" (cleanup, enhancements and switch to bash/Linux)
# JM, 10/12/2004
#
# Localized in Italian by a maniac, 02/03/2013
#
# -------------------------------------------------------------------------
# Decoding options
# -------------------------------------------------------------------------
USAGE="--> Usage: $0 [-h(elp)] | [-n(arrow mode)] | [-w(eb output)]"
NARROW_MODE=0
WEB_OUTPUT=0
while [ $# -gt 0 ]; do
case "$1" in
"-h" )
echo $USAGE
exit
;;
"-d" )
DEBUG=1
;;
"-n" )
NARROW_MODE=1
;;
"-w" )
WEB_OUTPUT=1
;;
* )
echo $USAGE
exit
;;
esac
shift
done
# -------------------------------------------------------------------------
# Preparations
# -------------------------------------------------------------------------
SYSTEM=`uname -s`
PATTERN="/"
case "$SYSTEM" in
"Linux" )
DF_COMMAND="/bin/df -k"
SORT_COMMAND="/usr/bin/sort -k6"
AWK_COMMAND="/bin/awk"
;;
* )
DF_COMMAND="/bin/df -k"
SORT_COMMAND="/usr/bin/sort -k6"
AWK_COMMAND="/opt/local/bin/gawk"
;;
esac
if [ ! -x ${AWK_COMMAND} ]; then
echo "### ${AWK_COMMAND} not present; install it! ###"
echo " On Mac OS X: install MacPorts and perform:"
echo " sudo port install gawk"
fi
# -------------------------------------------------------------------------
# Grabbing "df" result
# -------------------------------------------------------------------------
DF_RESULT=`$DF_COMMAND`
if [ ! -z $DEBUG ]; then
echo "--> DF_RESULT:"
echo "$DF_RESULT"
echo ""
fi
# -------------------------------------------------------------------------
# Preprocessing "df" result, to join split logical lines
# -------------------------------------------------------------------------
PREPROCESSING_RESULT=` \
echo "$DF_RESULT" | $AWK_COMMAND -v PATTERN=$PATTERN \
'
NF == 1 {
printf ("%s", $0)
}
NF == 5 {
printf ("%s\n", $0)
}
NF > 6 {
}
NF == 6 {
printf ("%s\n", $0)
}'
`
if [ ! -z $DEBUG ]; then
echo "--> PREPROCESSING_RESULT:"
echo "$PREPROCESSING_RESULT"
echo ""
fi
SORTED_FILE_SYSTEMS_INFO=`echo "$PREPROCESSING_RESULT" | $SORT_COMMAND`
if [ ! -z $DEBUG ]; then
echo "--> SORTED_FILE_SYSTEMS_INFO:"
echo "$SORTED_FILE_SYSTEMS_INFO"
echo ""
fi
# -------------------------------------------------------------------------
# Computing mount point max length
# -------------------------------------------------------------------------
MOUNT_POINT_MAX_LENGTH=` \
echo $SORTED_FILE_SYSTEMS_INFO | $AWK_COMMAND -v PATTERN=$PATTERN \
'
BEGIN {
mount_point_length_max = 15;
}
END {
printf ("%d", mount_point_length_max);
}
$0 ~ PATTERN {
# printf ("$6 = %s\n", $6);
mount_point = $6;
# printf ("mount_point = %s\n", mount_point);
mount_point_length = length (mount_point);
# printf ("mount_point_length = %d\n", mount_point_length);
if (mount_point_length > mount_point_length_max)
mount_point_length_max = mount_point_length;
}'
`
if [ ! -z $DEBUG ]; then
echo "MOUNT_POINT_MAX_LENGTH: $MOUNT_POINT_MAX_LENGTH"
fi
# -------------------------------------------------------------------------
# Computing mount point data max size
# -------------------------------------------------------------------------
MOUNT_POINT_MAX_SIZE=` \
echo "$SORTED_FILE_SYSTEMS_INFO" | $AWK_COMMAND -v PATTERN=$PATTERN \
'
BEGIN {
mount_point_size_max = 0;
}
END {
printf ("%d", mount_point_size_max);
}
$0 ~ PATTERN {
# df -k shows k_bytes!
# printf ("$2 = %s\n", $2);
mount_point_size = $2 * 1024;
# printf ("mount_point_size = %d\n", mount_point_size);
if (mount_point_size > mount_point_size_max)
mount_point_size_max = mount_point_size;
}'
`
if [ ! -z $DEBUG ]; then
echo "MOUNT_POINT_MAX_SIZE: $MOUNT_POINT_MAX_SIZE"
fi
# -------------------------------------------------------------------------
# Let's go!
# -------------------------------------------------------------------------
echo "$SORTED_FILE_SYSTEMS_INFO" | $AWK_COMMAND -v DEBUG=$DEBUG -v PATTERN=$PATTERN -v NARROW_MODE=$NARROW_MODE -v LEFT_COLUMN=$MOUNT_POINT_MAX_LENGTH -v MAX_SIZE=$MOUNT_POINT_MAX_SIZE -v SCALE=$SCALE -v WEB_OUTPUT=$WEB_OUTPUT \
'
# {printf ("$0 = %s\n", $0);}
# {printf ("$1 = %s\n", $1);}
# {printf ("PATTERN = %s\n", PATTERN);}
# {printf ("LEFT_COLUMN = %s\n", LEFT_COLUMN);}
BEGIN {
k_bytes = 1024.0;
m_bytes = 1024.0 * k_bytes;
g_bytes = 1024.0 * m_bytes;
t_bytes = 1024.0 * g_bytes;
if (WEB_OUTPUT)
{
all_stars = "**************************************************";
current_date = strftime ("%d-%m-%Y @ %H:%M:%S", localtime (systime ()));
free_threshold = 10; # %
printf ("<!-- DEBUT CONTENU -->\n");
printf ( \
"<A NAME=\"top\"></A>\n" \
"<P ALIGN=CENTER><SPAN CLASS=\"titleblue\">%s</SPAN><SPAN CLASS=\"textbold\"> -- STATUS OF <SPAN CLASS=\"titlered\">ALCOR</SPAN> FILE SYSTEMS</SPAN></P><BR>\n",
current_date )
printf ("<TABLE WIDTH=\"100%%\" BORDER=1>\n");
printf ( \
"<TR>\n" \
"<TD ALIGN=LEFT><STRONG>Mount point</STRONG></TD>\n" \
"<TD ALIGN=CENTER><STRONG>%% Usato&nbsp;(<SPAN CLASS=\"titleblue\">*</SPAN>)" \
"&nbsp;-&nbsp;%% Free&nbsp;(<SPAN CLASS=\"titlegreen\">*</SPAN>)</STRONG></TD>\n" \
"<TD ALIGN=CENTER><STRONG>%% Usato</STRONG></TD>\n" \
"<TD ALIGN=CENTER><STRONG>Spazio libero</STRONG></TD>\n" \
"<TD ALIGN=CENTER><STRONG>Spazio totale</STRONG></TD>\n" \
"</TR>\n" );
}
else
{
narrow_margin = " ";
# printf ("%-*s", LEFT_COLUMN + 2, "Mount point");
if (NARROW_MODE)
printf ("\n%s", narrow_margin);
else
printf ("%-*s", LEFT_COLUMN + 2, "");
print " Usato Libero Totale";
if (! NARROW_MODE)
print "";
}
}
END {
if (WEB_OUTPUT)
{
printf ("</TABLE>\n");
printf ("<!-- FIN CONTENU -->\n");
}
else
{
if (NARROW_MODE)
printf ("%s", narrow_margin);
else
printf ("%-*s", LEFT_COLUMN + 2, "");
print "|----|----|----|----|----|----|----|----|----|----|"
if (NARROW_MODE)
printf ("\n%s", narrow_margin);
else
printf ("%-*s", LEFT_COLUMN + 2, "");
print "0 10 20 30 40 50 60 70 80 90 100";
print "";
}
}
$0 ~ PATTERN {
if (index ($0, "members") == 0 && index ($0, "Download") == 0 && index ($0, "admin") == 0)
{
# df -k shows k_bytes!
total_size = $2 * k_bytes;
free_size = $4 * k_bytes;
percentage_occupied = substr($5, 0, 3);
mount_point = $6;
percentage_free = int (100 - percentage_occupied);
# reduction_factor: 2
stars_number = int (percentage_occupied / 2);
if (WEB_OUTPUT)
{
posGroup = index (mount_point, "scratch");
if (posGroup == 0)
posGroup = index (mount_point, "u1");
if (posGroup == 0)
posGroup = index (mount_point, "u2");
if (posGroup == 0)
posGroup = index (mount_point, "u4");
if (posGroup == 0)
posGroup = index (mount_point, "u5");
printf ("<TR>\n");
if (posGroup > 0 || percentage_free < free_threshold)
{
if (percentage_free < free_threshold)
{
class = "titlered";
if (posGroup == 0)
posGroup = 1; # to display the whole mount_point in this color anyway
}
else if ((index (mount_point, "scratch") != 0) || (index (mount_point, "u1") != 0) || (index (mount_point, "u2") != 0))
{
class = "titleorange";
posGroup = 1; # to display the whole mount_point in this color
}
else if ((index (mount_point, "u4") != 0) || (index (mount_point, "u5") != 0))
{
class = "titlebrown";
posGroup = 1; # to display the whole mount_point in this color
}
printf ( \
"<TD ALIGN=LEFT>%s<SPAN CLASS=\"%s\">%s</SPAN></TD>\n",
substr (mount_point, 1, posGroup - 1),
class,
substr (mount_point, posGroup) );
}
else
{
printf ("<TD ALIGN=LEFT>%s</TD>\n", mount_point);
}
printf ( \
"<TD ALIGN=CENTER><SPAN CLASS=\"titleblue\">%s</SPAN><SPAN CLASS=\"titlegreen\">%s</SPAN></TD>\n",
substr (all_stars, 1, stars_number), substr (all_stars, stars_number + 1, 49) );
if (percentage_free < free_threshold)
{
color_beginning = "<SPAN CLASS=\"titlered\">";
color_end = "</SPAN>"
}
else
{
color_beginning = "";
color_end = ""
}
if (total_size > 1 * t_bytes)
printf ( \
"<TD ALIGN=RIGHT>%s%3d%%%s</TD><TD ALIGN=RIGHT>%5.1f Tb</TD><TD ALIGN=RIGHT>%5.1f Tb</TD>\n", \
color_beginning, percentage_occupied, color_end, free_size / t_bytes, total_size / t_bytes \
);
else if (total_size > 1 * g_bytes)
printf ( \
"<TD ALIGN=RIGHT>%s%3d%%%s</TD><TD ALIGN=RIGHT>%5.1f Gb</TD><TD ALIGN=RIGHT>%5.1f Gb</TD>\n", \
color_beginning, percentage_occupied, color_end, free_size / g_bytes, total_size / g_bytes \
);
else if (total_size > 1 * m_byptes)
printf ( \
"<TD ALIGN=RIGHT>%s%3d%%%s</TD><TD ALIGN=RIGHT>%5.1f Mb</TD><TD ALIGN=RIGHT>%5.1f Mb</TD>\n", \
color_beginning, percentage_occupied, color_end, free_size / m_bytes, total_size / m_bytes \
);
else
printf ( \
"<TD ALIGN=RIGHT>%s%3d%%%s</TD><TD ALIGN=RIGHT>%5.1f Kb</TD><TD ALIGN=RIGHT>%5.1f Kb</TD>\n", \
color_beginning, percentage_occupied, color_end, free_size / k_bytes, total_size / k_bytes \
);
printf ("</TR>\n");
}
else
{
# printf ("percentage_occupied = %d\n", percentage_occupied);
# printf ("percentage_free = %d\n", percentage_free);
printf ("%-*s", LEFT_COLUMN + 2, mount_point);
if (NARROW_MODE)
printf ("\n%s", narrow_margin);
# printf ("stars_number = %d\n", stars_number);
printf ("|");
for (i = 1; i <= stars_number; i++)
{
printf ("%s", "*");
}
for (i = stars_number + 1; i <= 49; i++)
{
printf ("%s", "-");
}
if (total_size > 1 * t_bytes)
printf ( \
"| %3d%% %5.1f %5.1f Tb\n", \
percentage_occupied, free_size / t_bytes, total_size / t_bytes \
);
else if (total_size > 1 * g_bytes)
printf ( \
"| %3d%% %5.1f %5.1f Gb\n", \
percentage_occupied, free_size / g_bytes, total_size / g_bytes \
);
else if (total_size > 1 * m_byptes)
printf ( \
"| %3d%% %5.1f %5.1f Mb\n", \
percentage_occupied, free_size / m_bytes, total_size / m_bytes \
);
else
printf ( \
"| %3d%% %5.1f %5.1f Kb\n", \
percentage_occupied, free_size / k_bytes, total_size / k_bytes \
);
}
} # if
}'

88
script/mpdinfo Executable file
View File

@ -0,0 +1,88 @@
#!/bin/bash
# A simple notify script for now-playing songs on mpd. This script uses
# notify-send and mpc to get the current song information.
# Requirements (* = optional)
# - mpd
# - mpc
# - notify-send (libnotify)
# * ImageMagick (convert)
# Author : Wolfgang Mueller
# You can use, edit and redistribute this script in any way you like.
# (Just make sure not to hurt any kittens)
# Configuration-------------------------------------------------------
# The music directory that contains the music and cover files
MUSIC_DIR="$HOME/Musica"
# The default cover to use (optional)
DEFAULT_ART=""
# The following track metadata delimiters can be changed.
# You can find all possible delimiters in the 'mpc' manpage.
# It's also possible to use pango markup like <u></u> and <i></i>
# How to format artist/album information
A_FORMAT="%artist%[ (%album%)] - %date%"
# How to format title information
T_FORMAT="%title%"
# Regex expression used for image search
IMG_REG="(front|cover|art|Folder|folder)\.(jpg|jpeg|png|gif)$"
# Title of the notification
NOTIFY_TITLE="Now Playing"
# Path of temporary resized cover
TEMP_PATH="/tmp/mpdnotify_cover.png"
# Resize cover to (optional, recommended)
COVER_RESIZE="100x100"
# Thumbnail background (transparent by default)
COVER_BACKGROUND="none"
# Logfile
LOGFILE="$HOME/.mpdnotify.log"
#--------------------------------------------------------------------
# determine file
file="$(mpc current -f %file%)"
# check if anything is playing at all
[[ -z $file ]] && exit 1
# Get title info
title="$(mpc current -f "$A_FORMAT")"
# Get song info
song="$(mpc current -f "$T_FORMAT")"
# Art directory
art="$MUSIC_DIR/${file%/*}"
# find every file that matches IMG_REG set the first matching file to be the
# cover.
cover="$(find "$art/" -maxdepth 1 -type f | egrep -i -m1 "$IMG_REG")"
# when no cover is found, use DEFAULT_ART as cover
cover="${cover:=$DEFAULT_ART}"
# check if art is available
if [[ -n $cover ]]; then
if [[ -n $COVER_RESIZE ]]; then
convert "$cover" -thumbnail $COVER_RESIZE -gravity center \
-background "$COVER_BACKGROUND" -extent $COVER_RESIZE "$TEMP_PATH" >> "$LOGFILE" 2>&1
cover="$TEMP_PATH"
fi
notify-send -t 5000 --hint=int:transient:1 "$NOTIFY_TITLE" "$title\n$song" -i "$cover" >> "$LOGFILE" 2>&1
else
notify-send -t 5000 --hint=int:transient:1 "$NOTIFY_TITLE" "$title\n$song" >> "$LOGFILE" 2>&1
fi

87
script/weather Executable file
View File

@ -0,0 +1,87 @@
#!/usr/bin/env python2.7
# coding=utf-8
"""Fetch weather using Yandex XML API."""
__author__ = "Ilia Glazkov"
import argparse
from urllib2 import urlopen
from xml.etree.ElementTree import ElementTree
WEATHER_API_PREFIX = "http://weather.yahooapis.com/forecastrss?u=c&w="
URLOPEN_TIMEOUT = 5
CELSIUS = '°C'
DASH = "—"
CURRENT_DAY = 'Now'
def weather_url_by_id(id):
return WEATHER_API_PREFIX + str(id)
def fetch_weather_tree(id):
return ElementTree().parse(
urlopen(weather_url_by_id(id), timeout=URLOPEN_TIMEOUT))
def format_date_string(day, text, temp, max_temp=None):
day = day or 'Now'
if max_temp:
temp_string = DASH.join((str(temp), str(max_temp)))
else:
temp_string = str(temp)
return '%s: %s, %s%s.' % (day, text, temp_string, CELSIUS)
class WeatherElement(object):
def __init__(self, element):
self.element = element
@property
def day(self):
return self.element.get('day') or CURRENT_DAY
@property
def text(self):
return self.element.get('text')
@property
def temp(self):
temp = self.element.get('temp')
if temp is not None:
return str(temp)
low, high = self.element.get('low'), self.element.get('high')
if low is not None and high is not None:
return DASH.join((str(low), str(high)))
def get_format_string(self):
return '%s: %s, %s%s.' % (self.day, self.text, self.temp, CELSIUS)
def get_weather_string(tree):
condition = next(el for el in tree.iter()
if el.tag.endswith('condition'))
forecast = [el for el in tree.iter()
if el.tag.endswith('forecast')]
forecast.insert(0, condition)
return '\n'.join((
WeatherElement(element).get_format_string()
for element in forecast))
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--id', type=int, required=True,
help='Yahoo WEOID of the city')
args = parser.parse_args()
print get_weather_string(fetch_weather_tree(args.id))
if __name__ == "__main__":
main()

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -0,0 +1 @@
http://merlinthered.deviantart.com/art/plain-weather-icons-157162192

View File

@ -1,7 +1,6 @@
--[[ ]]--
---- -
---- Blackburn Awesome WM 3.5.+ theme --
-- - just a dark Steamburn - -
---- github.com/copycat-killer --
---- -
----[[ ]]--
@ -59,5 +58,56 @@ theme.tasklist_maximized_horizontal = ""
theme.tasklist_maximized_vertical = ""
theme.widget_mail_notify = themes_dir .. "/icons/mail_notify.png"
theme.widget_no_net_notify = themes_dir .. "/icons/no_net_notify.png"
theme.widget_weather_na = themes_dir .. "/icons/weather/na.png"
theme.widget_weather_00 = themes_dir .. "/icons/weather/00.png"
theme.widget_weather_01 = themes_dir .. "/icons/weather/01.png"
theme.widget_weather_02 = themes_dir .. "/icons/weather/02.png"
theme.widget_weather_03 = themes_dir .. "/icons/weather/03.png"
theme.widget_weather_04 = themes_dir .. "/icons/weather/04.png"
theme.widget_weather_05 = themes_dir .. "/icons/weather/05.png"
theme.widget_weather_06 = themes_dir .. "/icons/weather/06.png"
theme.widget_weather_07 = themes_dir .. "/icons/weather/07.png"
theme.widget_weather_08 = themes_dir .. "/icons/weather/08.png"
theme.widget_weather_09 = themes_dir .. "/icons/weather/09.png"
theme.widget_weather_10 = themes_dir .. "/icons/weather/10.png"
theme.widget_weather_11 = themes_dir .. "/icons/weather/11.png"
theme.widget_weather_12 = themes_dir .. "/icons/weather/12.png"
theme.widget_weather_13 = themes_dir .. "/icons/weather/13.png"
theme.widget_weather_14 = themes_dir .. "/icons/weather/14.png"
theme.widget_weather_15 = themes_dir .. "/icons/weather/15.png"
theme.widget_weather_16 = themes_dir .. "/icons/weather/16.png"
theme.widget_weather_17 = themes_dir .. "/icons/weather/17.png"
theme.widget_weather_18 = themes_dir .. "/icons/weather/18.png"
theme.widget_weather_19 = themes_dir .. "/icons/weather/19.png"
theme.widget_weather_20 = themes_dir .. "/icons/weather/20.png"
theme.widget_weather_21 = themes_dir .. "/icons/weather/21.png"
theme.widget_weather_22 = themes_dir .. "/icons/weather/22.png"
theme.widget_weather_23 = themes_dir .. "/icons/weather/23.png"
theme.widget_weather_24 = themes_dir .. "/icons/weather/24.png"
theme.widget_weather_25 = themes_dir .. "/icons/weather/25.png"
theme.widget_weather_26 = themes_dir .. "/icons/weather/26.png"
theme.widget_weather_27 = themes_dir .. "/icons/weather/27.png"
theme.widget_weather_28 = themes_dir .. "/icons/weather/28.png"
theme.widget_weather_29 = themes_dir .. "/icons/weather/29.png"
theme.widget_weather_30 = themes_dir .. "/icons/weather/30.png"
theme.widget_weather_31 = themes_dir .. "/icons/weather/31.png"
theme.widget_weather_32 = themes_dir .. "/icons/weather/32.png"
theme.widget_weather_33 = themes_dir .. "/icons/weather/33.png"
theme.widget_weather_34 = themes_dir .. "/icons/weather/34.png"
theme.widget_weather_35 = themes_dir .. "/icons/weather/35.png"
theme.widget_weather_36 = themes_dir .. "/icons/weather/36.png"
theme.widget_weather_37 = themes_dir .. "/icons/weather/37.png"
theme.widget_weather_38 = themes_dir .. "/icons/weather/38.png"
theme.widget_weather_39 = themes_dir .. "/icons/weather/39.png"
theme.widget_weather_40 = themes_dir .. "/icons/weather/40.png"
theme.widget_weather_41 = themes_dir .. "/icons/weather/41.png"
theme.widget_weather_42 = themes_dir .. "/icons/weather/42.png"
theme.widget_weather_43 = themes_dir .. "/icons/weather/43.png"
theme.widget_weather_44 = themes_dir .. "/icons/weather/44.png"
theme.widget_weather_45 = themes_dir .. "/icons/weather/45.png"
theme.widget_weather_46 = themes_dir .. "/icons/weather/46.png"
theme.widget_weather_47 = themes_dir .. "/icons/weather/47.png"
return theme

View File

@ -7,7 +7,7 @@
theme = {}
theme.confdir = os.getenv("HOME") .. "/.config/awesome/themes/lukes"
theme.confdir = os.getenv("HOME") .. "/.config/awesome/themes/multicolor"
theme.font = "Terminus 8"
--theme.taglist_font =
@ -50,6 +50,7 @@ theme.menu_bg_focus = "#050505dd"
theme.menu_submenu_icon = theme.confdir .. "/submenu.png"
theme.widget_temp = theme.confdir .. "/widgets/temp.png"
theme.widget_uptime = theme.confdir .. "/widgets/ac.png"
theme.widget_cpu = theme.confdir .. "/widgets/cpu.png"
theme.widget_mem = theme.confdir .. "/widgets/mem.png"
theme.widget_fs = theme.confdir .. "/widgets/fs.png"