-- awesome 3 configuration file
-AWESOME_DATADIR = "/home/madduck/code"
-package.path = AWESOME_DATADIR .. "/awesome/lib/?.lua;" .. package.path
+AWESOME_DATADIR = "/home/madduck/code/awesome"
+package.path = AWESOME_DATADIR .. "/lib/?.lua;" .. package.path
-- Include awesome library, with lots of useful function!
require("awful")
tags[s] = {}
-- Create 9 tags per screen
for tagnumber = 1, 9 do
- tags[s][tagnumber] = tag.new({ name = tagnumber })
+ tags[s][tagnumber] = tag.new({ name = tagnumber, layout = layouts[1] })
-- Add tags to screen one by one
-- split at 0.5/50% exactly
tags[s][tagnumber]:mwfact_set(0.5)
mytaglist:mouse_add(mouse.new({ modkey }, 3, function (object, tag) awful.client.toggletag(tag) end))
mytaglist:mouse_add(mouse.new({ }, 4, awful.tag.viewnext))
mytaglist:mouse_add(mouse.new({ }, 5, awful.tag.viewprev))
-mytaglist:text_set({ ["focus"] = "<bg color='"..bg_focus.."'/> <span color='"..fg_focus.."'><title/></span> " })
+mytaglist.text_focus = "<bg color='"..bg_focus.."'/> <span color='"..fg_focus.."'><title/></span> "
-- Create a tasklist widget
mytasklist = widget.new({ type = "tasklist", name = "mytasklist" })
mytasklist:mouse_add(mouse.new({ }, 1, function (object, c) c:focus_set(); c:raise() end))
mytasklist:mouse_add(mouse.new({ }, 4, function () awful.client.focus(1) end))
mytasklist:mouse_add(mouse.new({ }, 5, function () awful.client.focus(-1) end))
-mytasklist:text_set({ ["focus"] = "<bg color='"..bg_focus.."'/> <span color='"..fg_focus.."'><title/></span> " })
+mytasklist.text_focus = "<bg color='"..bg_focus.."'/> <span color='"..fg_focus.."'><title/></span> "
-- Create a textbox widget
mytextbox = widget.new({ type = "textbox", name = "mytextbox", align = "right" })
-- Set the default text in textbox
-mytextbox:text_set("<b><small> awesome " .. AWESOME_VERSION .. " </small></b>")
+mytextbox.text = "<b><small> awesome " .. AWESOME_VERSION .. " </small></b>"
mypromptbox = widget.new({ type = "textbox", name = "mypromptbox", align = "left" })
-- Create an iconbox widget
myiconbox = widget.new({ type = "textbox", name = "myiconbox", align = "left" })
-myiconbox:text_set("<bg image=\"/usr/local/share/awesome/icons/awesome16.png\" resize=\"true\"/>")
+myiconbox.text = "<bg image=\"" .. AWESOME_DATADIR .. "/icons/awesome16.png\" resize=\"true\"/>"
-- Create a systray
mysystray = widget.new({ type = "systray", name = "mysystray", align = "right" })
mylayoutbox[s]:mouse_add(mouse.new({ }, 3, function () awful.layout.inc(layouts, -1) end))
mylayoutbox[s]:mouse_add(mouse.new({ }, 4, function () awful.layout.inc(layouts, 1) end))
mylayoutbox[s]:mouse_add(mouse.new({ }, 5, function () awful.layout.inc(layouts, -1) end))
- mylayoutbox[s]:text_set("<bg image=\"/usr/local/share/awesome/icons/layouts/tilew.png\" resize=\"true\"/>")
+ mylayoutbox[s].text = "<bg image=\"" .. AWESOME_DATADIR .. "/icons/layouts/tilew.png\" resize=\"true\"/>"
end
-- Create a statusbar for each screen and add it
-- (tag switch, new client, etc)
function hook_arrange(screen)
local layout = awful.layout.get(screen)
- mylayoutbox[screen]:text_set("<bg image=\"/usr/local/share/awesome/icons/layouts/" .. layout .. "w.png\" resize=\"true\"/>")
+ mylayoutbox[screen].text = "<bg image=\"" .. AWESOME_DATADIR .. "/icons/layouts/" .. layout .. "w.png\" resize=\"true\"/>"
-- Uncomment if you want mouse warping
--[[
-- Hook called every second
function hook_timer ()
-- For unix time_t lovers
- -- mytextbox:text_set(" " .. os.time() .. " time_t ")
+ -- mytextbox.text = " " .. os.time() .. " time_t "
-- Otherwise use:
- mytextbox:text_set(" " .. os.date() .. " ")
+ mytextbox.text = " " .. os.date() .. " "
end
-- Set up some hooks
awful.hooks.arrange(hook_arrange)
awful.hooks.timer(1, hook_timer)
-- }}}
+
+cmdmodkey = "Mod3"
+
+-- xmms2 & sound
+keybinding.new({ cmdmodkey }, "Prior", function () awful.spawn("amixer set Master 2+") end):add()
+keybinding.new({ cmdmodkey }, "Next", function () awful.spawn("amixer set Master 2-") end):add()
+keybinding.new({ cmdmodkey }, "Up", function () awful.spawn("amixer set PCM 2+") end):add()
+keybinding.new({ cmdmodkey }, "Down", function () awful.spawn("amixer set PCM 2-") end):add()
+keybinding.new({ cmdmodkey }, "Home", function () awful.spawn("amixer set Mic toggle") end):add()
+keybinding.new({ cmdmodkey }, "End", function () awful.spawn("amixer set Master toggle") end):add()
+keybinding.new({ cmdmodkey }, "Left", function () awful.spawn("xmms2 prev") end):add()
+keybinding.new({ cmdmodkey }, "Right", function () awful.spawn("xmms2 next") end):add()
+keybinding.new({ cmdmodkey }, "space", function () awful.spawn("xmms2 toggle") end):add()
+-- keybinding.new({ cmdmodkey }, "backslash", function () awful.spawn("mpc | head -1 | xmessage -nearmouse -timeout 5 -file -") end):add()
+-- keybinding.new({ cmdmodkey, "Shift" }, "backslash", function () awful.spawn("mpc playlist | xmessage -nearmouse -timeout 5 -file -") end):add()
+
+-- misc apps
+keybinding.new({ cmdmodkey }, "n", function () awful.spawn("sensible-browser") end):add()
+keybinding.new({ cmdmodkey }, "m", function () awful.spawn(terminal .. " -e mutt -f =store") end):add()
+keybinding.new({ cmdmodkey }, "t", function () awful.spawn(terminal) end):add()
+keybinding.new({ cmdmodkey }, "c", function () awful.spawn(terminal .. " -e python") end):add()
+keybinding.new({ cmdmodkey }, "r", function () awful.spawn("gmrun") end):add()
+keybinding.new({ cmdmodkey }, "j", function () awful.spawn("jpilot") end):add()
+keybinding.new({ cmdmodkey }, "x", function () awful.spawn("/sbin/start-stop-daemon --start --background --exec /usr/bin/xscreensaver; xscreensaver-command -lock") end):add()
+keybinding.new({ cmdmodkey, "Shift" }, "x", function () awful.spawn("xscreensaver-command -exit") end):add()