dotfiles/.config/hypr/hyprland.conf

201 lines
5.8 KiB
Text

# Hyprland Config
source=~/.config/hypr/conf.d/vars.conf.example # Import examples file first so that the variables have default values
source=~/.config/hypr/conf.d/vars.conf
monitor=,preferred,auto,1
input {
kb_file=
kb_layout=us,us(3l)
kb_variant=
kb_model=
kb_options=grp:ralt_rshift_toggle
kb_rules=
follow_mouse=1
touchpad {
natural_scroll=no
}
sensitivity=0 # -1.0 - 1.0, 0 means no modification.
repeat_rate=50
repeat_delay=250
}
general {
gaps_in=5
gaps_out=10
border_size=2
col.active_border=0x66ee1111
col.inactive_border=0x66333333
layout=dwindle
#apply_sens_to_raw=0 # whether to apply the sensitivity to raw input (e.g. used by games where you aim using your mouse)
#damage_tracking=full # leave it on full unless you hate your GPU and want to make it suffer
}
decoration {
rounding=2
blur {
enabled=true
size=8
}
}
animations {
enabled=1
animation=windows,1,0.5,default
animation=border,1,0.5,default
animation=fade,1,0.5,default
animation=workspaces,1,0.5,default
animation=layers,1,0.5,default
}
dwindle {
pseudotile=0 # enable pseudotiling on dwindle
preserve_split=1
force_split=2
}
gestures {
workspace_swipe=no
}
misc {
enable_swallow=true
swallow_regex=^(alacritty|kitty|footclient)$
disable_hyprland_logo=true
vrr=true
#mouse_move_enables_dpms=true
#key_press_enables_dpms=true
}
# example window rules
# for windows named/classed as abc and xyz
#windowrule=move 69 420,abc
#windowrule=size 420 69,abc
#windowrule=tile,xyz
#windowrule=float,abc
#windowrule=pseudo,abc
#windowrule=monitor 0,xyz
$lockCMD = swaylock -e -F -f -i $lockBG
# ------------------- BINDS ----------------------- #
# some nice mouse binds
bindm=SUPER,mouse:272,movewindow
bindm=SUPER,mouse:273,resizewindow
# Launch programs
bind=SUPER,Return,exec,footclient
bind=SUPERCTRL,Q,exec,hyprctl kill
bind=SUPERSHIFT,c,exec,pkill waybar && waybar -c ~/.config/waybar/hyprland
bind=SUPERSHIFT,r,exec,hyprctl reload
bind=CTRLALT,l,exec,$lockCMD
bind=SUPER,D,exec,wofi --show drun --allow-images -G -i --define=drun-print_command=true | sed -e 's/%[A-Za-z0-9]*/ /g' | xargs hyprctl dispatch exec
bind=,Print,exec,grim -g "$(slurp)" - | swappy -f -
bind=SUPERSHIFT,E,exec,zenity --question --text='Do you wish to exit Hyprland?' --default-cancel && hyprctl dispatch exit
# Window properties
bind=SUPERSHIFT,P,pseudo,
bind=SUPER,P,pin,
bind=SUPER,f,fullscreen,0
bind=SUPER,m,fullscreen,1
bind=SUPER,w,togglegroup
bind=SUPERCTRL,w,moveoutofgroup
#bind=SUPERALT,f,fakefullscreen,1
bind=SUPERSHIFT,Space,togglefloating,
bind=SUPERSHIFT,Q,killactive,
# Volume controls
bindle=,XF86AudioRaiseVolume, exec, wpctl set-volume -l 2.0 @DEFAULT_AUDIO_SINK@ 5%+
bindle=,XF86AudioLowerVolume, exec, wpctl set-volume -l 2.0 @DEFAULT_AUDIO_SINK@ 5%-
bindle=,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
# Brightness
bind=,XF86MonBrightnessUp,exec,brightnessctl s +5%
bind=,XF86MonBrightnessDown,exec,brightnessctl s 5%-
# Media controls
bindle=,XF86AudioPlay, exec, ~/.config/i3/toggleplay.sh
bindle=,XF86AudioNext, exec, playerctl next
bindle=,XF86AudioPrev, exec, playerctl previous
# Notification controls
bind=SUPERALT,Space,exec,makoctl dismiss
bind=SUPERALT,Shift,exec,makoctl dismiss -a
bind=SUPERALT,Tab,exec,makoctl restore
bind=SUPERALT,Period,exec,makoctl menu wofi -dmenu
# Focus
bind=SUPER,left,movefocus,l
bind=SUPER,right,movefocus,r
bind=SUPER,up,movefocus,u
bind=SUPER,down,movefocus,d
# Switch workspaces
bind=SUPER,1,workspace,1
bind=SUPER,2,workspace,2
bind=SUPER,3,workspace,3
bind=SUPER,4,workspace,4
bind=SUPER,5,workspace,5
bind=SUPER,6,workspace,6
bind=SUPER,7,workspace,7
bind=SUPER,8,workspace,8
bind=SUPER,9,workspace,9
bind=SUPER,0,workspace,10
bind=SUPER,mouse_down,workspace,e+1
bind=SUPER,mouse_up,workspace,e-1
# Move window to workspace
bind=SUPERSHIFT,1,movetoworkspace,1
bind=SUPERSHIFT,2,movetoworkspace,2
bind=SUPERSHIFT,3,movetoworkspace,3
bind=SUPERSHIFT,4,movetoworkspace,4
bind=SUPERSHIFT,5,movetoworkspace,5
bind=SUPERSHIFT,6,movetoworkspace,6
bind=SUPERSHIFT,7,movetoworkspace,7
bind=SUPERSHIFT,8,movetoworkspace,8
bind=SUPERSHIFT,9,movetoworkspace,9
bind=SUPERSHIFT,0,movetoworkspace,10
# Move window in workspace
bind=SUPERSHIFT,Left,movewindow,l
bind=SUPERSHIFT,Right,movewindow,r
bind=SUPERSHIFT,Up,movewindow,u
bind=SUPERSHIFT,Down,movewindow,d
# Move workspace to monitor
bind=SUPERCTRL,Left,movecurrentworkspacetomonitor,l
bind=SUPERCTRL,Right,movecurrentworkspacetomonitor,r
bind=SUPERCTRL,Up,movecurrentworkspacetomonitor,u
bind=SUPERCTRL,Down,movecurrentworkspacetomonitor,d
# Move window into group
bind=SUPERALT,Left,moveintogroup,l
bind=SUPERALT,Right,moveintogroup,r
bind=SUPERALT,Up,moveintogroup,u
bind=SUPERALT,Down,moveintogroup,d
# ----------------------- STARTUP -------------------- #
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = foot -s
exec-once = mako
exec-once = kanshi
exec-once = waybar -c ~/.config/waybar/hyprland
exec-once = wl-paste --type text --watch cliphist store #Stores only text data
exec-once = wl-paste --type image --watch cliphist store #Stores only image data
exec-once = lxqt-policykit-agent
exec-once = hyprpaper
exec-once = swayidle -w timeout $idleLockTime '$lockCMD' timeout $idleScreenTime 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' timeout $idleScreenTimeLocked "/bin/bash -c 'pgrep -x swaylock && hyprctl dispatch dpms off'" resume 'hyprctl dispatch dpms on' timeout $suspendTime '$suspendCMD' resume 'hyprctl dispatch dpms on' before-sleep "/bin/bash -c '$lockCMD && playerctl -a pause'"
exec = import-gsettings
source = ~/.config/hypr/conf.d/override.conf