104 lines
3.4 KiB
Nix
104 lines
3.4 KiB
Nix
let
|
|
common = import ../../common.nix;
|
|
app = common.default;
|
|
in
|
|
{
|
|
# TODO binds to move focused window
|
|
wayland.windowManager.hyprland.settings = {
|
|
"$mainMod" = "SUPER";
|
|
"$shiftMod" = "$mainMod SHIFT";
|
|
"$ctrlMod" = "$mainMod CTRL";
|
|
"$menu" = "rofi -show drun";
|
|
|
|
bind = [
|
|
"$mainMod, Q, exec, ${app.terminal}"
|
|
"$mainMod, C, killactive,"
|
|
"$shiftMod, M, exit,"
|
|
"$mainMod, E, exec, ${app.fileManager}"
|
|
"$mainMod, V, togglefloating,"
|
|
"$mainMod, R, exec, $menu"
|
|
"$mainMod, P, pseudo," # dwindle
|
|
"$mainMod, J, togglesplit," # dwindle
|
|
"$mainMod, B, exec, ${app.browser}"
|
|
"$mainMod, L, exec, ${app.lockScreen}"
|
|
"$mainMod, K, exec, [float] ${app.calculator}"
|
|
"$mainMod, ESCAPE, exec, hyprpanel t dashboardmenu"
|
|
|
|
# Move focus with mainMod + arrow keys
|
|
"$mainMod, left, movefocus, l"
|
|
"$mainMod, right, movefocus, r"
|
|
"$mainMod, up, movefocus, u"
|
|
"$mainMod, down, movefocus, d"
|
|
|
|
# Move window with ctrl + mainMod + arrow keys
|
|
"$ctrlMod, left, movewindow, l"
|
|
"$ctrlMod, right, movewindow, r"
|
|
"$ctrlMod, up, movewindow, u"
|
|
"$ctrlMod, down, movewindow, d"
|
|
|
|
# Switch workspaces with mainMod + [0-9]
|
|
"$mainMod, 1, workspace, 1"
|
|
"$mainMod, 2, workspace, 2"
|
|
"$mainMod, 3, workspace, 3"
|
|
"$mainMod, 4, workspace, 4"
|
|
"$mainMod, 5, workspace, 5"
|
|
"$mainMod, 6, workspace, 6"
|
|
"$mainMod, 7, workspace, 7"
|
|
"$mainMod, 8, workspace, 8"
|
|
"$mainMod, 9, workspace, 9"
|
|
"$mainMod, 0, workspace, 10"
|
|
|
|
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
|
"$shiftMod, 1, movetoworkspace, 1"
|
|
"$shiftMod, 2, movetoworkspace, 2"
|
|
"$shiftMod, 3, movetoworkspace, 3"
|
|
"$shiftMod, 4, movetoworkspace, 4"
|
|
"$shiftMod, 5, movetoworkspace, 5"
|
|
"$shiftMod, 6, movetoworkspace, 6"
|
|
"$shiftMod, 7, movetoworkspace, 7"
|
|
"$shiftMod, 8, movetoworkspace, 8"
|
|
"$shiftMod, 9, movetoworkspace, 9"
|
|
"$shiftMod, 0, movetoworkspace, 10"
|
|
|
|
# Example special workspace (scratchpad)
|
|
"$mainMod, S, togglespecialworkspace, magic"
|
|
"$shiftMod, S, movetoworkspace, special:magic"
|
|
|
|
# Scroll through existing workspaces with mainMod + scroll
|
|
"$mainMod, mouse_down, workspace, e+1"
|
|
"$mainMod, mouse_up, workspace, e-1"
|
|
];
|
|
|
|
binde = [
|
|
# Resize the focused window
|
|
"$shiftMod, right, resizeactive, 20 0"
|
|
"$shiftMod, left, resizeactive, -20 0"
|
|
"$shiftMod, up, resizeactive, 0 -20"
|
|
"$shiftMod, down, resizeactive, 0 20"
|
|
];
|
|
|
|
bindm = [
|
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
|
"$mainMod, mouse:272, movewindow"
|
|
"$mainMod, mouse:273, resizewindow"
|
|
];
|
|
|
|
bindl = [
|
|
", XF86AudioNext, exec, playerctl next"
|
|
", XF86AudioPause, exec, playerctl play-pause"
|
|
", XF86AudioPlay, exec, playerctl play-pause"
|
|
", XF86AudioPrev, exec, playerctl previous"
|
|
];
|
|
|
|
bindel = [
|
|
# Laptop multimedia keys for volume and LCD brightness
|
|
",XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
|
|
",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
|
",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
|
",XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
|
|
",XF86MonBrightnessUp, exec, brightnessctl s 10%+"
|
|
",XF86MonBrightnessDown, exec, brightnessctl s 10%-"
|
|
];
|
|
};
|
|
}
|