]> git.madduck.net Git - etc/awesome.git/commitdiff

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

follow config changes
authormartin f. krafft <madduck@madduck.net>
Sat, 22 Nov 2008 09:35:16 +0000 (10:35 +0100)
committermartin f. krafft <madduck@madduck.net>
Sat, 22 Nov 2008 09:35:16 +0000 (10:35 +0100)
.config/awesome/rc.lua

index 232909528e5f01395ba1fadc526ca0dd1752ac99..743b3189be4a6f02140e9ba79c8938aed8489bdd 100644 (file)
@@ -1,13 +1,16 @@
--- awesome 3 configuration file
-
--- Include awesome library, with lots of useful function!
+-- Include awesome libraries, with lots of useful function!
 require("awful")
 require("awful")
-require("tabulous")
 require("beautiful")
 
 -- {{{ Variable definitions
 require("beautiful")
 
 -- {{{ Variable definitions
--- This is a file path to a theme file which will defines colors.
-theme_path = "/home/madduck/code/awesome/share/awesome/themes/default"
+-- Themes define colours, icons, and wallpapers
+-- The default is a dark theme
+theme_path = "/home/madduck/code/awesome/share/awesome/themes/default/theme"
+-- Uncommment this for a lighter theme
+-- theme_path = "/home/madduck/code/awesome/share/awesome/themes/sky/theme"
+
+-- Actually load theme
+beautiful.init(theme_path)
 
 -- This is used later as the default terminal and editor to run.
 terminal = "x-terminal-emulator"
 
 -- This is used later as the default terminal and editor to run.
 terminal = "x-terminal-emulator"
@@ -32,6 +35,7 @@ layouts =
     "fairv",
     "magnifier",
     "max",
     "fairv",
     "magnifier",
     "max",
+    "fullscreen",
 --    "spiral",
 --    "dwindle",
     "floating"
 --    "spiral",
 --    "dwindle",
     "floating"
@@ -50,14 +54,14 @@ floatapps =
     ["GIMP"] = true,
     ["twinkle"] = true,
     ["Add-ons"] = true,
     ["GIMP"] = true,
     ["twinkle"] = true,
     ["Add-ons"] = true,
-    ["Play stream"] = true
+    ["Play stream"] = true,
 }
 
 -- Applications that should never float, assuming everything else floats
 -- (by instance)
 tiledapps =
 {
 }
 
 -- Applications that should never float, assuming everything else floats
 -- (by instance)
 tiledapps =
 {
-    ["urxvt"] = true
+    ["urxvt"] = true,
 }
 
 -- Applications that should be maximised
 }
 
 -- Applications that should be maximised
@@ -84,19 +88,6 @@ apptags =
 use_titlebar = false
 -- }}}
 
 use_titlebar = false
 -- }}}
 
