From d4097316e1a0ed36e06235d06b28a594382009ac Mon Sep 17 00:00:00 2001
From: crater2150 <me@crater2150.de>
Date: Mon, 3 Dec 2012 09:59:29 +0100
Subject: [PATCH] upgrade to 3.5, wip

---
 boxes.lua | 188 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 188 insertions(+)
 create mode 100644 boxes.lua

diff --git a/boxes.lua b/boxes.lua
new file mode 100644
index 0000000..20f64b4
--- /dev/null
+++ b/boxes.lua
@@ -0,0 +1,188 @@
+local wibox = require("wibox")
+function exists(filename)
+  local file = io.open(filename)
+  if file then
+    io.close(file)
+    return true
+  else
+    return false
+  end
+end
+
+
+-- {{{ Reusable separators
+spacer         = wibox.widget.textbox({ name = "spacer" })
+spacer.set_text(" ")
+
+nullwidget     = wibox.widget.textbox({ name = "nullwidget" })
+-- }}}
+
+-- {{{ Wibox
+
+--popup run
+
+-- Create a textclock widget
+--clock     = awful.widget.textclock({ align = "right" })
+mysystray = wibox.widget.systray()
+
+clock = wibox.widget.textbox()
+vicious.register(clock, vicious.widgets.date, "%b %d, %R", 60)
+
+
+-- music widget {{{
+mpdwidget = wibox.widget.textbox()
+vicious.register(mpdwidget, vicious.widgets.mpd,
+	function(widget, args)
+		if args["{state}"] == "N/A" then
+			return ""
+		else
+			return "[ ♫ "..args["{Artist}"].." - "..args["{Title}"].." ]"
+		end
+	end, 3, {nil, os.getenv("MPD_HOST"), os.getenv("MPD_PORT")})
+-- }}}
+
+-- mail widget {{{
+mailwidget = wibox.widget.textbox()
+vicious.register(mailwidget, vicious.widgets.mdir,
+	function(widget, args) 
+		if args[1] > 0 then
+			naughty.notify({
+				title = "New mail arrived",
+				text = "Unread "..args[2].." / New "..args[1],
+				position = "top_left"
+
+			})
+			widget.bg = theme.bg_urgent
+			widget.fg = theme.fg_urgent
+		elseif args[2] > 0 then
+			widget.bg = theme.bg_focus
+			widget.fg = theme.fg_focus
+		else
+			widget.bg = theme.bg_normal
+			widget.fg = theme.fg_normal
+		end
+		return "⬓⬓ Unread "..args[2].." / New "..args[1].. " "
+	end, 181, {os.getenv("HOME") .. "/.maildir/"})
+--}}}
+
+-- battery {{{
+if exists("/sys/class/power_supply/BAT0") then
+    batwidget0 = wibox.widget.textbox()
+    vicious.register(batwidget0, vicious.widgets.bat,
+	function (widget, args)
+		if args[2] == 0 then return ""
+		else
+			if args[2] < 15 then
+				widget.bg = theme.bg_urgent
+				widget.fg = theme.fg_urgent
+			else
+				widget.bg = theme.bg_normal
+				widget.fg = theme.fg_normal
+			end
+			return "(  BAT0: "..args[1]..args[2].."% - "..args[3].." )"
+		end
+	end, 61, "BAT0")
+else batwidget0 = nullwidget end
+
+if exists("/sys/class/power_supply/BAT1") then
+    batwidget1 = wibox.widget.textbox()
+    vicious.register(batwidget1, vicious.widgets.bat,
+	function (widget, args)
+		if args[2] == 0 then return ""
+		else
+			if args[2] < 15 then
+				widget.bg = theme.bg_urgent
+				widget.fg = theme.fg_urgent
+			else
+				widget.bg = theme.bg_normal
+				widget.fg = theme.fg_normal
+			end
+			return "(  BAT1: "..args[1]..args[2].."% - "..args[3].." )"
+		end
+	end, 61, "BAT1")
+else batwidget1 = nullwidget end
+
+if exists("/sys/class/power_supply/BAT2") then
+    batwidget2 = wibox.widget.textbox()
+    vicious.register(batwidget2, vicious.widgets.bat,
+	function (widget, args)
+		if args[2] == 0 then return ""
+		else
+			if args[2] < 15 then
+				widget.bg = theme.bg_urgent
+				widget.fg = theme.fg_urgent
+			else
+				widget.bg = theme.bg_normal
+				widget.fg = theme.fg_normal
+			end
+			return "(  BAT2: "..args[1]..args[2].."% - "..args[3].." )"
+		end
+	end, 61, "BAT2")
+else batwidget2 = nullwidget end
+
+--}}}
+
+cpulabel = wibox.widget.textbox()
+vicious.register(cpulabel, vicious.widgets.cpu, "CPU: $1%")
+
+if exists("/sys/class/net/wlan0") then
+    wlanwidget = wibox.widget.textbox()
+    vicious.register(wlanwidget, vicious.widgets.wifi, " )(  WLAN ${ssid} @ ${sign}, Q:${link}/70", 31, "wlan0")
+else wlanwidget = nullwidget end
+
+-- Create a wibox for each screen and add it
+leftwibox = {}
+rightwibox = {}
+
+mylayoutbox = {}
+mytaglist = {}
+mytaglist.buttons = awful.util.table.join(
+                    awful.button({ }, 1, awful.tag.viewonly),
+                    awful.button({ modkey }, 1, awful.client.movetotag),
+                    awful.button({ }, 3, awful.tag.viewtoggle),
+                    awful.button({ modkey }, 3, awful.client.toggletag),
+                    awful.button({ }, 4, awful.tag.viewnext),
+                    awful.button({ }, 5, awful.tag.viewprev)
+                    )
+
+for s = 1, screen.count() do
+    mylayoutbox[s] = awful.widget.layoutbox(s)
+    mylayoutbox[s]:buttons(awful.util.table.join(
+                           awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end),
+                           awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end),
+                           awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end),
+                           awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end)))
+    -- Create a taglist widget
+    mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.label.all, mytaglist.buttons)
+
+
+    -- Create the wibox
+    leftwibox[s] = awful.wibox({ position = "left", screen = s, width = 18 })
+    rightwibox[s] = awful.wibox({ position = "right", screen = s , width = 18})
+    -- Add widgets to the wibox - order matters
+    leftwibox[s].widgets = {
+        mytaglist[s],
+        mylayoutbox[s],
+		mailwidget,
+        spacer,
+        layout = awful.widget.layout.horizontal.rightleft
+    }
+    rightwibox[s].widgets = {
+        {
+            clock, spacer, 
+            batwidget0,
+            batwidget1,
+            batwidget2,
+            wlanwidget,
+            spacer, cpulabel, cpuwidget,
+            spacer, mpdwidget, mpdnext, spacer, mpdprev,
+            spacer,
+            layout = awful.widget.layout.horizontal.leftright
+        },
+        separator, spacer, mysystray,
+        layout = awful.widget.layout.horizontal.leftright
+    }
+end
+-- }}}
+--
+-- vim:foldmethod=marker