# 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 } group { drag_into_group=1 col.border_active=0x66ee1111 col.border_inactive=0x66333333 groupbar { col.active=0xAAee1111 col.inactive=0xAA333333 } } # 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