local gears = require("gears") local awful = require("awful") local hotkeys_popup = require("awful.hotkeys_popup") require "bindings.mod" require "config.apps" 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("amixer set Master 2%+", false) end, {description = "volume +2%", group = "hotkeys"} ), awful.key( {}, "XF86AudioLowerVolume", function() awful.spawn("amixer set Master 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"} ) ) 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)