local gears = require("gears") local awful = require("awful") -- local hotkeys_popup = require("awful.hotkeys_popup") require "config" globalkeys = gears.table.join( -- awful.key( -- {modkey}, -- "s", -- hotkeys_popup.show_help, -- {description = "show help", group = "awesome"} -- ), awful.key( {modkey, "Control"}, "r", awesome.restart, {description = "reload awesome", group = "awesome"} ), awful.key( {modkey, "Control"}, "e", function() awful.spawn("/home/nick/.config/rofi/launchers/text/powermenu.sh", false) end, {description = "quit awesome", group = "awesome"} ), awful.key( {modkey}, "j", function() awful.client.focus.byidx(1) end, {description = "focus next by index", group = "client"} ), awful.key( {modkey}, "h", function() awful.client.focus.byidx(-1) end, {description = "focus previous by index", group = "client"} ), awful.key( {modkey}, "u", awful.client.urgent.jumpto, {description = "jump to urgent client", group = "client"} ), awful.key( {modkey}, "Tab", function() awful.client.focus.history.previous() if client.focus then client.focus:raise() end end, {description = "go back", group = "client"} ), awful.key( {modkey, "Control"}, "n", function() local c = awful.client.restore() -- Focus restored client if c then c:emit_signal("request::activate", "key.unminimize", {raise = true}) end end, {description = "restore minimized", group = "client"} ), awful.key( {}, "XF86MonBrightnessUp", function() awful.spawn("brightness-up", false) end, {description = "brightness +5%", group = "hotkeys"} ), awful.key( {}, "XF86MonBrightnessDown", function() awful.spawn("brightness-down", false) end, {description = "brightness -5%", group = "hotkeys"} ), awful.key( {}, "XF86AudioRaiseVolume", function() awful.spawn("pactl set-sink-volume @DEFAULT_SINK@ +2%", false) end, {description = "volume +2%", group = "hotkeys"} ), awful.key( {}, "XF86AudioLowerVolume", function() awful.spawn("pactl set-sink-volume @DEFAULT_SINK@ -2%", false) end, {description = "volume -2%", group = "hotkeys"} ), awful.key( {}, "XF86AudioMute", function() awful.spawn("amixer set Master toggle", false) end, {description = "volume toggle", group = "hotkeys"} ), awful.key( {}, "XF86AudioPlay", function() awful.spawn("playerctl play-pause", false) end, {description = "media toggle", group = "hotkeys"} ), awful.key( {}, "XF86AudioStop", function() awful.spawn("playerctl stop", false) end, {description = "media stop", group = "hotkeys"} ), awful.key( {}, "XF86AudioNext", function() awful.spawn("playerctl next", false) end, {description = "media next", group = "hotkeys"} ), awful.key( {}, "XF86AudioPrev", function() awful.spawn("playerctl previous", false) end, {description = "media previous", group = "hotkeys"} ), awful.key( {}, "Print", function () awful.spawn("scrot '/home/nick/Pictures/screenshots/%Y-%m-%d-%H%M%S.png' -e 'xclip -selection clipboard -t image/png -i $f'", false) end, {description = "screenshot", group = "hotkeys"} ), awful.key( {"Shift"}, "Print", function () awful.spawn("scrot '/home/nick/Pictures/screenshots/%Y-%m-%d-%H%M%S.png' -s -f -e 'xclip -selection clipboard -t image/png -i $f'", false) end, {description = "screenshot with selection", group = "hotkeys"} ), awful.key( {}, "XF86Calculator", function() awful.spawn("qalculate-gtk", false) end, {description = "calculator", group = "hotkeys"} ), awful.key( {modkey, "Control"}, "p", function() awful.spawn.with_shell("power-saving-mode", false) end, {description = "toggle power saving mode", group = "hotkeys"} ), awful.key( {modkey, "Control"}, "t", function() awful.spawn("/home/nick/.config/awesome/scripts/switch-theme.sh", false) end, {description = "switch theme", group = "hotkeys"} ), awful.key( {modkey}, "Return", function() awful.spawn(terminal) end, {description = "open a terminal", group = "launcher"} ), awful.key( {modkey}, "r", function() awful.spawn("/home/nick/.config/rofi/launchers/text/launcher.sh") end, {description = "run prompt", group = "launcher"} ), awful.key( {modkey}, "l", function() awful.tag.incmwfact(0.05) end, {description = "increase master width factor", group = "layout"} ), awful.key( {modkey}, "k", function() awful.tag.incmwfact(-0.05) end, {description = "decrease master width factor", group = "layout"} ), awful.key( {modkey, "Shift"}, "h", function() awful.tag.incnmaster(1, nil, true) end, {description = "increase the number of master clients", group = "layout"} ), awful.key( {modkey, "Shift"}, "l", function() awful.tag.incnmaster(-1, nil, true) end, {description = "decrease the number of master clients", group = "layout"} ), awful.key( {modkey, "Control"}, "h", function() awful.tag.incncol(1, nil, true) end, {description = "increase the number of columns", group = "layout"} ), awful.key( {modkey, "Control"}, "l", function() awful.tag.incncol(-1, nil, true) end, {description = "decrease the number of columns", group = "layout"} ), awful.key( {modkey}, "space", function() awful.layout.inc(1) end, {description = "select next", group = "layout"} ), awful.key( {modkey, "Shift"}, "space", function() awful.layout.inc(-1) end, {description = "select previous", group = "layout"} ), awful.key( {modkey, "Control"}, "j", function() awful.screen.focus_relative(1) end, {description = "focus the next screen", group = "screen"} ), awful.key( {modkey, "Control"}, "k", function() awful.screen.focus_relative(-1) end, {description = "focus the previous screen", group = "screen"} ), awful.key( {modkey}, "Left", awful.tag.viewprev, {description = "view previous", group = "tag"} ), awful.key( {modkey}, "Right", awful.tag.viewnext, {description = "view next", group = "tag"} ), awful.key( {modkey}, "Escape", awful.tag.history.restore, {description = "go back", group = "tag"} ), awful.key( {modkey, "Shift"}, ";", function() awful.spawn("/usr/bin/emoji-picker") end, {description = "emoji picker", group = "launcher"} ), awful.key( {modkey, "Control"}, "w", function() toggle_window_buffers(awful.screen.focused()) end, {description = "set workarea height to 200", group = "screen"} ) ) for i = 1, 9 do globalkeys = gears.table.join( globalkeys, -- View tag only. 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"} ), -- Toggle tag display. awful.key( {modkey, "Control"}, "#" .. i + 9, function() local screen = awful.screen.focused() local tag = screen.tags[i] if tag then awful.tag.viewtoggle(tag) end end, {description = "toggle tag #" .. i, group = "tag"} ), -- Move client to tag. awful.key( {modkey, "Shift"}, "#" .. 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"} ), -- Toggle tag on focused client. awful.key( {modkey, "Control", "Shift"}, "#" .. i + 9, function() if client.focus then local tag = client.focus.screen.tags[i] if tag then client.focus:toggle_tag(tag) end end end, {description = "toggle focused client on tag #" .. i, group = "tag"} ) ) end root.keys(globalkeys)