local keys = {} local tag_amount = 5 local mod = 'Mod4' local alt = "Mod1" local ctrl = "Control" local shift = "Shift" keys.tags = tag_amount local utils = require("utils") local bindings = utils.bindings local group = utils.group local keybind = utils.keybind local keybind_grp = utils.keybind_grp local buttonbind = utils.buttonbind local spawn_process = utils.wrap_spawn -- Keybindings awful.keyboard.append_global_keybindings(bindings{ group("awesome", { keybind({mod, ctrl}, 'r', awesome.restart), keybind({mod}, 'd', function() dashboard.toggle() end), }), --Hardware ( Laptop Users ) -- awful.key({}, 'XF86MonBrightnessUp', function() awful.spawn.with_shell('xbacklight +5') end), -- awful.key({}, 'XF86MonBrightnessDown', function() awful.spawn.with_shell('xbacklight -5') end), -- awful.key({}, 'XF86AudioRaiseVolume', function() awful.spawn.with_shell('pactl set-sink-volume @DEFAULT_SINK@ +5%') end), -- awful.key({}, 'XF86AudioLowerVolume', function() awful.spawn.with_shell('pactl set-sink-volume @DEFAULT_SINK@ -4%') end), -- Window management group("window", { keybind({alt}, 'Tab' , function() awful.client.focus.byidx(1) end), keybind({mod}, 'Right', function() awful.tag.incmwfact(0.025) end), keybind({mod}, 'Left' , function() awful.tag.incmwfact(-0.025) end), keybind({mod}, 'Up' , function() awful.client.incwfact(0.05) end), keybind({mod}, 'Down' , function() awful.client.incwfact(-0.05) end), }), -- Applications group("apps", { keybind({mod}, 'Return', spawn_process('kitty')), keybind({alt}, 'space', spawn_process('rofi -show drun')), }), -- Playerctl group("playerctl", { keybind({ctrl, mod}, "Down" , function() require("playerctl"):play_pause() end), keybind({ctrl, mod}, "Right", function() require("playerctl"):next() end), keybind({ctrl, mod}, "Left" , function() require("playerctl"):previous() end) }), -- Screenshots keybind({mod}, 's', function() awful.util.spawn('flameshot gui') end) }) -- Keyboard Control client.connect_signal('request::default_keybindings', function() awful.mouse.append_client_mousebindings(bindings{ keybind({mod}, 'q' , function(c) c:kill() end), keybind({mod}, 'm' , function(c) c.minimized = true end), keybind({mod}, 'space', function(c) c.fullscreen = not c.fullscreen; c:raise() end), keybind({mod}, 'Tab' , function() awful.client.floating.toggle() end) }) end) -- Mouse controls client.connect_signal('request::default_mousebindings', function() awful.mouse.append_client_mousebindings(bindings{ buttonbind({} , 1, function(c) client.focus = c end), buttonbind({mod}, 1, function() awful.mouse.client.move() end), buttonbind({mod}, 2, function(c) c:kill() end), buttonbind({mod}, 3, function() awful.mouse.client.resize() end) }) end) -- Tag controls awful.keyboard.append_global_keybindings(bindings{ keybind_grp({mod}, 'numrow', function(idx) local screen = awful.screen.focused() local tag = screen.tags[idx] if tag then tag:view_only() end end), keybind_grp({mod, shift}, 'numrow', function(idx) if client.focus then local tag = client.focus.screen.tags[idx] if tag then client.focus:move_to_tag(tag) end end end), }) return keys