env = WLR_NO_HARDWARE_CURSORS,1 env = TERMINAL,alacritty $scripts = /home/user/.config/scripts $mainMod = SUPER monitor=DP-2,preferred,0x550,1 monitor=DP-3,preferred,1920x0,1 monitor=HDMI-A-1,preferred,5760x550,1 exec-once=hyprpaper exec-once=wl-paste --type text --watch cliphist store exec-once=wl-paste --type image --watch cliphist store exec-once=/usr/lib/mate-polkit/polkit-mate-authentication-agent-1 exec-once=/usr/lib/kdeconnectd exec-once=waybar # windowrulev2 = tile, class:.* windowrulev2 = float, title:^(rofi)(.*)$ windowrulev2 = center, title:^(rofi)(.*)$ windowrulev2 = noborder, title:^(rofi)(.*)$ windowrulev2 = stayfocused, title:^()$,class:^(steam)$ windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$ windowrulev2 = stayfocused, title:^()$,class:^(steam)$ windowrule = noanim,waybar binds { scroll_event_delay=1 } input { kb_layout = us follow_mouse = 1 kb_options = compose:rctrl, caps:super, altwin:swap_alt_win numlock_by_default = true } general { gaps_in = 1 gaps_out = 5 border_size = 2 col.active_border = rgba(002f5fee) col.inactive_border = rgba(ffffff00) layout = dwindle } xwayland { force_zero_scaling = true } misc { disable_hyprland_logo = 1 } decoration { rounding = 1 blur { enabled = false } } animations { enabled = yes # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more bezier = myBezier, 0.05, 0.9, 0.1, 1.05 animation = windows, 1, 2, myBezier animation = windowsOut, 1, 2, default, popin 80% animation = border, 1, 2, default animation = borderangle, 1, 2, default animation = fade, 1, 2, default animation = workspaces, 1, 1, default } dwindle { preserve_split = yes no_gaps_when_only = 1 force_split = 2 } gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more workspace_swipe = on workspace_swipe_invert = false } bindr = $mainMod, SUPER_L, exec, pkill rofi || rofi -show drun bindr = $mainMod, SUPER_R, exec, pkill rofi || rofi -show drun bind = $mainMod, return, exec, $scripts/launch_alacritty.sh $(hyprctl activewindow -j | jq .pid) bind = $mainMod SHIFT, return, exec, alacritty bind = $mainMod, Q, killactive, bind = $mainMod, A, exec, nautilus bind = $mainMod, S, exec, gnome-calendar bind = $mainMod, B, exec, MOZ_ENABLE_WAYLAND=1 firefox bind = $mainMod, M, fullscreen, 1 bind = $mainMod, F11, fullscreen bind = $mainMod, F, togglefloating, bind = $mainMod, SPACE, togglesplit, # dwindle bind = CONTROL_L ALT_L, L, exec, swaylock bind = $mainMod, C, exec, cliphist list | awk '{print $0, "\0icon\x1fcom.github.davidmhewitt.clipped"}' | rofi -dmenu -display-columns 2 | cliphist decode | wl-copy bind = $mainMod, Y, exec, /home/user/.config/rofi/rofi-ykman.sh bind = $mainMod, N, exec, /home/user/.config/rofi/rofi-ssh.sh bind = $mainMod, Escape, exec, rofi -show power-menu -modi power-menu:$scripts/rofi-power-menu bind = ,XF86MonBrightnessUp, exec, xbacklight -inc 10 bind = ,XF86MonBrightnessDown, exec, xbacklight -dec 10 bind = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 10%+ --limit 1.0 bind = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 10%- bind = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle bind = ,mouse_right, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%+ --limit 1.0 bind = ,mouse_left, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%- bind = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle bind = ,XF86AudioNext, exec, playerctl next bind = ,XF86AudioPrev, exec, playerctl previous bind = $mainMod,XF86AudioMute, exec, playerctl play-pause bind = $mainMod,XF86AudioRaiseVolume, exec, playerctl next bind = $mainMod,XF86AudioLowerVolume, exec, playerctl previous bind = , Print, exec, grim -g "$(slurp -d)" - | wl-copy # Move focus with mainMod + arrow keys bind = $mainMod, H, exec, $scripts/vim-hypr-nav.sh l bind = $mainMod, L, exec, $scripts/vim-hypr-nav.sh r bind = $mainMod, K, exec, $scripts/vim-hypr-nav.sh u bind = $mainMod, J, exec, $scripts/vim-hypr-nav.sh d bind = $mainMod CONTROL_L, H, swapwindow, l bind = $mainMod CONTROL_L, L, swapwindow, r bind = $mainMod CONTROL_L, K, swapwindow, u bind = $mainMod CONTROL_L, J, swapwindow, d bind = $mainMod SHIFT, H, movewindow, l bind = $mainMod SHIFT, L, movewindow, r bind = $mainMod SHIFT, K, movewindow, u bind = $mainMod SHIFT, J, movewindow, d binde = $mainMod ALT, L, resizeactive, 20 0 binde = $mainMod ALT, H, resizeactive, -20 0 binde = $mainMod ALT, K, resizeactive, 0 -20 binde = $mainMod ALT, J, resizeactive, 0 20 bind = $mainMod, 1, split-workspace, 1 bind = $mainMod, 2, split-workspace, 2 bind = $mainMod, 3, split-workspace, 3 bind = $mainMod, 4, split-workspace, 4 bind = $mainMod, 5, split-workspace, 5 bind = $mainMod, 6, split-workspace, 6 bind = $mainMod, 7, split-workspace, 7 bind = $mainMod, 8, split-workspace, 8 bind = $mainMod, 9, split-workspace, 9 bind = $mainMod SHIFT, 1, split-movetoworkspace, 1 bind = $mainMod SHIFT, 2, split-movetoworkspace, 2 bind = $mainMod SHIFT, 3, split-movetoworkspace, 3 bind = $mainMod SHIFT, 4, split-movetoworkspace, 4 bind = $mainMod SHIFT, 5, split-movetoworkspace, 5 bind = $mainMod SHIFT, 6, split-movetoworkspace, 6 bind = $mainMod SHIFT, 7, split-movetoworkspace, 7 bind = $mainMod SHIFT, 8, split-movetoworkspace, 8 bind = $mainMod SHIFT, 9, split-movetoworkspace, 9 bind = $mainMod SHIFT, T, split-movetoworkspace, empty bind = $mainMod, T, split-workspace, empty # Scroll through existing workspaces with mainMod + scroll bind = $mainMod, TAB, split-workspace, m+1 bind = $mainMod SHIFT, TAB, split-workspace, m-1 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow