From e8bb1f4a1844f07fc2f6973f2e7b400f2ddf2f3d Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sun, 25 Dec 2016 12:03:06 +0100 Subject: Initial commit. --- bindings.lua | 144 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 bindings.lua (limited to 'bindings.lua') diff --git a/bindings.lua b/bindings.lua new file mode 100644 index 0000000..87b1a76 --- /dev/null +++ b/bindings.lua @@ -0,0 +1,144 @@ +local awful = require("awful") +local commondefs = require("commondefs") +local utils = require("utils") + +local modkey = commondefs.modkey + +local globalkeys = awful.util.table.join( + awful.key({ modkey, "Mod1" }, "Delete", awesome.restart), + awful.key({ modkey }, "Pause", function () awful.util.spawn("xscreensaver-command -lock") end), + + -- program launching + awful.key({ modkey, }, "t", function () awful.util.spawn(commondefs.terminal) end), + awful.key({ modkey, }, "v", function () awful.util.spawn(commondefs.terminal .. " -e alsamixer") end), + awful.key({ modkey, }, "Escape", function () awful.util.spawn(commondefs.terminal .. " -e htop") end), + + -- audio control + awful.key({ modkey }, "Prior", function () utils.vol_control(1) end), + awful.key({ modkey }, "Next", function () utils.vol_control(-1) end), + awful.key({ modkey }, "grave", function () awful.util.spawn("mpc toggle") end), + awful.key({ modkey }, "b", function () awful.util.spawn("mpc next") end), + awful.key({ modkey }, "p", function () awful.util.spawn("mpc prev") end), + + -- focus/screen switching + awful.key({ modkey, }, "q", function() utils.screen_focus_physical(1) end), + awful.key({ modkey, }, "w", function() utils.screen_focus_physical(2) end), + awful.key({ modkey, }, "e", function() utils.screen_focus_physical(3) end), + + awful.key({ modkey, }, "Left", awful.tag.viewprev ), + awful.key({ modkey, }, "Right", awful.tag.viewnext ), + + awful.key({ modkey, }, "Tab", + function () + awful.client.focus.byidx(1) + if client.focus then client.focus:raise() end + end), + awful.key({ modkey, "Shift" }, "Tab", + function () + awful.client.focus.byidx(-1) + if client.focus then client.focus:raise() end + end), + awful.key({ modkey, "Mod1" }, "Tab", + function () + awful.client.focus.history.previous() + if client.focus then + client.focus:raise() + end + 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, }, "u", awful.client.urgent.jumpto), + + + 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, }, ",", function () awful.tag.incnmaster( 1) end), + awful.key({ modkey, }, ".", 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, "Control" }, "n", awful.client.restore), + + -- Prompt + awful.key({ modkey }, "r", function () mypromptbox[mouse.screen]:run() end), + + awful.key({ modkey }, "x", + function () + awful.prompt.run({ prompt = "Run Lua code: " }, + mypromptbox[mouse.screen].widget, + awful.util.eval, nil, + awful.util.getdir("cache") .. "/history_eval") + 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. +for i = 1, 9 do + globalkeys = awful.util.table.join(globalkeys, + -- View tag only. + awful.key({ modkey }, "#" .. i + 9, + function () + local screen = mouse.screen + local tag = awful.tag.gettags(screen)[i] + if tag then + awful.tag.viewonly(tag) + end + end), + -- Toggle tag. + awful.key({ modkey, "Control" }, "#" .. i + 9, + function () + local screen = mouse.screen + local tag = awful.tag.gettags(screen)[i] + if tag then + awful.tag.viewtoggle(tag) + end + end), + -- Move client to tag. + awful.key({ modkey, "Shift" }, "#" .. i + 9, + function () + if client.focus then + local tag = awful.tag.gettags(client.focus.screen)[i] + if tag then + awful.client.movetotag(tag) + end + end + end), + -- Toggle tag. + awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9, + function () + if client.focus then + local tag = awful.tag.gettags(client.focus.screen)[i] + if tag then + awful.client.toggletag(tag) + end + end + end)) +end + +local clientkeys = awful.util.table.join( + awful.key({ modkey, }, "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", awful.client.movetoscreen ), + awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end), + awful.key({ modkey, }, "n", + function (c) + -- The client currently has the input focus, so it cannot be + -- minimized, since minimized clients can't have the focus. + c.minimized = true + end), + awful.key({ modkey, }, "m", + function (c) + c.maximized_horizontal = not c.maximized_horizontal + c.maximized_vertical = not c.maximized_vertical + end) +) + +return { + globalkeys = globalkeys, + clientkeys = clientkeys, +} -- cgit v1.2.3