-- Create a tasklist widget
mytasklist = widget({ type = "tasklist", name = "mytasklist" })
-mytasklist:mouse_add(mouse({ }, 1, function (object, c) c:focus_set(); c:raise() end))
+mytasklist:mouse_add(mouse({ }, 1, function (object, c) client.focus = c; c:raise() end))
mytasklist:mouse_add(mouse({ }, 4, function () awful.client.focusbyidx(1) end))
mytasklist:mouse_add(mouse({ }, 5, function () awful.client.focusbyidx(-1) end))
mytasklist.label = awful.widget.tasklist.label.currenttags
end):add()
keybinding({ modkey, "Shift" }, i,
function ()
- local sel = client.focus_get()
+ local sel = client.focus
if sel then
if tags[sel.screen][i] then
awful.client.movetotag(tags[sel.screen][i])
end):add()
keybinding({ modkey, "Control", "Shift" }, i,
function ()
- local sel = client.focus_get()
+ local sel = client.focus
if sel then
if tags[sel.screen][i] then
awful.client.toggletag(tags[sel.screen][i])
-- Client manipulation
keybinding({ modkey }, "m", awful.client.maximize):add()
-keybinding({ modkey, "Shift" }, "c", function () client.focus_get():kill() end):add()
-keybinding({ modkey }, "j", function () awful.client.focusbyidx(1); client.focus_get():raise() end):add()
-keybinding({ modkey }, "k", function () awful.client.focusbyidx(-1); client.focus_get():raise() end):add()
+keybinding({ modkey, "Shift" }, "c", function () client.focus:kill() end):add()
+keybinding({ modkey }, "j", function () awful.client.focusbyidx(1); client.focus:raise() end):add()
+keybinding({ modkey }, "k", function () awful.client.focusbyidx(-1); client.focus:raise() end):add()
keybinding({ modkey, "Shift" }, "j", function () awful.client.swap(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, "Control" }, "Return", function () client.focus_get():swap(awful.client.master()) end):add()
+keybinding({ modkey, "Control" }, "Return", function () client.focus:swap(awful.client.master()) 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()
-- Layout manipulation
keybinding({ modkey }, "l", function () awful.tag.incmwfact(0.05) end):add()
-- Prompt
keybinding({ modkey }, "F1", function ()
- awful.prompt({ prompt = "Run: " }, mypromptbox, awful.spawn, awful.completion.bash)
- end):add()
+ awful.prompt.run({ prompt = "Run: " }, mypromptbox, awful.spawn, awful.completion.bash,
+os.getenv("HOME") .. "/.cache/awesome/history") end):add()
keybinding({ modkey }, "F4", function ()
- awful.prompt({ prompt = "Run Lua code: " }, mypromptbox, awful.eval)
- end):add()
+ awful.prompt.run({ prompt = "Run Lua code: " }, mypromptbox, awful.eval, awful.prompt.bash,
+os.getenv("HOME") .. "/.cache/awesome/history_eval") end):add()
+keybinding({ modkey, "Ctrl" }, "i", function ()
+ if mypromptbox.text then
+ mypromptbox.text = nil
+ else
+ mypromptbox.text = "Class: " .. client.focus.class .. " Instance: ".. client.focus.instance
+ end
+ end):add()
--- Tabulous, tab manipulation
keybinding({ modkey, "Control" }, "y", function ()
tabbedview = tabulous.tab_create()
tabulous.tab(tabbedview, nextclient)
else
- tabulous.tab(tabbedview, client.focus_get())
+ tabulous.tab(tabbedview, client.focus)
end
else
tabulous.tab(tabbedview, nextclient)
function hook_mouseover(c)
-- Sloppy focus, but disabled for magnifier layout
if awful.layout.get(c.screen) ~= "magnifier" then
- c:focus_set()
+ client.focus = c
end
end
awful.titlebar.add(c, { modkey = modkey })
end
-- Add mouse bindings
- c:mouse_add(mouse({ }, 1, function (c) c:focus_set(); c:raise() end))
+ c:mouse_add(mouse({ }, 1, function (c) client.focus = c; c:raise() end))
c:mouse_add(mouse({ modkey }, 1, function (c) c:mouse_move() end))
c:mouse_add(mouse({ modkey }, 3, function (c) c:mouse_resize() end))
-- New client may not receive focus
-- if they're not focusable, so set border anyway.
c.border_width = beautiful.border_width
c.border_color = beautiful.border_normal
- c:focus_set()
+ client.focus = c
-- Check if the application should be floating.
local cls = c.class
-- Hook function to execute when arranging the screen
-- (tag switch, new client, etc)
function hook_arrange(screen)
- mylayoutbox[screen].text =
- "<bg image=\"" .. AWESOME_DATADIR .. "/icons/layouts/" .. awful.layout.get(screen) .. "w.png\" resize=\"true\"/>"
+ local layout = awful.layout.get(screen)
+ if layout then
+ mylayoutbox[screen].text =
+ "<bg image=\"/home/madduck/code/awesome/share/awesome/icons/layouts/" .. awful.layout.get(screen) .. "w.png\" resize=\"true\"/>"
+ else
+ mylayoutbox[screen].text = "No layout."
+ end
-- If no window has focus, give focus to the latest in history
- if not client.focus_get() then
+ if not client.focus then
local c = awful.client.focus.history.get(screen, 0)
- if c then c:focus_set() end
+ if c then client.focus = c end
end
-- Uncomment if you want mouse warping
--[[
- local sel = client.focus_get()
+ local sel = client.focus
if sel then
local c_c = sel.coords
local m_c = mouse.coords