diff --git a/.gitignore b/.gitignore
index 30cc063..751b59a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 wp
+wallpaper
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..7757f61
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,6 @@
+[submodule "obvious"]
+	path = obvious
+	url = git://git.mercenariesguild.net/obvious.git
+[submodule "vicious"]
+	path = vicious
+	url = http://git.sysphere.org/vicious
diff --git a/aweswt.lua b/aweswt.lua
new file mode 100644
index 0000000..2ccf363
--- /dev/null
+++ b/aweswt.lua
@@ -0,0 +1,50 @@
+   -- aweswt.lua
+   local io=io
+   local table=table
+   local pairs=pairs
+   local awful=awful
+   local client=client
+   local string=string
+   local USE_T=true
+   module("aweswt")
+   function get_out (a)
+       local  f=io.popen (a)
+       t={}
+       for line in f:lines() do
+         table.insert(t, line )
+       end
+       return t
+   end
+   function get_input (a)
+     s1='echo -e "'..a..'"|dmenu'
+     return get_out(s1)
+   end
+   
+   function switch()
+      local clients = client.get()
+      if table.getn(clients) == 0 then 
+        return
+      end
+      local m1=""
+      local t2={}
+      local tmp
+      for i, c in pairs(clients) do
+       if USE_T then do
+         tmp=i..':'..string.sub(c['name'], 1, 20)
+       end
+       else do
+         tmp=i..':'..c['instance']..'.'..c['class']
+       end
+       end
+         m1=m1..tmp..'\n'
+         t2[tmp]=c
+      end
+      local t6=t2[get_input(m1)[1]]
+      if t6 then
+         local ctags = t6:tags()
+         awful.tag.viewonly(ctags[1])
+         client.focus = t6
+         t6:raise()
+      end
+   end
+
diff --git a/bindings.lua b/bindings.lua
new file mode 100644
index 0000000..86095b4
--- /dev/null
+++ b/bindings.lua
@@ -0,0 +1,177 @@
+
+-- {{{ Mouse bindings
+root.buttons(awful.util.table.join(
+awful.button({ }, 4, awful.tag.viewnext),
+awful.button({ }, 5, awful.tag.viewprev)
+))
+-- }}}
+
+-- {{{ Key bindings
+globalkeys = awful.util.table.join(
+--{{{ 
+    awful.key({ modkey,           }, "Left",   awful.tag.viewprev       ),
+    awful.key({ modkey,           }, "Right",  awful.tag.viewnext       ),
+    awful.key({ modkey,           }, "Escape", awful.tag.history.restore),
+    awful.key({ }, "XF86Word",   awful.tag.viewprev       ),
+    awful.key({ }, "XF86WebCam",  awful.tag.viewnext       ),
+    awful.key({ }, "XF86Away", awful.tag.history.restore),
+
+    awful.key({ modkey,           }, "j",
+        function ()
+            awful.client.focus.byidx( 1)
+            if client.focus then client.focus:raise() end
+        end),
+    awful.key({ modkey,           }, "k",
+        function ()
+            awful.client.focus.byidx(-1)
+            if client.focus then client.focus:raise() end
+        end),
+    awful.key({ modkey,           }, "w", function () mymainmenu:show(true)        end),
+--}}}
+    --{{{ Layout manipulation
+    awful.key({ modkey, "Shift"   }, "j", function () awful.client.swap.byidx(  1)    end),
+    awful.key({ modkey, "Shift"   }, "k", function () awful.client.swap.byidx( -1)    end),
+    awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end),
+    awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end),
+    awful.key({ modkey,           }, "u", awful.client.urgent.jumpto),
+    awful.key({ modkey,           }, "Tab",
+        function ()
+            awful.client.focus.history.previous()
+            if client.focus then
+                client.focus:raise()
+            end
+        end),
+    awful.key({ "Mod1",           }, "Tab",
+        function ()
+            awful.client.focus.history.previous()
+            if client.focus then
+                client.focus:raise()
+            end
+        end),
+    --}}}
+    -- Standard program
+    awful.key({ modkey,           }, "Return", function () awful.util.spawn(terminal) end),
+--    awful.key({ modkey,           }, "f",      function () awful.util.spawn("firefox") end),
+--    awful.key({ modkey,           }, "t",      function () awful.util.spawn("thunderbird") end),
+--    awful.key({ modkey,           }, "p",      function () awful.util.spawn("pidgin") end),
+--    awful.key({ modkey,           }, "s",      function () awful.util.spawn("sunbird") end),
+--    awful.key({ modkey,           }, "g",      function () awful.util.spawn("gmpc") end),
+    awful.key({ modkey,           }, "f",      function () awful.util.spawn("firefox") end),
+    awful.key({ modkey,           }, "t",      function () awful.util.spawn("thunderbird") end),
+    awful.key({ modkey,           }, "p",      function () awful.util.spawn("pidgin") end),
+    awful.key({ modkey,           }, "s",      function () awful.util.spawn("sunbird") end),
+    awful.key({ modkey,           }, "g",      function () awful.util.spawn("gmpc") end),
+    awful.key({ }, "XF86Mail",                 function () awful.util.spawn("xset dpms force off") end),
+    awful.key({ }, "XF86Mail",                 function () awful.util.spawn("xset dpms force off") end),
+    awful.key({ modkey }, "XF86Mail",                 function () awful.util.spawn("urslock") end),
+    awful.key({ modkey, "Control" }, "r", awesome.restart),
+    awful.key({ modkey, "Shift"   }, "q", awesome.quit),
+    awful.key({ }, "Menu", aweswt.switch),
+   
+    
+    --tabletpc keys
+    awful.key({ hyper }, "6", function () awful.util.spawn("/usr/local/bin/rotate") end),
+    --awful.key({ modkey }, "x", function () awful.util.spawn("cellwriter --show-window") end),
+    awful.key({ modkey }, "x",  function () teardrop("cellwriter","top","center", 0.99, 0.4)end ),
+    awful.key({ modkey, "Control" }, "Delete", function () awful.util.spawn("xlock") end),
+    
+    -- Audio control
+    awful.key({ }, "Print",  function () teardrop("sakura --class=Teardrop -e alsamixer","top","center", 0.99, 0.4)end ),
+    awful.key({ }, "XF86AudioLowerVolume",  function () awful.util.spawn("amixer set Front 2dB-")end ),
+    awful.key({ }, "XF86AudioRaiseVolume",  function () awful.util.spawn("amixer set Front 2dB+")end ),
+    awful.key({ }, "XF86AudioMute",         function () awful.util.spawn("amixer set Front toggle") end),
+    awful.key({ modkey , "Shift" },   "m",  function () awful.util.spawn("mpdmenu -a") end),
+    awful.key({ modkey , "Control" }, "m",  function () awful.util.spawn("mpdmenu -t") end),
+    awful.key({ modkey },             "m",  function () awful.util.spawn("mpc toggle") end),
+    awful.key({ modkey },             "n",  function () awful.util.spawn("mpc next") end),
+    awful.key({ modkey , "Shift"},    "n",  function () awful.util.spawn("mpc prev") end),
+    awful.key({ },        "XF86AudioPlay",  function () awful.util.spawn("mpc toggle") end),
+    awful.key({ },        "XF86AudioNext",  function () awful.util.spawn("mpc next") end),
+    awful.key({ },        "XF86AudioPrev",  function () awful.util.spawn("mpc prev") end),
+    awful.key({ },        "XF86AudioStop",  function () awful.util.spawn("mpdmenu -a") end),
+    awful.key({ modkey , "Control" }, "n",  function () awful.util.spawn("mpdmenu -j") end),
+    -- Prompt
+    awful.key({ modkey }, "r", function () obvious.popup_run_prompt.run_prompt() end),
+    awful.key({ }, "Scroll_Lock", function () awful.util.spawn("wli") end),
+    awful.key({ }, "F12",        function () teardrop("sakura --class=Teardrop -e 'screen -l'","center","center", 0.99, 0.7)end ),
+
+
+    --{{{Default
+    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),
+    awful.key({ modkey, "Shift"   }, "l",     function () awful.tag.incnmaster(-1)      end),
+    awful.key({ modkey, "Control" }, "h",     function () awful.tag.incncol( 1)         end),
+    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, 0) end)
+    
+    --}}}
+)
+
+clientkeys = awful.util.table.join(
+    awful.key({ modkey, "Shift"   }, "f",      function (c) c.fullscreen = not c.fullscreen  end),
+    awful.key({ modkey, "Shift"   }, "c",      function (c) c:kill()                         end),
+    awful.key({ modkey, "Control" }, "space",  awful.client.floating.toggle                     ),
+    awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end),
+    awful.key({ modkey,           }, "o",      function (c) c.ontop = not c.ontop end),
+    awful.key({ modkey,           }, "a",      function (c) c.sticky = not c.sticky end),
+    awful.key({ modkey, "Shift"   }, "r",      function (c) c:redraw()                       end),
+    awful.key({ modkey,           }, "n",      function (c) c.minimized = not c.minimized    end)
+)
+
+-- Compute the maximum number of digit we need, limited to 9
+keynumber = 0
+for s = 1, screen.count() do
+   keynumber = math.min(22, math.max(#tags[s], keynumber));
+end
+
+-- Bind all key numbers to tags.
+-- Be careful: we use keycodes to make it works on any keyboard layout.
+-- This should map on the top row of your keyboard, usually 1 to 9.
+-- FKeys: 67-78
+for i = 1, keynumber do
+    if i < 10 then
+        k = "#" .. i + 9
+    elseif i == 10 then
+        k = "#19"
+    elseif i > 10 then
+        k = "F" .. i - 10
+    end
+    globalkeys = awful.util.table.join(globalkeys,
+        awful.key({ modkey }, k,
+                  function ()
+                        local screen = mouse.screen
+                        if tags[screen][i] then
+                            awful.tag.viewonly(tags[screen][i])
+                        end
+                  end),
+        awful.key({ modkey, "Control" }, k,
+                  function ()
+                      local screen = mouse.screen
+                      if tags[screen][i] then
+                          awful.tag.viewtoggle(tags[screen][i])
+                      end
+                  end),
+        awful.key({ modkey, "Shift" }, k,
+                  function ()
+                      if client.focus and tags[client.focus.screen][i] then
+                          awful.client.movetotag(tags[client.focus.screen][i])
+                      end
+                  end),
+        awful.key({ modkey, "Control", "Shift" }, k,
+                  function ()
+                      if client.focus and tags[client.focus.screen][i] then
+                          awful.client.toggletag(tags[client.focus.screen][i])
+                      end
+                  end))
+end
+
+clientbuttons = awful.util.table.join(
+    awful.button({ }, 1, function (c) client.focus = c; c:raise() end),
+    awful.button({ modkey }, 1, awful.mouse.client.move),
+    awful.button({ modkey }, 3, awful.mouse.client.resize))
+
+-- Set keys
+root.keys(globalkeys)
+-- }}}
diff --git a/runraise.lua b/helpers.lua
similarity index 85%
rename from runraise.lua
rename to helpers.lua
index 6561f18..0c20f12 100644
--- a/runraise.lua
+++ b/helpers.lua
@@ -42,3 +42,12 @@ function runraise(cmd, properties)
    awful.util.spawn(cmd)
 end
 
