dotfiles/hypr/hyprland.conf

207 lines
6.7 KiB
Plaintext

env = WLR_DRM_DEVICES,/dev/dri/card0:/dev/dri/card1
env = WLR_NO_HARDWARE_CURSORS,1
env = GTK_THEME, Adwaita
$scripts = /home/user/.config/scripts
exec-once=hyprpaper
monitor=DP-2,preferred,0x550,1
monitor=DP-1,preferred,1920x0,1,bitdepth,10
monitor=HDMI-A-1,preferred,5760x550,1
exec-once=wl-paste --type text --watch cliphist store
exec-once=wl-paste --type image --watch cliphist store
exec-once=sleep 2 && hyprctl dispatch workspace 11
workspace=DP-1,11
workspace=DP-2,21
workspace=HDMI-A-1,1
workspace=1,monitor:HDMI-A-1, default:true
workspace=2,monitor:HDMI-A-1
workspace=3,monitor:HDMI-A-1
workspace=4,monitor:HDMI-A-1
workspace=5,monitor:HDMI-A-1
workspace=6,monitor:HDMI-A-1
workspace=7,monitor:HDMI-A-1
workspace=8,monitor:HDMI-A-1
workspace=9,monitor:HDMI-A-1
workspace=11,monitor:DP-1, default:true
workspace=12,monitor:DP-1
workspace=13,monitor:DP-1
workspace=14,monitor:DP-1
workspace=15,monitor:DP-1
workspace=16,monitor:DP-1
workspace=17,monitor:DP-1
workspace=18,monitor:DP-1
workspace=19,monitor:DP-1
workspace=21,monitor:DP-2, default:true
workspace=22,monitor:DP-2
workspace=23,monitor:DP-2
workspace=24,monitor:DP-2
workspace=25,monitor:DP-2
workspace=26,monitor:DP-2
workspace=27,monitor:DP-2
workspace=28,monitor:DP-2
workspace=29,monitor:DP-2
windowrule = float,title:^(rofi)(.*)$
windowrule = center,title:^(rofi)(.*)$
windowrule = noborder,title:^(rofi)(.*)$
windowrulev2 = stayfocused, title:^()$,class:^(steam)$
windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$
windowrule = noanim,waybar
windowrulev2 = stayfocused, title:^()$,class:^(steam)$
windowrulev2 = tile, class:.*
exec-once=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
}
$mainMod = SUPER
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bindr = $mainMod, SUPER_L, exec, $scripts/toggle_rofi.sh
bindr = $mainMod, SUPER_R, exec, $scripts/toggle_rofi.sh
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, 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 = Super_L Control_L, Q, exec, systemctl suspend
bind = $mainMod, Escape, exec, rofi -show power-menu -modi power-menu:$scripts/rofi-power-menu
bind = ,XF86PowerOff, 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
bind = $mainMod ALT, L, resizeactive, 20 0
bind = $mainMod ALT, H, resizeactive, -20 0
bind = $mainMod ALT, K, resizeactive, 0 -20
bind = $mainMod ALT, J, resizeactive, 0 20
bind = $mainMod, 1, exec, hyprsome workspace 1
bind = $mainMod, 2, exec, hyprsome workspace 2
bind = $mainMod, 3, exec, hyprsome workspace 3
bind = $mainMod, 4, exec, hyprsome workspace 4
bind = $mainMod, 5, exec, hyprsome workspace 5
bind = $mainMod, 6, exec, hyprsome workspace 6
bind = $mainMod, 7, exec, hyprsome workspace 7
bind = $mainMod, 8, exec, hyprsome workspace 8
bind = $mainMod, 9, exec, hyprsome workspace 9
bind = $mainMod SHIFT, 1, exec, hyprsome movefocus 1
bind = $mainMod SHIFT, 2, exec, hyprsome movefocus 2
bind = $mainMod SHIFT, 3, exec, hyprsome movefocus 3
bind = $mainMod SHIFT, 4, exec, hyprsome movefocus 4
bind = $mainMod SHIFT, 5, exec, hyprsome movefocus 5
bind = $mainMod SHIFT, 6, exec, hyprsome movefocus 6
bind = $mainMod SHIFT, 7, exec, hyprsome movefocus 7
bind = $mainMod SHIFT, 8, exec, hyprsome movefocus 8
bind = $mainMod SHIFT, 9, exec, hyprsome movefocus 9
bind = $mainMod SHIFT, T, exec, hyprsome move-empty
bind = $mainMod, T, exec, hyprsome focus-empty
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, TAB, workspace, m+1
bind = $mainMod SHIFT, TAB, workspace, m-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow