hl.define_submap('disableOtherKeyBinds', function () hl.bind('SUPER + ESCAPE', hl.dsp.submap('reset')) end) hl.bind('SUPER + F', hl.dsp.submap('disableOtherKeyBinds')) -- Application Binds hl.bind('ALT + T', hl.dsp.exec_cmd('kitty')) hl.bind('ALT + E', hl.dsp.exec_cmd('nautilus')) hl.bind('ALT + F', hl.dsp.exec_cmd('librewolf')) hl.bind('ALT + V', hl.dsp.exec_cmd('code')) hl.bind('ALT + Z', hl.dsp.exec_cmd('zeditor')) hl.bind('ALT + M', hl.dsp.exec_cmd('prismlauncher')) hl.bind('ALT + D', hl.dsp.exec_cmd('discord')) hl.bind('ALT + W', hl.dsp.exec_cmd('flatpak run com.rtosta.zapzap')) hl.bind('SUPER + SUPER_L', hl.dsp.exec_cmd('rofi -show drun -sort -matching fuzzy')) hl.bind('SUPER + N', hl.dsp.exec_cmd('swaync-client -t -sw')) -- Fullscreen hl.bind('F11', hl.dsp.window.fullscreen({ mode = 'fullscreen', action = 'toggle' })) hl.bind('SUPER + F11', hl.dsp.window.fullscreen({ mode = 'maximized', action = 'toggle' })) -- Hyprlock hl.bind('SUPER + CTRL + L', hl.dsp.exec_cmd('~/dotfiles/scripts/currentWallpaperHyprlock.sh')) -- Waybar hl.bind('SUPER + R', hl.dsp.exec_cmd('~/dotfiles/scripts/reloadwaybar')) hl.bind('SUPER + CTRL + R', hl.dsp.exec_cmd('killall waybar')) -- Screenshots hl.bind('PRINT', hl.dsp.exec_cmd('grim -g "$(slurp)" - | wl-copy')) hl.bind('SUPER + PRINT', hl.dsp.exec_cmd('grim - | wl-copy')) hl.bind('CTRL + PRINT', hl.dsp.exec_cmd('grim -g "$(slurp)"')) hl.bind('CTRL + SUPER + PRINT', hl.dsp.exec_cmd('grim')) -- Clipboard hl.bind('SUPER + SHIFT + V', hl.dsp.exec_cmd('kitty --class clipse -e clipse')) -- Password Manager hl.bind('SUPER + SHIFT + P', hl.dsp.exec_cmd('rofi-rbw')) -- Color Picker hl.bind('ALT + P', hl.dsp.exec_cmd('hyprpicker --format=hex -a')) -- Audio Controls hl.bind('XF86AudioRaiseVolume', hl.dsp.exec_cmd('wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+'), { repeating = true, locked = true }) hl.bind('XF86AudioLowerVolume', hl.dsp.exec_cmd('wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-'), { repeating = true, locked = true }) hl.bind('XF86AudioMute', hl.dsp.exec_cmd('wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle'), { repeating = true, locked = true }) -- Brightness Controls hl.bind('XF86MonBrightnessUp', hl.dsp.exec_cmd('brightnessctl s 1%+ && echo true > /home/rafayahmad/dotfiles/.config/eww/brightnessShow'), { repeating = true, locked = true }) hl.bind('XF86MonBrightnessDown', hl.dsp.exec_cmd('brightnessctl s 1%- && echo true > /home/rafayahmad/dotfiles/.config/eww/brightnessShow'), { repeating = true, locked = true }) -- Window movement hl.bind('SUPER + V', hl.dsp.window.float({ action = 'toggle' })) hl.bind('SUPER + H', hl.dsp.layout('togglesplit')) hl.bind('SUPER + C', hl.dsp.window.center()) hl.bind('CTRL + Q', hl.dsp.window.close()) hl.bind('ALT + TAB', hl.dsp.window.cycle_next()) hl.bind('SUPER + TAB', hl.dsp.window.swap({ next = true })) -- Resize windows hl.bind('ALT + L', hl.dsp.window.resize({ x = 50, y = 0, relative = true }), { repeating = true }) hl.bind('ALT + J', hl.dsp.window.resize({ x = -50, y = 0, relative = true }), { repeating = true }) hl.bind('ALT + I', hl.dsp.window.resize({ x = 0, y = 50, relative = true }), { repeating = true }) hl.bind('ALT + K', hl.dsp.window.resize({ x = 0, y = -50, relative = true }), { repeating = true }) -- Move focus hl.bind('CTRL + ALT + L', hl.dsp.focus({ direction = 'right' })) hl.bind('CTRL + ALT + J', hl.dsp.focus({ direction = 'left' })) hl.bind('CTRL + ALT + I', hl.dsp.focus({ direction = 'up' })) hl.bind('CTRL + ALT + K', hl.dsp.focus({ direction = 'down' })) -- Move windows in tile hl.bind('SUPER + L', hl.dsp.window.move({ direction = 'right' })) hl.bind('SUPER + J', hl.dsp.window.move({ direction = 'left' })) hl.bind('SUPER + I', hl.dsp.window.move({ direction = 'up' })) hl.bind('SUPER + K', hl.dsp.window.move({ direction = 'down' })) -- Switch workspaces with mainMod + [0-9] hl.bind('SUPER + 1', hl.dsp.focus({ workspace = 1 })) hl.bind('SUPER + 2', hl.dsp.focus({ workspace = 2 })) hl.bind('SUPER + 3', hl.dsp.focus({ workspace = 3 })) hl.bind('SUPER + Q', hl.dsp.focus({ workspace = 4 })) hl.bind('SUPER + W', hl.dsp.focus({ workspace = 5 })) hl.bind('SUPER + E', hl.dsp.focus({ workspace = 6 })) hl.bind('SUPER + A', hl.dsp.focus({ workspace = 7 })) hl.bind('SUPER + S', hl.dsp.focus({ workspace = 8 })) hl.bind('SUPER + D', hl.dsp.focus({ workspace = 9 })) hl.bind('SUPER + 0', hl.dsp.focus({ workspace = 10 })) hl.bind('ALT + 1', hl.dsp.workspace.toggle_special('fluffychat')) hl.bind('ALT + 2', hl.dsp.workspace.toggle_special('thunderbird')) -- Move active window to a workspace and switch with mainMod + SHIFT + [0-9] hl.bind('SUPER + SHIFT + 1', hl.dsp.window.move({ workspace = 1 })) hl.bind('SUPER + SHIFT + 2', hl.dsp.window.move({ workspace = 2 })) hl.bind('SUPER + SHIFT + 3', hl.dsp.window.move({ workspace = 3 })) hl.bind('SUPER + SHIFT + Q', hl.dsp.window.move({ workspace = 4 })) hl.bind('SUPER + SHIFT + W', hl.dsp.window.move({ workspace = 5 })) hl.bind('SUPER + SHIFT + E', hl.dsp.window.move({ workspace = 6 })) hl.bind('SUPER + SHIFT + A', hl.dsp.window.move({ workspace = 7 })) hl.bind('SUPER + SHIFT + S', hl.dsp.window.move({ workspace = 8 })) hl.bind('SUPER + SHIFT + D', hl.dsp.window.move({ workspace = 9 })) hl.bind('SUPER + SHIFT + 0', hl.dsp.window.move({ workspace = 10 })) hl.bind('ALT + SHIFT + 1', hl.dsp.window.move({ workspace = 'special:fluffychat' })) hl.bind('ALT + SHIFT + 2', hl.dsp.window.move({ workspace = 'special:thunderbird' })) -- Move active window to a workspace with mainMod + SHIFT + [0-9] hl.bind('SUPER + CTRL + 1', hl.dsp.window.move({ workspace = 1, follow = false })) hl.bind('SUPER + CTRL + 2', hl.dsp.window.move({ workspace = 2, follow = false })) hl.bind('SUPER + CTRL + 3', hl.dsp.window.move({ workspace = 3, follow = false })) hl.bind('SUPER + CTRL + Q', hl.dsp.window.move({ workspace = 4, follow = false })) hl.bind('SUPER + CTRL + W', hl.dsp.window.move({ workspace = 5, follow = false })) hl.bind('SUPER + CTRL + E', hl.dsp.window.move({ workspace = 6, follow = false })) hl.bind('SUPER + CTRL + A', hl.dsp.window.move({ workspace = 7, follow = false })) hl.bind('SUPER + CTRL + S', hl.dsp.window.move({ workspace = 8, follow = false })) hl.bind('SUPER + CTRL + D', hl.dsp.window.move({ workspace = 9, follow = false })) hl.bind('SUPER + CTRL + 0', hl.dsp.window.move({ workspace = 10, follow = false })) hl.bind('ALT + CTRL + 1', hl.dsp.window.move({ workspace = 'special:fluffychat', follow = false })) hl.bind('ALT + CTRL + 2', hl.dsp.window.move({ workspace = 'special:thunderbird', follow = false })) -- Scroll through existing workspaces with mainMod + scroll hl.bind('SUPER + mouse_down', hl.dsp.focus({ workspace = 'e-1' })) hl.bind('SUPER + mouse_up', hl.dsp.focus({ workspace = 'e+1' })) -- Move/resize windows with mainMod + LMB/RMB and dragging hl.bind('SUPER + mouse:272', hl.dsp.window.drag(), { mouse = true }) hl.bind('ALT + mouse:272', hl.dsp.window.resize(), { mouse = true }) -- Shutdown/Reboot hl.bind('SUPER + M', hl.dsp.exit()) hl.bind('CTRL + ALT + Z', hl.dsp.exec_cmd('reboot')) hl.bind('CTRL + ALT + X', hl.dsp.exec_cmd('shutdown now'))