--- {{{ Initialization
--- Initialize theme (colors).
-beautiful.init(theme_path)
-
--- Register theme in awful.
--- This allows to not pass plenty of arguments to each function
--- to inform it about colors we want it to draw.
-awful.beautiful.register(beautiful)
-
--- Uncomment this to activate autotabbing
--- tabulous.autotab_start()
--- }}}
-
 -- {{{ Tags
 -- Define tags table.
 tags = {}
 -- {{{ Tags
 -- Define tags table.
 tags = {}
@@ -118,29 +109,28 @@ end
 
 -- {{{ Wibox
 -- Create a textbox widget
 
 -- {{{ Wibox
 -- Create a textbox widget
-mytextbox = widget({ type = "textbox", name = "mytextbox", align = "right" })
+mytextbox = widget({ type = "textbox", align = "right" })
 -- Set the default text in textbox
 mytextbox.text = "<b><small> " .. AWESOME_RELEASE .. " </small></b>"
 
 -- Create a laucher widget and a main menu
 myawesomemenu = {
 -- Set the default text in textbox
 mytextbox.text = "<b><small> " .. AWESOME_RELEASE .. " </small></b>"
 
 -- Create a laucher widget and a main menu
 myawesomemenu = {
-   {"manual", terminal .. " -e man awesome" },
-   {"edit config", editor_cmd .. " " .. awful.util.getdir("config") .. "/rc.lua" },
-   {"restart", awesome.restart },
-   {"quit", awesome.quit }
+   { "manual", terminal .. " -e man awesome" },
+   { "edit config", editor_cmd .. " " .. awful.util.getdir("config") .. "/rc.lua" },
+   { "restart", awesome.restart },
+   { "quit", awesome.quit }
 }
 
 }
 
-mymainmenu = {
-   {"awesome", myawesomemenu, "/home/madduck/code/awesome/share/awesome/icons/awesome16.png" },
-   {"open terminal", terminal }
-}
+mymainmenu = awful.menu.new({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
+                                        { "open terminal", terminal }
+                                      }
+                            })
 
 
-mylauncher = awful.widget.launcher({ name = "mylauncher",
-                                     image = "/home/madduck/code/awesome/share/awesome/icons/awesome16.png",
-                                     menu = { id="mymainmenu", items=mymainmenu } })
+mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon,
+                                     menu = mymainmenu })
 
 -- Create a systray
 
 -- Create a systray
-mysystray = widget({ type = "systray", name = "mysystray", align = "right" })
+mysystray = widget({ type = "systray", align = "right" })
 
 -- Create textbox widgets
 mytimebox = widget({ type = "textbox", name = "mytimebox", align = "right" })
 
 -- Create textbox widgets
 mytimebox = widget({ type = "textbox", name = "mytimebox", align = "right" })
@@ -164,7 +154,11 @@ mytasklist.buttons = { button({ }, 1, function (c) client.focus = c; c:raise() e
                        button({ }, 5, function () awful.client.focus.byidx(-1) end) }
 
 for s = 1, screen.count() do
                        button({ }, 5, function () awful.client.focus.byidx(-1) end) }
 
 for s = 1, screen.count() do
-    mylayoutbox[s] = widget({ type = "imagebox", name = "mylayoutbox", align = "right" })
+    -- Create a promptbox for each screen
+    mypromptbox[s] = widget({ type = "textbox", align = "left" })
+    -- Create an imagebox widget which will contains an icon indicating which layout we're using.
+    -- We need one layoutbox per screen.
+    mylayoutbox[s] = widget({ type = "imagebox", align = "right" })
     mylayoutbox[s]:buttons({ button({ }, 1, function () awful.layout.inc(layouts, 1) end),
                              button({ }, 3, function () awful.layout.inc(layouts, -1) end),
                              button({ }, 4, function () awful.layout.inc(layouts, 1) end),
     mylayoutbox[s]:buttons({ button({ }, 1, function () awful.layout.inc(layouts, 1) end),
                              button({ }, 3, function () awful.layout.inc(layouts, -1) end),
                              button({ }, 4, function () awful.layout.inc(layouts, 1) end),
@@ -214,7 +208,7 @@ batterywidget:bar_properties_set('bat', {
 
 -- {{{ Mouse bindings
 awesome.buttons({
 
 -- {{{ Mouse bindings
 awesome.buttons({
-    button({ }, 3, function () awful.menu.new({ id="mymainmenu", items=mymainmenu }) end),
+    button({ }, 3, function () mymainmenu:toggle() end),
     button({ }, 4, awful.tag.viewnext),
     button({ }, 5, awful.tag.viewprev)
 })
     button({ }, 4, awful.tag.viewnext),
     button({ }, 5, awful.tag.viewprev)
 })
@@ -281,12 +275,12 @@ keybinding({ modkey }, "f", function () client.focus.fullscreen = not client.foc
 keybinding({ modkey, "Shift" }, "c", function () client.focus:kill() end):add()
 keybinding({ modkey }, "j", function () awful.client.focus.byidx(1); client.focus:raise() end):add()
 keybinding({ modkey }, "k", function () awful.client.focus.byidx(-1);  client.focus:raise() end):add()
 keybinding({ modkey, "Shift" }, "c", function () client.focus:kill() end):add()
 keybinding({ modkey }, "j", function () awful.client.focus.byidx(1); client.focus:raise() end):add()
 keybinding({ modkey }, "k", function () awful.client.focus.byidx(-1);  client.focus:raise() end):add()
-keybinding({ modkey, "Shift" }, "j", function () awful.client.swap(1) end):add()
+keybinding({ modkey, "Shift" }, "j", function () awful.client.swap.byidx(1) end):add()
 keybinding({ modkey, "Shift" }, "k", function () awful.client.swap(-1) end):add()
 keybinding({ modkey, "Control" }, "j", function () awful.screen.focus(1) end):add()
 keybinding({ modkey, "Control" }, "k", function () awful.screen.focus(-1) end):add()
 keybinding({ modkey, "Control" }, "space", awful.client.togglefloating):add()
 keybinding({ modkey, "Shift" }, "k", function () awful.client.swap(-1) end):add()
 keybinding({ modkey, "Control" }, "j", function () awful.screen.focus(1) end):add()
 keybinding({ modkey, "Control" }, "k", function () awful.screen.focus(-1) end):add()
 keybinding({ modkey, "Control" }, "space", awful.client.togglefloating):add()
-keybinding({ modkey, "Control" }, "Return", function () client.focus:swap(awful.client.master()) end):add()
+keybinding({ modkey, "Control" }, "Return", function () client.focus:swap(awful.client.getmaster()) end):add()
 keybinding({ modkey }, "o", awful.client.movetoscreen):add()
 keybinding({ modkey }, "Tab", awful.client.focus.history.previous):add()
 keybinding({ modkey }, "u", awful.client.urgent.jumpto):add()
 keybinding({ modkey }, "o", awful.client.movetoscreen):add()
 keybinding({ modkey }, "Tab", awful.client.focus.history.previous):add()
 keybinding({ modkey }, "u", awful.client.urgent.jumpto):add()
@@ -331,6 +325,7 @@ keybinding({ modkey, "Ctrl" }, "i", function ()
                                     end):add()
 
 --- Tabulous, tab manipulation
                                     end):add()
 
 --- Tabulous, tab manipulation
+require("tabulous")
 keybinding({ modkey, "Control" }, "y", function ()
     local tabbedview = tabulous.tabindex_get()
     local nextclient = awful.client.next(1)
 keybinding({ modkey, "Control" }, "y", function ()
     local tabbedview = tabulous.tabindex_get()
     local nextclient = awful.client.next(1)
@@ -440,7 +435,6 @@ awful.hooks.manage.register(function (c)
     -- if they're not focusable, so set border anyway.
     c.border_width = beautiful.border_width
     c.border_color = beautiful.border_normal
     -- if they're not focusable, so set border anyway.
     c.border_width = beautiful.border_width
     c.border_color = beautiful.border_normal
-    client.focus = c
 
     -- Check if the application should be floating.
     -- OVERRIDDEN, SEE tiledapps BELOW
 
     -- Check if the application should be floating.
     -- OVERRIDDEN, SEE tiledapps BELOW
@@ -467,6 +461,9 @@ awful.hooks.manage.register(function (c)
         awful.client.movetotag(tags[target.screen][target.tag], c)
     end
 
         awful.client.movetotag(tags[target.screen][target.tag], c)
     end
 
+    -- Do this after tag mapping, so you don't see it on the wrong tag for a split second.
+    client.focus = c
+
     -- Set the windows at the slave,
     -- i.e. put it at the end of others instead of setting it master.
     -- awful.client.setslave(c)
     -- Set the windows at the slave,
     -- i.e. put it at the end of others instead of setting it master.
     -- awful.client.setslave(c)
@@ -485,7 +482,7 @@ end)
 awful.hooks.arrange.register(function (screen)
     local layout = awful.layout.get(screen)
     if layout then
 awful.hooks.arrange.register(function (screen)
     local layout = awful.layout.get(screen)
     if layout then
-        mylayoutbox[screen].image = image("/home/madduck/code/awesome/share/awesome/icons/layouts/" .. layout .. "w.png")
+        mylayoutbox[screen].image = image(beautiful["layout_" .. layout])
     else
         mylayoutbox[screen].image = nil
     end
     else
         mylayoutbox[screen].image = nil
     end
@@ -500,7 +497,7 @@ awful.hooks.arrange.register(function (screen)
     -- Uncomment if you want mouse warping
     --[[
     if client.focus then
     -- Uncomment if you want mouse warping
     --[[
     if client.focus then
-        local c_c = client.focus:geometry()
+        local c_c = client.focus:fullgeometry()
         local m_c = mouse.coords()
 
         if m_c.x < c_c.x or m_c.x >= c_c.x + c_c.width or
         local m_c = mouse.coords()
 
         if m_c.x < c_c.x or m_c.x >= c_c.x + c_c.width or