+-- Returns true if all pairs in table1 are present in table2
+function match (table1, table2)
+   for k, v in pairs(table1) do
+      if table2[k] ~= v and not table2[k]:find(v) then
+         return false
+      end
+   end
+   return true
+end
diff --git a/obvious b/obvious
index 58b3b5d..e3a3e05 160000
--- a/obvious
+++ b/obvious
@@ -1 +1 @@
-Subproject commit 58b3b5dae420955e4e815fc70744ee6ee5442565
+Subproject commit e3a3e05405d6c622326f3faba6ce6b7c188bf1e9
diff --git a/rc.lua b/rc.lua
index 6613038..d319e5d 100644
--- a/rc.lua
+++ b/rc.lua
@@ -1,3 +1,8 @@
+terminal = "sakura -e screen"
+editor_cmd = "sakura -e vim"
+modkey = "Mod4"
+hyper = "Mod3"
+
 -- Standard awesome library
 require("awful")
 require("awful.autofocus")
@@ -7,468 +12,28 @@ require("naughty")
 require("teardrop")
 require("obvious.popup_run_prompt")
 require("vicious")
+require("aweswt")
 
-confdir = "/home/crater2150/.config/awesome"
--- {{{ Spawns cmd if no client can be found matching properties
--- If such a client can be found, pop to first tag where it is visible, and give it focus
--- @param cmd the command to execute
--- @param properties a table of properties to match against clients.  Possible entries: any properties of the client object
-function runraise(cmd, properties)
-   local clients = client.get()
-   local focused = awful.client.next(0)
-   local findex = 0
-   local matched_clients = {}
-   local n = 0
-   for i, c in pairs(clients) do
-      --make an array of matched clients
-      if match(properties, c) then
-         n = n + 1
-         matched_clients[n] = c
-         if c == focused then
-            findex = n
-         end
-      end
-   end
-   if n > 0 then
-      local c = matched_clients[1]
-      -- if the focused window matched switch focus to next in list
-      if 0 < findex and findex < n then
-         c = matched_clients[findex+1]
-      end
-      local ctags = c:tags()
-      if table.getn(ctags) == 0 then
-         -- ctags is empty, show client on current tag
-         local curtag = awful.tag.selected()
-         awful.client.movetotag(curtag, c)
-      else
-         -- Otherwise, pop to first tag client is visible on
-         awful.tag.viewonly(ctags[1])
-      end
-      -- And then focus the client
-      client.focus = c
-      c:raise()
-      return
-   end
-   awful.util.spawn(cmd)
-end --}}}
-
--- Returns true if all pairs in table1 are present in table2
-function match (table1, table2)
-   for k, v in pairs(table1) do
-      if table2[k] ~= v and not table2[k]:find(v) then
-         return false
-      end
-   end
-   return true
-end
-
--- {{{ Variable definitions
 -- Themes define colours, icons, and wallpapers
 beautiful.init("/home/crater2150/.config/awesome/zenburn/theme.lua")
 
--- This is used later as the default terminal and editor to run.
-terminal = "sakura -e screen"
-editor_cmd = "sakura -e vim"
-
--- Default modkey.
--- Usually, Mod4 is the key with a logo between Control and Alt.
--- If you do not like this or do not have such a key,
--- I suggest you to remap Mod4 to another key using xmodmap or other tools.
--- However, you can use another modifier like Mod1, but it may interact with others.
-modkey = "Mod4"
 
 -- Table of layouts to cover with awful.layout.inc, order matters.
 layouts =
 {
-    awful.layout.suit.tile,
-    awful.layout.suit.tile.left,
-    awful.layout.suit.tile.bottom,
-    awful.layout.suit.tile.top,
     awful.layout.suit.fair,
     awful.layout.suit.fair.horizontal,
+    awful.layout.suit.tile,
+    awful.layout.suit.tile.bottom,
     awful.layout.suit.max,
     awful.layout.suit.max.fullscreen,
     awful.layout.suit.floating
 }
--- }}}
 
