# See https://wiki.hyprland.org/Configuring/Keywords/ for more # exec-once = waybar & hyprpaper & firefox # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf # Startup #exec-once = waybar & hyprpaper & dunst exec-once = /usr/libexec/polkit-gnome-authentication-agent-1 exec-once = hyprpm reload -n #exec-once = wl-clip-persist --clipboard both #exec-once = wl-paste -p -t text --watch clipman store -P --histpath="~/.local/share/clipman-primary.json" # Plugins #plugin { # split-monitor-workspaces { # count = 10 # } # hy3 { # # disable gaps when only one window is onscreen # no_gaps_when_only = false # default: false # # # policy controlling what happens when a node is removed from a group, # # leaving only a group # # 0 = remove the nested group # # 1 = keep the nested group # # 2 = keep the nested group only if its parent is a tab group # node_collapse_policy = 2 # default: 2 # # # special workspace # special_scale_factor = 0.95 # # # offset from group split direction when only one window is in a group # group_inset = 10 # default: 10 # # # tab group settings # tabs { # # height of the tab bar # height = 15 # default: 15 # # # padding between the tab bar and its focused node # padding = 5 # default: 5 # # # the tab bar should animate in/out from the top instead of below the window # from_top = false # default: false # # # rounding of tab bar corners # rounding = 5 # default: 3 # # # render the window title on the bar # render_text = true # default: true # # # font to render the window title with # text_font = Jetbrains Mono # default: Sans # # # height of the window title # text_height = 8 # default: 8 # # # left padding of the window title # text_padding = 3 # default: 3 # # # active tab bar segment color # col.active = 0xFF8330DB # default: 0xff32b4ff # # # urgent tab bar segment color # col.urgent = 0xffff4f4f # default: 0xffff4f4f # # # inactive tab bar segment color # col.inactive = 0xFF4D4D4D # default: 0x80808080 # # # active tab bar text color # col.text.active = 0xffffffff # default: 0xff000000 # # # urgent tab bar text color # col.text.urgent = 0xffffffff # default: 0xff000000 # # # inactive tab bar text color # col.text.inactive = 0xffffffff # default: 0xff000000 # } # # # autotiling settings # autotile { # # enable autotile # enable = false # default: false # # # make autotile-created groups ephemeral # ephemeral_groups = true # default: true # # # if a window would be squished smaller than this width, a vertical split will be created # # -1 = never automatically split vertically # # 0 = always automatically split vertically # # = pixel height to split at # trigger_width = 0 # default: 0 # # # if a window would be squished smaller than this height, a horizontal split will be created # # -1 = never automatically split horizontally # # 0 = always automatically split horizontally # # = pixel height to split at # trigger_height = 0 # default: 0 # # # a space or comma separated list of workspace ids where autotile should be enabled # # it's possible to create an exception rule by prefixing the definition with "not:" # # workspaces = 1,2 # autotiling will only be enabled on workspaces 1 and 2 # # workspaces = not:1,2 # autotiling will be enabled on all workspaces except 1 and 2 # workspaces = all # default: all # } # } #} # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { kb_layout = us kb_variant = kb_model = kb_options = kb_rules = follow_mouse = 1 touchpad { natural_scroll = no } sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } general { # See https://wiki.hyprland.org/Configuring/Variables/ for more gaps_in = 5 gaps_out = 20 border_size = 3 col.active_border = 0xFF8330DB 0xFF3e136c col.inactive_border = 0xFF4D4D4D 0xFF333333 layout = dwindle } decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more rounding = 10 blur { enabled = true size = 1.5 passes = 1 } drop_shadow = yes shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) } 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, 7, myBezier animation = windowsOut, 1, 7, default, popin 80% animation = border, 1, 10, default animation = fade, 1, 7, default animation = workspaces, 1, 4, default } 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 } master { # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more new_is_master = true } gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more workspace_swipe = off } # unscale XWayland xwayland { force_zero_scaling = true } # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more windowrule = rounding 1,class:^(Wine)$ windowrulev2 = opacity 0.8 0.8,class:^(kitty)$ windowrulev2=float,class:^(hyprland.share.picker)$ windowrule = float,^(Steamwebhelper)$ windowrule = float, title:^(Steamwebhelper)$ windowrule = float, title:^(pop-up) windowrule = float, class:^(xdg-desktop-portal-kde) windowrule = float, class:^(Wine) # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = SUPER # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, RETURN, exec, $terminal bind = $mainMod, Q, killactive, bind = $mainMod SHIFT, Q, exit, bind = $mainMod, F, fullscreen, bind = $mainMod, SPACE, togglefloating, bind = $mainMod, L, exec, gtklock bind = $mainMod CTRL, B, exec, killall waybar && waybar -c /home/$USER/.config/waybar/config-hypr bind = $mainMod, D, exec, rofi -show run bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, J, togglesplit, # dwindle bind = $mainMod, Print, exec, grim -g "$(slurp)" - | swappy -f - # take a screenshot # Move focus with mainMod + arrow keys bind = $mainMod, left, movefocus, l bind = $mainMod, right, movefocus, r bind = $mainMod, up, movefocus, u bind = $mainMod, down, movefocus, d # Move focused with mainMod + arrow keys bind = $mainMod SHIFT, left, movewindow, l bind = $mainMod SHIFT, right, movewindow, r bind = $mainMod SHIFT, up, movewindow, u bind = $mainMod SHIFT, down, movewindow, d # 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 bind = $mainMod, 0, workspace, 10 # Move active window to a workspace with mainMod + SHIFT + [0-9] bind = $mainMod SHIFT, 1, movetoworkspace, 1 bind = $mainMod SHIFT, 2, movetoworkspace, 2 bind = $mainMod SHIFT, 3, movetoworkspace, 3 bind = $mainMod SHIFT, 4, movetoworkspace, 4 bind = $mainMod SHIFT, 5, movetoworkspace, 5 bind = $mainMod SHIFT, 6, movetoworkspace, 6 bind = $mainMod SHIFT, 7, movetoworkspace, 7 bind = $mainMod SHIFT, 8, movetoworkspace, 8 bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $mainMod SHIFT, 0, movetoworkspace, 10 # vm fix bind=CTRL,ALT_L,submap,passthrough submap=passthrough bindr=CTRL,Escape,submap,reset submap=reset # Repeat this for each scratchpad you need # BROWSER animation=specialWorkspace,0,0,default # kitty #bind = $mainMod, y, togglespecialworkspace, kitty #bind = $mainMod SHIFT, y, movetoworkspace, special:kitty bind = $mainMod, x, exec, hyprctl dispatch togglespecialworkspace && hyprctl dispatch togglespecialworkspace # Scroll through existing workspaces with mainMod + scroll bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_up, workspace, e-1 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow