86 lines
5.6 KiB
Lua
86 lines
5.6 KiB
Lua
local awful = require("awful")
|
|
local gears = require("gears")
|
|
local hotkeys_popup = require("awful.hotkeys_popup")
|
|
local menubar = require("menubar")
|
|
|
|
local M = {}
|
|
|
|
M.globalkeys = gears.table.join(
|
|
awful.key({ modkey }, "s", hotkeys_popup.show_help, { description = "show help", group = "awesome" }),
|
|
|
|
-- Directional focus (vim keys)
|
|
awful.key({ modkey }, "h", function() awful.client.focus.bydirection("left") end, { description = "focus left", group = "client" }),
|
|
awful.key({ modkey }, "j", function() awful.client.focus.bydirection("down") end, { description = "focus down", group = "client" }),
|
|
awful.key({ modkey }, "k", function() awful.client.focus.bydirection("up") end, { description = "focus up", group = "client" }),
|
|
awful.key({ modkey }, "l", function() awful.client.focus.bydirection("right") end, { description = "focus right", group = "client" }),
|
|
|
|
-- Directional move (swap clients in the tiling layout)
|
|
awful.key({ modkey, "Control" }, "h", function() awful.client.swap.bydirection("left") end, { description = "move left", group = "client" }),
|
|
awful.key({ modkey, "Control" }, "j", function() awful.client.swap.bydirection("down") end, { description = "move down", group = "client" }),
|
|
awful.key({ modkey, "Control" }, "k", function() awful.client.swap.bydirection("up") end, { description = "move up", group = "client" }),
|
|
awful.key({ modkey, "Control" }, "l", function() awful.client.swap.bydirection("right") end, { description = "move right", group = "client" }),
|
|
|
|
-- Resize the master/other split
|
|
awful.key({ modkey, "Shift" }, "h", function() awful.tag.incmwfact(-0.05) end, { description = "shrink master", group = "layout" }),
|
|
awful.key({ modkey, "Shift" }, "l", function() awful.tag.incmwfact( 0.05) end, { description = "grow master", group = "layout" }),
|
|
|
|
-- Launching / layout
|
|
awful.key({ modkey }, "Return", function() awful.spawn(terminal) end, { description = "open a terminal", group = "launcher" }),
|
|
awful.key({ modkey }, "e", function() awful.spawn("thunar") end, { description = "Filemanager", group = "system" }),
|
|
awful.key({ modkey }, "w", function() awful.layout.inc(1) end, { description = "next layout", group = "layout" }),
|
|
|
|
|
|
-- screenshooter
|
|
awful.key({ modkey, "Control" }, "p", function() awful.spawn("xfce4-screenshooter") end, { description = "screenshot", group = "system" }),
|
|
|
|
-- Alt tab current workspace windows
|
|
awful.key({ modkey }, "Tab", function() awful.client.focus.byidx(1) end),
|
|
|
|
-- Media keys
|
|
awful.key({ }, "XF86AudioRaiseVolume", function() awful.spawn.easy_async_with_shell([[sh -c 'pactl set-sink-volume "$(pactl get-default-sink)" +2%']]) end, { description = "volume up", group = "media" }),
|
|
awful.key({ }, "XF86AudioLowerVolume", function() awful.spawn.easy_async_with_shell([[sh -c 'pactl set-sink-volume "$(pactl get-default-sink)" -2%']]) end, { description = "volume down", group = "media" }),
|
|
awful.key({ }, "XF86AudioMute", function() awful.spawn.easy_async_with_shell([[sh -c 'pactl set-sink-mute "$(pactl get-default-sink)" toggle']]) end, { description = "toggle mute", group = "media" }),
|
|
|
|
-- rofi menus
|
|
awful.key({ modkey }, "space", function() awful.spawn("/home/jason/.local/bin/runrofi") end, { description = "application launcher", group = "launcher" }),
|
|
awful.key({ modkey }, "`", function() awful.spawn("/home/jason/.local/bin/powermenu") end, { description = "power menu", group = "system" }),
|
|
awful.key({ modkey }, "a", function() awful.spawn("/home/jason/.local/bin/audioswitch") end, { description = "audio output", group = "system" }),
|
|
awful.key({ modkey }, "b", function () awful.spawn("/home/jason/.local/bin/bookmarks") end, {description = "bookmarks", group = "internet"}),
|
|
|
|
-- Awesome control
|
|
awful.key({ modkey, "Control" }, "r", awesome.restart, { description = "reload awesome", group = "awesome" })
|
|
)
|
|
|
|
-- Workspace keys 1..5: Alt+N view, Alt+Shift+N move client to tag
|
|
for i = 1, 5 do
|
|
M.globalkeys = gears.table.join(M.globalkeys,
|
|
awful.key({ modkey }, "#" .. i + 9, function()
|
|
local screen = awful.screen.focused()
|
|
local tag = screen.tags[i]
|
|
if tag then tag:view_only() end
|
|
end, { description = "view tag #" .. i, group = "tag" }),
|
|
|
|
awful.key({ modkey, "Control" }, "#" .. i + 9, function()
|
|
if client.focus then
|
|
local tag = client.focus.screen.tags[i]
|
|
if tag then client.focus:move_to_tag(tag) end
|
|
end
|
|
end, { description = "move focused client to tag #" .. i, group = "tag" })
|
|
)
|
|
end
|
|
|
|
M.clientkeys = gears.table.join(
|
|
awful.key({ modkey }, "q", function(c) c:kill() end, { description = "kill window", group = "client" }),
|
|
awful.key({ modkey }, "f", function(c) c.fullscreen = not c.fullscreen; c:raise() end, { description = "toggle fullscreen", group = "client" }),
|
|
awful.key({ modkey }, "m", function(c) c:swap(awful.client.getmaster()) end, { description = "make master", group = "client" }),
|
|
awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle, { description = "toggle floating", group = "client" })
|
|
)
|
|
|
|
M.clientbuttons = gears.table.join(
|
|
awful.button({ }, 1, function(c) c:emit_signal("request::activate", "mouse_click", { raise = true }) end),
|
|
awful.button({ modkey }, 1, function(c) c:emit_signal("request::activate", "mouse_click", { raise = true }); awful.mouse.client.move(c) end),
|
|
awful.button({ modkey }, 3, function(c) c:emit_signal("request::activate", "mouse_click", { raise = true }); awful.mouse.client.resize(c) end)
|
|
)
|
|
|
|
return M
|