--- {{{ Tags
-local tags = {}
-tags.setup = {
-    { name = "1:⚙",   layout = layouts[1]  },
-    { name = "2:⌘",   layout = layouts[7]  },
-    { name = "3:☻",   layout = layouts[2], mwfact = 0.80 },
-    { name = "4:✉",   layout = layouts[7]  },
-    { name = "5:☑",   layout = layouts[7]  },
-    { name = "6:♫",   layout = layouts[1]  },
-    { name = "7:☣",   layout = layouts[1]  },
-    { name = "8:☕",   layout = layouts[1]  },
-    { name = "9:⚂",   layout = layouts[1]  },
-    { name = "0:☠",   layout = layouts[1]  },
-    { name = "F1:☭",  layout = layouts[1]  },
-    { name = "F2:♚",  layout = layouts[1]  },
-    { name = "F3:♛",  layout = layouts[1]  },
-    { name = "F4:♜",  layout = layouts[1]  },
-    { name = "F5:♝",  layout = layouts[1]  },
-    { name = "F6:♞",  layout = layouts[1]  },
-    { name = "F7:♟",  layout = layouts[1]  },
-    { name = "F8:⚖",  layout = layouts[1]  },
-    { name = "F9:⚛",  layout = layouts[1]  },
-    { name = "F10:⚡", layout = layouts[1]  },
-    { name = "F11:⚰", layout = layouts[1]  },
-    { name = "F12:⚙", layout = layouts[1]  }
-}
-
-for s = 1, screen.count() do
-    tags[s] = {}
-    for i, t in ipairs(tags.setup) do
-        tags[s][i] = tag({ name = t.name })
-        tags[s][i].screen = s
-        awful.tag.setproperty(tags[s][i], "layout", t.layout)
-        awful.tag.setproperty(tags[s][i], "mwfact", t.mwfact)
-        awful.tag.setproperty(tags[s][i], "hide",   t.hide)
-    end
-    tags[s][1].selected = true
-end
--- }}}
-
--- {{{ Reusable separators
-spacer         = widget({ type = "textbox", name = "spacer" })
-spacer.text    = " "
-
-separator      = widget({ type = "textbox", name = "separator", align = "center" })
-separator.text = " )( "
--- }}}
-
--- {{{ Wibox
-
---popup run
-
--- Create a textclock widget
---clock     = awful.widget.textclock({ align = "right" })
-mysystray = widget({ type = "systray" })
-
-clock = widget({ type = "textbox" })
-vicious.register(clock, vicious.widgets.date, "%b %d, %R", 60)
-
-memwidget = widget({ type = "textbox" })
-vicious.register(memwidget, vicious.widgets.mem, "⌸ $1% ($2MB / $3MB) ", 13)
-
-cpuwidget = awful.widget.progressbar()
-cpulabel = widget({ type = "textbox" })
-cpuwidget:set_width(50)
-cpuwidget:set_background_color("#494B4F")
-cpuwidget:set_color("#FF5656")
-cpuwidget:set_gradient_colors({ "#FF5656", "#88A175", "#AECF96" })
-vicious.register(cpuwidget, vicious.widgets.cpu, "$1",41)
-vicious.register(cpulabel, vicious.widgets.cpu, "CPU: $1%")
-
-
--- 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
-    -- Create an imagebox widget which will contains an icon indicating which layout we're using.
-    -- We need one layoutbox per screen.
-    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 })
-    rightwibox[s] = awful.wibox({ position = "right", screen = s })
-    -- Add widgets to the wibox - order matters
-    leftwibox[s].widgets = {
-        mytaglist[s],
-        mylayoutbox[s],
-        spacer,
-        layout = awful.widget.layout.horizontal.rightleft
-    }
-    rightwibox[s].widgets = {
-        {
-            clock,
-            separator, spacer, memwidget,
-            separator, spacer, cpulabel, cpuwidget,
-            spacer,
-            layout = awful.widget.layout.horizontal.leftright
-        },
-        separator, spacer, s == 1 and mysystray or nil,
-        layout = awful.widget.layout.horizontal.leftright
-    }
-end
--- }}}
-
--- {{{ Mouse bindings
-root.buttons(awful.util.table.join(
-awful.button({ }, 3, function () mymainmenu:toggle() end),
-awful.button({ }, 4, awful.tag.viewnext),
-awful.button({ }, 5, awful.tag.viewprev)
-))
--- }}}
-
-curtag = 1
-function prevtag() 
-    curtag = curtag - 1
-    if curtag == 0 then curtag = 22 end
-    awful.util.spawn("awbg " .. curtag)
-    awful.tag.viewprev()
-end
-
-function nexttag()
-    if curtag == 23 then curtag = 1 end
-    awful.util.spawn("awbg " .. curtag)
-    awful.tag.viewnext()
-end
-
--- {{{ Key bindings
-globalkeys = awful.util.table.join(
---{{{ 
-    --awful.key({ modkey,           }, "Left",   awful.tag.viewprev       ),
-    --awful.key({ modkey,           }, "Right",  awful.tag.viewnext       ),
-    awful.key({ modkey,           }, "Left",   prevtag       ),
-    awful.key({ modkey,           }, "Right",  nexttag       ),
-    awful.key({ modkey,           }, "Escape", awful.tag.history.restore),
-    --awful.key({ }, "XF86Word",   awful.tag.viewprev       ),
-    --awful.key({ }, "XF86WebCam",  awful.tag.viewnext       ),
-    awful.key({ }, "XF86Word",   prevtag       ),
-    awful.key({ }, "XF86WebCam",  nexttag       ),
-    awful.key({ }, "XF86Away", awful.tag.history.restore),
-
-    awful.key({ modkey,           }, "j",
-        function ()
-            awful.client.focus.byidx( 1)
-            if client.focus then client.focus:raise() end
-        end),
-    awful.key({ modkey,           }, "k",
-        function ()
-            awful.client.focus.byidx(-1)
-            if client.focus then client.focus:raise() end
-        end),
-    awful.key({ modkey,           }, "w", function () mymainmenu:show(true)        end),
---}}}
-    --{{{ Layout manipulation
-    awful.key({ modkey, "Shift"   }, "j", function () awful.client.swap.byidx(  1)    end),
-    awful.key({ modkey, "Shift"   }, "k", function () awful.client.swap.byidx( -1)    end),
-    awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end),
-    awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end),
-    awful.key({ modkey,           }, "u", awful.client.urgent.jumpto),
-    awful.key({ modkey,           }, "Tab",
-        function ()
-            awful.client.focus.history.previous()
-            if client.focus then
-                client.focus:raise()
-            end
-        end),
-    awful.key({ "Mod1",           }, "Tab",
-        function ()
-            awful.client.focus.history.previous()
-            if client.focus then
-                client.focus:raise()
-            end
-        end),
-    --}}}
-    -- Standard program
-    awful.key({ modkey,           }, "Return", function () awful.util.spawn(terminal) end),
-    awful.key({ modkey,           }, "f",      function () awful.util.spawn("firefox") end),
-    awful.key({ modkey,           }, "t",      function () awful.util.spawn("claws-mail") end),
-    awful.key({ modkey,           }, "p",      function () awful.util.spawn("pidgin") end),
-    awful.key({ modkey,           }, "g",      function () awful.util.spawn("gmpc") end),
-    awful.key({ }, "XF86Mail",                 function () awful.util.spawn("xset dpms force off") end),
-    awful.key({ }, "XF86Mail",                 function () awful.util.spawn("xset dpms force off") end),
-    awful.key({ modkey }, "XF86Mail",                 function () awful.util.spawn("urslock") end),
-    awful.key({ modkey, "Control" }, "r", awesome.restart),
-    awful.key({ modkey, "Shift"   }, "q", awesome.quit),
-    
-    -- Audio control
-    awful.key({ }, "Print",  function () teardrop("sakura --class=Teardrop -e alsamixer","top","center", 0.99, 0.4)end ),
-    awful.key({ }, "XF86AudioLowerVolume",  function () awful.util.spawn("amixer set Front 2dB-")end ),
-    awful.key({ }, "XF86AudioRaiseVolume",  function () awful.util.spawn("amixer set Front 2dB+")end ),
-    awful.key({ }, "XF86AudioMute",         function () awful.util.spawn("amixer set Front toggle") end),
-    awful.key({ modkey , "Shift" },   "m",  function () awful.util.spawn("mpdmenu -a") end),
-    awful.key({ modkey , "Control" }, "m",  function () awful.util.spawn("mpdmenu -t") end),
-    awful.key({ modkey },             "m",  function () awful.util.spawn("mpc toggle") end),
-    awful.key({ modkey },             "n",  function () awful.util.spawn("mpc next") end),
-    awful.key({ modkey , "Shift"},    "n",  function () awful.util.spawn("mpc prev") end),
-    awful.key({ },        "XF86AudioPlay",  function () awful.util.spawn("mpc toggle") end),
-    awful.key({ },        "XF86AudioNext",  function () awful.util.spawn("mpc next") end),
-    awful.key({ },        "XF86AudioPrev",  function () awful.util.spawn("mpc prev") end),
-    awful.key({ },        "XF86AudioStop",  function () awful.util.spawn("mpdmenu -a") end),
-    awful.key({ modkey , "Control" }, "n",  function () awful.util.spawn("mpdmenu -j") end),
-    -- Prompt
-    awful.key({ modkey }, "r", function () obvious.popup_run_prompt.run_prompt() end),
-    awful.key({ }, "Scroll_Lock", function () awful.util.spawn("wli") end),
-    awful.key({ }, "F12",        function () teardrop("sakura --class=Teardrop -e 'screen -l'","center","center", 0.99, 0.7)end ),
-
-
-    --{{{Default
-    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),
-    awful.key({ modkey, "Shift"   }, "l",     function () awful.tag.incnmaster(-1)      end),
-    awful.key({ modkey, "Control" }, "h",     function () awful.tag.incncol( 1)         end),
-    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, 0) end)
-    
-    --}}}
-)
-
-clientkeys = awful.util.table.join(
-    awful.key({ modkey, "Shift"   }, "f",      function (c) c.fullscreen = not c.fullscreen  end),
-    awful.key({ modkey, "Shift"   }, "c",      function (c) c:kill()                         end),
-    awful.key({ modkey, "Control" }, "space",  awful.client.floating.toggle                     ),
-    awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end),
-    awful.key({ modkey,           }, "o",      function (c) c.ontop = not c.ontop end),
-    awful.key({ modkey,           }, "a",      function (c) c.sticky = not c.sticky end),
-    awful.key({ modkey, "Shift"   }, "r",      function (c) c:redraw()                       end),
-    awful.key({ modkey,           }, "n",      function (c) c.minimized = not c.minimized    end)
-)
-
--- Compute the maximum number of digit we need, limited to 9
-keynumber = 0
-for s = 1, screen.count() do
-   keynumber = math.min(22, math.max(#tags[s], keynumber));
-end
-
--- Bind all key numbers to tags.
--- Be careful: we use keycodes to make it works on any keyboard layout.
--- This should map on the top row of your keyboard, usually 1 to 9.
--- FKeys: 67-78
-for i = 1, keynumber do
-    if i < 10 then
-        k = "#" .. i + 9
-    elseif i == 10 then
-        k = "#19"
-    elseif i > 10 then
-        k = "F" .. i - 10
-    end
-    globalkeys = awful.util.table.join(globalkeys,
-        awful.key({ modkey }, k,
-                  function ()
-                        local screen = mouse.screen
-                        if tags[screen][i] then
-                            curtag = i
-                            awful.util.spawn("awbg " .. i)
-                            awful.tag.viewonly(tags[screen][i])
-                        end
-                  end),
-        awful.key({ modkey, "Control" }, k,
-                  function ()
-                      local screen = mouse.screen
-                      if tags[screen][i] then
-                          awful.tag.viewtoggle(tags[screen][i])
-                      end
-                  end),
-        awful.key({ modkey, "Shift" }, k,
-                  function ()
-                      if client.focus and tags[client.focus.screen][i] then
-                          awful.client.movetotag(tags[client.focus.screen][i])
-                      end
-                  end),
-        awful.key({ modkey, "Control", "Shift" }, k,
-                  function ()
-                      if client.focus and tags[client.focus.screen][i] then
-                          awful.client.toggletag(tags[client.focus.screen][i])
-                      end
-                  end))
-end
-
-clientbuttons = awful.util.table.join(
-    awful.button({ }, 1, function (c) client.focus = c; c:raise() end),
-    awful.button({ modkey }, 1, awful.mouse.client.move),
-    awful.button({ modkey }, 3, awful.mouse.client.resize))
-
--- Set keys
-root.keys(globalkeys)
--- }}}
-
--- {{{ Rules
-awful.rules.rules = {
-    -- All clients will match this rule.
-    { rule = { },
-      properties = { border_width = beautiful.border_width,
-                     border_color = beautiful.border_normal,
-                     focus = true,
-                     size_hints_honor = false,
-                     keys = clientkeys,
-                     buttons = clientbuttons } },
-    { rule = { class = "MPlayer" },
-      properties = { floating = true,
-                     size_hints_honor = true } },
-    { rule = { class = "Passprompt" },
-      properties = { floating = true,
-                     ontop = true,
-                     focus = true  } },
-    { rule = { class = "Teardrop" },
-      properties = { floating = true } },
-    { rule = { class = "pinentry" },
-      properties = { floating = true } },
-    { rule = { class = "gimp" },
-      properties = { floating = true } },
-    -- Set Firefox to always map on tags number 2 of screen 1.
-    { rule = { class = "Firefox" },
-      properties = { tag = tags[1][2] } },
-    { rule = { class = "Pidgin" },
-      properties = { tag = tags[1][3] } },
-    { rule = { role = "buddy_list" },
-      properties = { master = true } },
-    { rule = { class = "Claws-mail" },
-      properties = { tag = tags[1][4] } },
-    { rule = { class = "Sunbird-bin" },
-      properties = { tag = tags[1][5] } },
-    { rule = { class = "Gmpc" },
-      properties = { tag = tags[1][6] } },
-    { rule = { class = "Deluge" },
-      properties = { tag = tags[1][7] } },
-    { rule = { class = "Xhtop" },
-      properties = { tag = tags[1][22] } },
-}
--- }}}
-
--- {{{ Signals
--- Signal function to execute when a new client appears.
-client.add_signal("manage", function (c, startup)
-    -- Add a titlebar
-    -- awful.titlebar.add(c, { modkey = modkey })
-
-    -- Enable sloppy focus
-    c:add_signal("mouse::enter", function(c)
-        if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
-            and awful.client.focus.filter(c) then
-            client.focus = c
-        end
-    end)
-
-    if not startup then
-        -- Set the windows at the slave,
-        -- i.e. put it at the end of others instead of setting it master.
-        -- awful.client.setslave(c)
-
-        -- Put windows in a smart way, only if they does not set an initial position.
-        if not c.size_hints.user_position and not c.size_hints.program_position then
-            awful.placement.no_overlap(c)
-            awful.placement.no_offscreen(c)
-        end
-    end
-end)
-
-client.add_signal("focus", function(c) c.border_color = beautiful.border_focus end)
-client.add_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
--- }}}
+MY_PATH = os.getenv("HOME") .. "/.config/awesome/"
+dofile (MY_PATH .. "helpers.lua")
+dofile (MY_PATH .. "tags.lua")
+dofile (MY_PATH .. "wibox.lua")
+dofile (MY_PATH .. "bindings.lua")
+dofile (MY_PATH .. "rules.lua")
+dofile (MY_PATH .. "signals.lua")
diff --git a/rules.lua b/rules.lua
new file mode 100644
index 0000000..71cb7f5
--- /dev/null
+++ b/rules.lua
@@ -0,0 +1,63 @@
+
+-- {{{ Rules
+awful.rules.rules = {
+    -- All clients will match this rule.
+    { rule = { },
+      properties = { border_width = beautiful.border_width,
+                     border_color = beautiful.border_normal,
+                     focus = true,
+                     size_hints_honor = false,
+                     keys = clientkeys,
+                     buttons = clientbuttons } },
+    { rule = { class = "MPlayer" },
+      properties = { floating = true,
+                     size_hints_honor = true } },
+    { rule = { class = "Passprompt" },
+      properties = { floating = true,
+                     ontop = true,
+                     focus = true  } },
+    { rule = { class = "Teardrop" },
+      properties = { floating = true } },
+    { rule = { class = "pinentry" },
+      properties = { floating = true } },
+    { rule = { class = "gimp" },
+      properties = { floating = true } },
+    -- Set Firefox to always map on tags number 2 of screen 1.
+    { rule = { class = "Firefox" },
+      properties = { tag = tags[1][2],
+                     floating = false } },
+    { rule = { class = "Pidgin" },
+      properties = { tag = tags[1][3]} },
+    { rule = { role = "buddy_list" },
+      properties = { master = true } },
+    { rule = { role = "conversation" },
+      callback = awful.client.setslave},
+    { rule = { class = "Irssi"},
+      properties = { tag = tags[1][3]} ,
+      callback = awful.client.setslave},
+    { rule = { class = "Claws-mail" },
+      properties = { tag = tags[1][4] } },
+    { rule = { class = "Thunderbird" },
+      properties = { tag = tags[1][4] } },
+    { rule = { class = "Claws-mail" },
+      properties = { tag = tags[1][4] } },
+    { rule = { class = "Sunbird-bin" },
+      properties = { tag = tags[1][5] } },
+    { rule = { class = "Gmpc" },
+      properties = { tag = tags[1][6] } },
+    { rule = { class = "Deluge" },
+      properties = { tag = tags[1][7] } },
+    { rule = { class = "Xhtop" },
+      properties = { tag = tags[1][22] } },
+    --{ rule = { class = "OpenOffice.org 3.2" },
+      --properties = { floating = false } },
+    { rule = { class = "Cellwriter" },
+      properties = { tag = tags[1][1],
+                     ontop = true,
+                     size_hints_honor = true,
+                     float = true,
+                     sticky = true,
+                     fullscreen = true
+                     } },
+}
+-- }}}
diff --git a/signals.lua b/signals.lua
new file mode 100644
index 0000000..8f5f0c2
--- /dev/null
+++ b/signals.lua
@@ -0,0 +1,31 @@
+
+-- {{{ Signals
+-- Signal function to execute when a new client appears.
+client.add_signal("manage", function (c, startup)
+    -- Add a titlebar
+    -- awful.titlebar.add(c, { modkey = modkey })
+
+    -- Enable sloppy focus
+    c:add_signal("mouse::enter", function(c)
+        if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
+            and awful.client.focus.filter(c) then
+            client.focus = c
+        end
+    end)
+
+    if not startup then
+        -- Set the windows at the slave,
+        -- i.e. put it at the end of others instead of setting it master.
+        -- awful.client.setslave(c)
+
+        -- Put windows in a smart way, only if they does not set an initial position.
+        if not c.size_hints.user_position and not c.size_hints.program_position then
+            awful.placement.no_overlap(c)
+            awful.placement.no_offscreen(c)
+        end
+    end
+end)
+
+client.add_signal("focus", function(c) c.border_color = beautiful.border_focus end)
+client.add_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
+-- }}}
diff --git a/tags.lua b/tags.lua
new file mode 100644
index 0000000..f36117e
--- /dev/null
+++ b/tags.lua
@@ -0,0 +1,40 @@
+
+-- {{{ Tags
+tags={}
+tags.setup = {
+    { name = "1:⚙",   layout = layouts[1]  },
+    { name = "2:⌘",   layout = layouts[5]  },
+    { name = "3:☻",   layout = layouts[3], mwfact = 0.20 },
+    { name = "4:✉",   layout = layouts[5]  },
+    { name = "5:☑",   layout = layouts[1]  },
+    { name = "6:♫",   layout = layouts[1]  },
+    { name = "7:☣",   layout = layouts[1]  },
+    { name = "8:☕",   layout = layouts[1]  },
+    { name = "9:⚂",   layout = layouts[1]  },
+    { name = "0:☠",   layout = layouts[1]  },
+    { name = "F1:☭",  layout = layouts[1]  },
+    { name = "F2:♚",  layout = layouts[1]  },
+    { name = "F3:♛",  layout = layouts[1]  },
+    { name = "F4:♜",  layout = layouts[1]  },
+    { name = "F5:♝",  layout = layouts[1]  },
+    { name = "F6:♞",  layout = layouts[1]  },
+    { name = "F7:♟",  layout = layouts[1]  },
+    { name = "F8:⚖",  layout = layouts[1]  },
+    { name = "F9:⚛",  layout = layouts[1]  },
+    { name = "F10:⚡", layout = layouts[1]  },
+    { name = "F11:⚰", layout = layouts[1]  },
+    { name = "F12:⚙", layout = layouts[1]  }
+}
+
+for s = 1, screen.count() do
+    tags[s] = {}
+    for i, t in ipairs(tags.setup) do
+        tags[s][i] = tag({ name = t.name })
+        tags[s][i].screen = s
+        awful.tag.setproperty(tags[s][i], "layout", t.layout)
+        awful.tag.setproperty(tags[s][i], "mwfact", t.mwfact)
+        awful.tag.setproperty(tags[s][i], "hide",   t.hide)
+    end
+    tags[s][1].selected = true
+end
+-- }}}
diff --git a/vicious b/vicious
index 0d73f6d..ca1d8d7 160000
--- a/vicious
+++ b/vicious
@@ -1 +1 @@
-Subproject commit 0d73f6d8ae32f1cd48ce9f089b902eb0877605e1
+Subproject commit ca1d8d79e55b7addc28dc442832815692b01b894
diff --git a/wibox.lua b/wibox.lua
new file mode 100644
index 0000000..a640906
--- /dev/null
+++ b/wibox.lua
@@ -0,0 +1,91 @@
+
+-- {{{ Reusable separators
+spacer         = widget({ type = "textbox", name = "spacer" })
+spacer.text    = " "
+
+separator      = widget({ type = "textbox", name = "separator", align = "center" })
+separator.text = " )( "
+-- }}}
+
+-- {{{ Wibox
+
+--popup run
+
+-- Create a textclock widget
+--clock     = awful.widget.textclock({ align = "right" })
+mysystray = widget({ type = "systray" })
+
+clock = widget({ type = "textbox" })
+vicious.register(clock, vicious.widgets.date, "%b %d, %R", 60)
+
+memwidget = widget({ type = "textbox" })
+vicious.register(memwidget, vicious.widgets.mem, "⌸ $1% ($2MB / $3MB) ", 13)
+
+--batwidget  = obvious.battery();
+batwidget = widget({ type = "textbox" })
+vicious.register(batwidget, vicious.widgets.bat, "⌁ $1$2% - $3", 61)
+
+cpuwidget = awful.widget.progressbar()
+cpulabel = widget({ type = "textbox" })
+cpuwidget:set_width(50)
+cpuwidget:set_background_color("#494B4F")
+cpuwidget:set_color("#FF5656")
+cpuwidget:set_gradient_colors({ "#FF5656", "#88A175", "#AECF96" })
+vicious.register(cpuwidget, vicious.widgets.cpu, "$1",41)
+vicious.register(cpulabel, vicious.widgets.cpu, "CPU: $1%")
+
+
+wlanwidget = widget({ type = "textbox" })
+vicious.register(wlanwidget, vicious.widgets.wifi, "WLAN ${ssid} @ ${sign}, Q:${link}/70", 31, "wlan0")
+-- 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
+    -- Create an imagebox widget which will contains an icon indicating which layout we're using.
+    -- We need one layoutbox per screen.
+    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 })
+    rightwibox[s] = awful.wibox({ position = "right", screen = s })
+    -- Add widgets to the wibox - order matters
+    leftwibox[s].widgets = {
+        mytaglist[s],
+        mylayoutbox[s],
+        spacer,
+        layout = awful.widget.layout.horizontal.rightleft
+    }
+    rightwibox[s].widgets = {
+        {
+            clock,
+            separator, spacer, memwidget,
+            separator, spacer, batwidget,
+            separator, spacer, wlanwidget,
+            separator, spacer, cpulabel, cpuwidget,
+            spacer,
+            layout = awful.widget.layout.horizontal.leftright
+        },
+        separator, spacer, s == 1 and mysystray or nil,
+        layout = awful.widget.layout.horizontal.leftright
+    }
+end
+-- }}}
diff --git a/zenburn.lua b/zenburn.lua
deleted file mode 100644
index c293633..0000000
--- a/zenburn.lua
+++ /dev/null
@@ -1,141 +0,0 @@
--------------------------------
---  "Zenburn" awesome theme  --
---    By Adrian C. (anrxc)   --
--------------------------------
-
-
--- {{{ Main
-theme = {}
-theme.confdir       = awful.util.getdir("config")
-theme.wallpaper_cmd = { "/usr/bin/nitrogen --restore" }
---theme.wallpaper_cmd = { "awsetbg /usr/share/awesome/themes/zenburn/zenburn-background.png" }
--- }}}
-
-
--- {{{ Styles
-theme.font      = "Profont 8"
-
--- {{{ Colors
-theme.fg_normal = "#DCDCCC"
-theme.fg_focus  = "#F0DFAF"
-theme.fg_urgent = "#CC9393"
-theme.bg_normal = "#3F3F3F"
-theme.bg_focus  = "#1E2320"
-theme.bg_urgent = "#ff0000"
--- }}}
-
--- {{{ Borders
-theme.border_width  = "1"
-theme.border_normal = "#3F3F3F"
-theme.border_focus  = "#6F6F6F"
-theme.border_marked = "#CC9393"
--- }}}
-
--- {{{ Titlebars
-theme.titlebar_bg_focus  = "#3F3F3F"
-theme.titlebar_bg_normal = "#3F3F3F"
--- theme.titlebar_[normal|focus]
--- }}}
-
--- {{{ Widgets
-theme.fg_widget        = "#AECF96"
-theme.fg_center_widget = "#88A175"
-theme.fg_end_widget    = "#FF5656"
-theme.fg_off_widget    = "#494B4F"
-theme.fg_netup_widget  = "#7F9F7F"
-theme.fg_netdn_widget  = "#CC9393"
-theme.bg_widget        = "#3F3F3F"
-theme.border_widget    = "#3F3F3F"
--- }}}
-
--- {{{ Mouse finder
-theme.mouse_finder_color = "#CC9393"
--- theme.mouse_finder_[timeout|animate_timeout|radius|factor]
--- }}}
-
--- {{{ Tooltips
--- theme.tooltip_[font|opacity|fg_color|bg_color|border_width|border_color]
--- }}}
-
--- {{{ Taglist and Tasklist
--- theme.[taglist|tasklist]_[bg|fg]_[focus|urgent]
--- }}}
-
--- {{{ Menu
--- theme.menu_[bg|fg]_[normal|focus]
--- theme.menu_[height|width|border_color|border_width]
--- }}}
--- }}}
-
-
--- {{{ Icons
---
--- {{{ Taglist icons
-theme.taglist_squares_sel   = theme.confdir .. "/icons/taglist/squarefz.png"
-theme.taglist_squares_unsel = theme.confdir .. "/icons/taglist/squareza.png"
---theme.taglist_squares_resize = "false"
--- }}}
-
--- {{{ Misc icons
---theme.awesome_icon           = theme.confdir .. "/icons/awesome.png"
---theme.menu_submenu_icon      = "/usr/share/awesome/themes/default/submenu.png"
---theme.tasklist_floating_icon = "/usr/share/awesome/themes/default/tasklist/floatingw.png"
--- }}}
-
--- {{{ Layout icons
-theme.layout_tile       = theme.confdir .. "/icons/layouts/tile.png"
-theme.layout_tileleft   = theme.confdir .. "/icons/layouts/tileleft.png"
-theme.layout_tilebottom = theme.confdir .. "/icons/layouts/tilebottom.png"
-theme.layout_tiletop    = theme.confdir .. "/icons/layouts/tiletop.png"
-theme.layout_fairv      = theme.confdir .. "/icons/layouts/fairv.png"
-theme.layout_fairh      = theme.confdir .. "/icons/layouts/fairh.png"
-theme.layout_spiral     = theme.confdir .. "/icons/layouts/spiral.png"
-theme.layout_dwindle    = theme.confdir .. "/icons/layouts/dwindle.png"
-theme.layout_max        = theme.confdir .. "/icons/layouts/max.png"
-theme.layout_fullscreen = theme.confdir .. "/icons/layouts/fullscreen.png"
-theme.layout_magnifier  = theme.confdir .. "/icons/layouts/magnifier.png"
-theme.layout_floating   = theme.confdir .. "/icons/layouts/floating.png"
--- }}}
-
--- {{{ Widget icons
-theme.widget_cpu    = theme.confdir .. "/icons/cpu.png"
-theme.widget_bat    = theme.confdir .. "/icons/bat.png"
-theme.widget_mem    = theme.confdir .. "/icons/mem.png"
-theme.widget_fs     = theme.confdir .. "/icons/disk.png"
-theme.widget_net    = theme.confdir .. "/icons/down.png"
-theme.widget_netup  = theme.confdir .. "/icons/up.png"
-theme.widget_mail   = theme.confdir .. "/icons/mail.png"
-theme.widget_vol    = theme.confdir .. "/icons/vol.png"
-theme.widget_org    = theme.confdir .. "/icons/cal.png"
-theme.widget_date   = theme.confdir .. "/icons/time.png"
-theme.widget_crypto = theme.confdir .. "/icons/crypto.png"
--- }}}
-
--- {{{ Titlebar icons
-theme.titlebar_close_button_focus  = theme.confdir .. "/icons/titlebar/close_focus.png"
-theme.titlebar_close_button_normal = theme.confdir .. "/icons/titlebar/close_normal.png"
-
-theme.titlebar_ontop_button_focus_active    = theme.confdir .. "/icons/titlebar/ontop_focus_active.png"
-theme.titlebar_ontop_button_normal_active   = theme.confdir .. "/icons/titlebar/ontop_normal_active.png"
-theme.titlebar_ontop_button_focus_inactive  = theme.confdir .. "/icons/titlebar/ontop_focus_inactive.png"
-theme.titlebar_ontop_button_normal_inactive = theme.confdir .. "/icons/titlebar/ontop_normal_inactive.png"
-
-theme.titlebar_sticky_button_focus_active    = theme.confdir .. "/icons/titlebar/sticky_focus_active.png"
-theme.titlebar_sticky_button_normal_active   = theme.confdir .. "/icons/titlebar/sticky_normal_active.png"
-theme.titlebar_sticky_button_focus_inactive  = theme.confdir .. "/icons/titlebar/sticky_focus_inactive.png"
-theme.titlebar_sticky_button_normal_inactive = theme.confdir .. "/icons/titlebar/sticky_normal_inactive.png"
-
-theme.titlebar_floating_button_focus_active    = theme.confdir .. "/icons/titlebar/floating_focus_active.png"
-theme.titlebar_floating_button_normal_active   = theme.confdir .. "/icons/titlebar/floating_normal_active.png"
-theme.titlebar_floating_button_focus_inactive  = theme.confdir .. "/icons/titlebar/floating_focus_inactive.png"
-theme.titlebar_floating_button_normal_inactive = theme.confdir .. "/icons/titlebar/floating_normal_inactive.png"
-
-theme.titlebar_maximized_button_focus_active    = theme.confdir .. "/icons/titlebar/maximized_focus_active.png"
-theme.titlebar_maximized_button_normal_active   = theme.confdir .. "/icons/titlebar/maximized_normal_active.png"
-theme.titlebar_maximized_button_focus_inactive  = theme.confdir .. "/icons/titlebar/maximized_focus_inactive.png"
-theme.titlebar_maximized_button_normal_inactive = theme.confdir .. "/icons/titlebar/maximized_normal_inactive.png"
--- }}}
--- }}}
-
-
-return theme
diff --git a/zenburn/theme.lua b/zenburn/theme.lua
index 756d611..346a717 100644
--- a/zenburn/theme.lua
+++ b/zenburn/theme.lua
@@ -8,25 +8,25 @@
 
 -- {{{ Main
 theme = {}
-theme.wallpaper_cmd = { "awsetbg -a /home/crater2150/.config/awesome/wallpaper" }
+theme.wallpaper_cmd = { "nitrogen --restore" }
 -- }}}
 
 -- {{{ Styles
 theme.font      = "sans 8"
 
 -- {{{ Colors
-theme.fg_normal = "#8888FF"
-theme.fg_focus  = "#000000"
-theme.fg_urgent = "#FF0000"
-theme.bg_normal = "#000000"
-theme.bg_focus  = "#8888FF"
-theme.bg_urgent = "#880000"
+theme.fg_normal = "#DCDCDC"
+theme.fg_focus  = "#F0DFAF"
+theme.fg_urgent = "#CC9393"
+theme.bg_normal = "#121212"
+theme.bg_focus  = "#3F3F3F"
+theme.bg_urgent = "#DA4E4E"
 -- }}}
 
 -- {{{ Borders
 theme.border_width  = "2"
-theme.border_normal = "#DDDDFF"
-theme.border_focus  = "#8888FF"
+theme.border_normal = "#3F3F3F"
+theme.border_focus  = "#6F6F6F"
 theme.border_marked = "#CC9393"
 -- }}}
 
@@ -83,12 +83,12 @@ theme.tasklist_floating_icon = "/usr/share/awesome/themes/default/tasklist/float
 -- }}}
 
 -- {{{ Layout
-theme.layout_tile       = "/usr/share/awesome/themes/zenburn/layouts/tilebottom.png"
-theme.layout_tileleft   = "/usr/share/awesome/themes/zenburn/layouts/tiletop.png"
-theme.layout_tilebottom = "/usr/share/awesome/themes/zenburn/layouts/tileleft.png"
-theme.layout_tiletop    = "/usr/share/awesome/themes/zenburn/layouts/tile.png"
-theme.layout_fairv      = "/usr/share/awesome/themes/zenburn/layouts/fairh.png"
+theme.layout_tiletop       = "/usr/share/awesome/themes/zenburn/layouts/tile.png"
+theme.layout_tilebottom   = "/usr/share/awesome/themes/zenburn/layouts/tileleft.png"
+theme.layout_tile = "/usr/share/awesome/themes/zenburn/layouts/tilebottom.png"
+theme.layout_tileleft    = "/usr/share/awesome/themes/zenburn/layouts/tiletop.png"
 theme.layout_fairh      = "/usr/share/awesome/themes/zenburn/layouts/fairv.png"
+theme.layout_fairv      = "/usr/share/awesome/themes/zenburn/layouts/fairh.png"
 theme.layout_spiral     = "/usr/share/awesome/themes/zenburn/layouts/spiral.png"
 theme.layout_dwindle    = "/usr/share/awesome/themes/zenburn/layouts/dwindle.png"
 theme.layout_max        = "/usr/share/awesome/themes/zenburn/layouts/max.png"
diff --git a/zenburn/titlebar/close_normal.png b/zenburn/titlebar/close_normal.png
index c5266d7..bc97b7c 100644
Binary files a/zenburn/titlebar/close_normal.png and b/zenburn/titlebar/close_normal.png differ
diff --git a/zenburn/titlebar/floating_focus_inactive.png b/zenburn/titlebar/floating_focus_inactive.png
index 6a8bd86..f442d78 100644
Binary files a/zenburn/titlebar/floating_focus_inactive.png and b/zenburn/titlebar/floating_focus_inactive.png differ
diff --git a/zenburn/titlebar/floating_normal_active.png b/zenburn/titlebar/floating_normal_active.png
index 609a2a2..1355a55 100644
Binary files a/zenburn/titlebar/floating_normal_active.png and b/zenburn/titlebar/floating_normal_active.png differ
diff --git a/zenburn/titlebar/floating_normal_inactive.png b/zenburn/titlebar/floating_normal_inactive.png
index 579ebd3..e6731a3 100644
Binary files a/zenburn/titlebar/floating_normal_inactive.png and b/zenburn/titlebar/floating_normal_inactive.png differ
diff --git a/zenburn/titlebar/maximized_focus_inactive.png b/zenburn/titlebar/maximized_focus_inactive.png
index 16e4a9e..61cb93b 100644
Binary files a/zenburn/titlebar/maximized_focus_inactive.png and b/zenburn/titlebar/maximized_focus_inactive.png differ
diff --git a/zenburn/titlebar/maximized_normal_active.png b/zenburn/titlebar/maximized_normal_active.png
index f98030e..ba5139a 100644
Binary files a/zenburn/titlebar/maximized_normal_active.png and b/zenburn/titlebar/maximized_normal_active.png differ
diff --git a/zenburn/titlebar/maximized_normal_inactive.png b/zenburn/titlebar/maximized_normal_inactive.png
index d84c2be..debd21f 100644
Binary files a/zenburn/titlebar/maximized_normal_inactive.png and b/zenburn/titlebar/maximized_normal_inactive.png differ
diff --git a/zenburn/titlebar/ontop_focus_inactive.png b/zenburn/titlebar/ontop_focus_inactive.png
index dd29ebe..3b8b5c3 100644
Binary files a/zenburn/titlebar/ontop_focus_inactive.png and b/zenburn/titlebar/ontop_focus_inactive.png differ
diff --git a/zenburn/titlebar/ontop_normal_active.png b/zenburn/titlebar/ontop_normal_active.png
index da8c5a2..70c0540 100644
Binary files a/zenburn/titlebar/ontop_normal_active.png and b/zenburn/titlebar/ontop_normal_active.png differ
diff --git a/zenburn/titlebar/ontop_normal_inactive.png b/zenburn/titlebar/ontop_normal_inactive.png
index 05ed63f..136f3f0 100644
Binary files a/zenburn/titlebar/ontop_normal_inactive.png and b/zenburn/titlebar/ontop_normal_inactive.png differ
diff --git a/zenburn/titlebar/sticky_focus_inactive.png b/zenburn/titlebar/sticky_focus_inactive.png
index 93ea06f..b83ceff 100644
Binary files a/zenburn/titlebar/sticky_focus_inactive.png and b/zenburn/titlebar/sticky_focus_inactive.png differ
diff --git a/zenburn/titlebar/sticky_normal_active.png b/zenburn/titlebar/sticky_normal_active.png
index 57984a0..9b74056 100644
Binary files a/zenburn/titlebar/sticky_normal_active.png and b/zenburn/titlebar/sticky_normal_active.png differ
diff --git a/zenburn/titlebar/sticky_normal_inactive.png b/zenburn/titlebar/sticky_normal_inactive.png
index 617c517..0e29780 100644
Binary files a/zenburn/titlebar/sticky_normal_inactive.png and b/zenburn/titlebar/sticky_normal_inactive.png differ