# See https://wiki.hyprland.org/Configuring/Monitors/ #{{{ Monitor config monitor = , preferred, auto, 1 monitor = HDMI-A-1, 1920x1080@75, 0x0, 1 monitor = DP-1, 1920x1080@60, 1920x0, 1 #}}} # See https://wiki.hyprland.org/Configuring/Keywords/ for more #{{{ Autostart # Execute your favorite apps at launch # exec-once = waybar & hyprpaper & firefox exec-once = ~/.config/autostart.sh exec-once = /usr/lib/polkit-kde-authentication-agent-1 #}}} # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf #{{{ Input options # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { kb_layout = us kb_variant = kb_model = kb_options = caps:escape kb_rules = numlock_by_default = true scroll_method = "2fg" follow_mouse = 1 touchpad { natural_scroll = no } float_switch_override_focus = 0 sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } #}}} #{{{ General options general { # See https://wiki.hyprland.org/Configuring/Variables/ for more gaps_in = 5 gaps_out = 20 border_size = 2 #col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg #col.inactive_border = rgba(595959aa) col.active_border = rgba(198844ee) col.inactive_border = rgba(1b1d1cee) layout = master no_cursor_warps = false } #}}} #{{{ Misc options misc { enable_swallow = true swallow_regex = ^(kitty)$ vfr = false } #}}} #{{{ Decoration options decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more rounding = 10 drop_shadow = yes shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) #{{{ Blur options blur { enabled = true size = 3 passes = 1 new_optimizations = true xray = true } #}}} } #}}} #{{{ Animations options animations { enabled = no # 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, 7, myBezier animation = windowsOut, 1, 7, default, popin 80% animation = border, 1, 10, default animation = borderangle, 1, 8, default animation = fade, 1, 7, default animation = workspaces, 1, 6, default } #}}} #{{{ Dwindle layout options dwindle { # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = yes # you probably want this special_scale_factor = 0.55 } #}}} #{{{ Master layout options master { special_scale_factor = 0.55 mfact = 0.55 # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more new_is_master = false new_on_top = true no_gaps_when_only = true orientation = left inherit_fullscreen = true } #}}} #{{{ Gestures options gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more workspace_swipe = off } #}}} #{{{ Device options # Example per-device config # See https://wiki.hyprland.org/Configuring/Keywords/#executing for more device:epic mouse V1 { sensitivity = -0.5 } #}}} #{{{ Windowrules # Example windowrule v1 # windowrule = float, ^(kitty)$ # Example windowrule v2 # windowrulev2 = float, class:^(kitty)$, title:^(kitty)$ # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more windowrule = windowdance, title:^(Rhythm Doctor)$ windowrule = fullscreen, ^(Xephyr)$ windowrule = float, title:^(LibreWolf - Choose User Profile)$ windowrulev2 = float, class:^(yabridge-host.exe.so)$, title:^(menu)$ windowrulev2 = float,floating:0,title:^(menu*) windowrulev2 = forceinput,title:^(menu*) windowrulev2 = windowdance,title:^(menu*) #}}} #{{{ Mods # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = ALT $secdMod = SUPER #}}} #{{{ Layout toggle bind # Layout toggle #bind = $mainMod $secdMod, A, exec, hypr-layout -t #}}} #{{{ Master layout binds # Master layout binds bind = $mainMod+SHIFT, Return, layoutmsg, swapwithmaster master #MASTER bind = $mainMod+SHIFT, J, layoutmsg, swapnext #MASTER bind = $mainMod+SHIFT, K, layoutmsg, swapprev #MASTER bind = $mainMod+SHIFT, H, layoutmsg, addmaster #MASTER bind = $mainMod+SHIFT, L, layoutmsg, removemaster #MASTER binde = $mainMod, J, layoutmsg, cyclenext #MASTER binde = $mainMod, K, layoutmsg, cycleprev #MASTER binde = $mainMod, H, splitratio, -0.01 #MASTER binde = $mainMod, L, splitratio, +0.01 #MASTER bind = $mainMod+SHIFT, O, splitratio, exact 0.55 #MASTER bind = $mainMod, O, splitratio, exact 0.69 #MASTER #}}} #{{{ Dwindle layout binds ## Dwindle layout binds #bind = $mainMod, P, pseudo, #DWINDLE #bind = $mainMod $secdMod, S, togglesplit, #DWINDLE ## Move focus with mainMod + HJKL #bind = $mainMod, H, movefocus, l #DWINDLE #bind = $mainMod, L, movefocus, r #DWINDLE #bind = $mainMod, K, movefocus, u #DWINDLE #bind = $mainMod, J, movefocus, d #DWINDLE ## Move window with mainMod + HJKL #bind = $mainMod SHIFT, L, movewindow, r #DWINDLE #bind = $mainMod SHIFT, H, movewindow, l #DWINDLE #bind = $mainMod SHIFT, J, movewindow, d #DWINDLE #bind = $mainMod SHIFT, K, movewindow, u #DWINDLE ## Resize clients with mainMod + secdMod + HJKL #binde = $mainMod $secdMod, L, resizeactive, 10 0 #DWINDLE #binde = $mainMod $secdMod, H, resizeactive, -10 0 #DWINDLE #binde = $mainMod $secdMod, K, resizeactive, 0 -10 #DWINDLE #binde = $mainMod $secdMod, J, resizeactive, 0 10 #DWINDLE #}}} #{{{ Group binds # Group binds #bind = $mainMod CONTROL, G, togglegroup, #bind = $mainMod CONTROL, I, lockgroups, lock #bind = $mainMod CONTROL, U, lockgroups, unlock #bind = $mainMod CONTROL, H, moveintogroup, r #bind = $mainMod CONTROL, L, moveintogroup, l #bind = $mainMod CONTROL, J, moveintogroup, d #bind = $mainMod CONTROL, K, moveintogroup, u #}}} #{{{ WC binds bind = $mainMod SHIFT, Q, killactive, bind = $mainMod SHIFT, E, exit, bind = $mainMod SHIFT, SPACE, togglefloating, bind = $mainMod $secdMod, F2, exec, ~/.config/hypr/gamemode.sh bind = $mainMod, F, fullscreen, 0 bind = $mainMod, M, fullscreen, 1 #}}} #{{{ Workspace binds # Switch workspaces with mainMod + [0-9] bind = $mainMod, 1, workspace, 1 bind = $mainMod, 2, workspace, 2 bind = $mainMod, 3, workspace, 3 bind = $mainMod, 4, workspace, 4 bind = $mainMod, 5, workspace, 5 bind = $mainMod, 6, workspace, 6 bind = $mainMod, 7, workspace, 7 bind = $mainMod, 8, workspace, 8 bind = $mainMod, 9, workspace, 9 # Move active window to a workspace with mainMod + SHIFT + [0-9] bind = $mainMod SHIFT, 1, movetoworkspacesilent, 1 bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2 bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3 bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4 bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5 bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6 bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7 bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8 bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9 bind = $mainMod CONTROL SHIFT, 1, movetoworkspace, 1 bind = $mainMod CONTROL SHIFT, 2, movetoworkspace, 2 bind = $mainMod CONTROL SHIFT, 3, movetoworkspace, 3 bind = $mainMod CONTROL SHIFT, 4, movetoworkspace, 4 bind = $mainMod CONTROL SHIFT, 5, movetoworkspace, 5 bind = $mainMod CONTROL SHIFT, 6, movetoworkspace, 6 bind = $mainMod CONTROL SHIFT, 7, movetoworkspace, 7 bind = $mainMod CONTROL SHIFT, 8, movetoworkspace, 8 bind = $mainMod CONTROL SHIFT, 9, movetoworkspace, 9 bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_up, workspace, e-1 #}}} #{{{ Mouse binds # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow #}}} #{{{ Resize submap binds bind = $mainMod $secdMod, R, submap, resize submap = resize binde = CONTROL, L, resizeactive, 10 0 binde = CONTROL, H, resizeactive, -10 0 binde = CONTROL, K, resizeactive, 0 -10 binde = CONTROL, J, resizeactive, 0 10 binde = , escape, submap, reset submap = reset #}}} #{{{ Menu bindings bind = $mainMod, R, exec, exec tofi-drun -c ~/.config/tofi/themes/dmenu_vertical --prompt-text "Run:" bind = $mainMod, D, exec, exec tofi-run -c ~/.config/tofi/themes/dmenu_vertical --prompt-text "Run:" bind = $mainMod $secdMod, Q, exec, qbc bind = $mainMod $secdMod, W, exec, lwc bind = $mainMod $secdMod, E, exec, mbc bind = $mainMod $secdMod, R, exec, ffc bind = $mainMod $secdMod, 1, exec, bm bind = $mainMod $secdMod, comma, exec, dmount -p bind = $mainMod $secdMod, period, exec, dmenuumount bind = $mainMod $secdMod CONTROL, U, exec, dmenuunicode bind = $mainMod $secdMod, U, exec, mprisctl bind = $mainMod $secdMod, P, exec, passmenu #}}} #{{{ Misc bindings bind = $mainMod, Return, exec, kitty bind = $mainMod $secdMod, F, exec, kitty -e lfrun bind = $mainMod, W, exec, t waybar bind = $mainMod, Q, exec, loginctl lock-session bind = $mainMod $secdMod CONTROL, Q, exec, systemctl suspend bind = $mainMod SHIFT, G, exec, get-app-id #bind = $mainMod CONTROL, R, exec, startx -- /usr/bin/Xephyr -screen 1920x1080 :1 #}}} #{{{ Scratchpads bind = $mainMod CONTROL, Z, exec, [workspace special:sphtop;float;noanim] sphtop bind = $mainMod CONTROL, X, exec, [workspace special:spterm;float;noanim] spterm bind = $mainMod CONTROL, C, exec, [workspace special:sppmxr;float;noanim] sppmxr bind = $mainMod CONTROL, V, exec, [workspace special:spblue;float;noanim] spblue bind = $mainMod CONTROL, B, exec, [workspace special:spncmp;float;noanim] spncmp bind = $mainMod CONTROL, A, exec, [workspace special:spmutt;float;noanim] spmutt bind = $mainMod CONTROL, S, exec, [workspace special:spprof;float;noanim] spprof bind = $mainMod CONTROL, D, exec, [workspace special:spirss;float;noanim] spirss bind = $mainMod CONTROL, F, exec, [workspace special:sptodo;float;noanim] sptodo bind = $mainMod CONTROL, G, exec, [workspace special:sptrmc;float;noanim] sptrmc bind = $mainMod CONTROL, Q, exec, [workspace special:spqpwg;float;noanim] spqpwg #}}} #{{{ OBS bindings bind = $mainMod CONTROL, 1, pass, ^(com\.obsproject\.Studio)$ bind = $mainMod CONTROL, 2, pass, ^(com\.obsproject\.Studio)$ bind = $mainMod CONTROL, 3, pass, ^(com\.obsproject\.Studio)$ bind = $mainMod CONTROL, 4, pass, ^(com\.obsproject\.Studio)$ bind = $mainMod CONTROL, 5, pass, ^(com\.obsproject\.Studio)$ bind = $mainMod CONTROL, 6, pass, ^(com\.obsproject\.Studio)$ bind = $mainMod CONTROL, 7, pass, ^(com\.obsproject\.Studio)$ bind = $mainMod CONTROL, 8, pass, ^(com\.obsproject\.Studio)$ bind = $mainMod CONTROL, 9, pass, ^(com\.obsproject\.Studio)$ bind = $mainMod CONTROL, 0, pass, ^(com\.obsproject\.Studio)$ #}}} #{{{ Inert submap binds bind = $mainMod, B, submap, inert submap = inert bind = $mainMod, B, submap, reset submap = reset #}}} #{{{ Media bindings bindl = $secdMod, P, exec, playerctl play-pause bindel = , XF86AudioRaiseVolume, exec, volsv -i 5 bindel = , XF86AudioLowerVolume, exec, volsv -d 5 bind = , XF86AudioMute, exec, volsv -t bindl = , XF86AudioMicMute, exec, volsv -m bindel = , XF86MonBrightnessUp, exec, bl -i bindel = , XF86MonBrightnessDown, exec, bl -d bindl = $mainMod, XF86MonBrightnessUp, exec, bl -s 100 bindl = $mainMod, XF86MonBrightnessDown, exec, bl -s 1 bind = , Print, exec, scrshot #}}}