# https://wiki.hyprland.org/Configuring/ source = monitors.conf $scritps = ~/.config/hypr/scripts exec-once = mako & exec-once = nm-applet & exec-once = waybar & exec-once = hyprpaper exec-once = systemctl --user start hyprpolkitagent exec-once = hyprpm reload -n exec-once = sleep 1 && $scritps/random_wallpaper.sh env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24 env = HYPRCURSOR_THEME,Bibata-Modern-Ice general { gaps_in = 5 gaps_out = 10 border_size = 2 col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) allow_tearing = true layout = dwindle } decoration { rounding = 10 rounding_power = 2 active_opacity = 1.0 inactive_opacity = 1.0 shadow { enabled = true range = 4 render_power = 3 color = rgba(1a1a1aee) } blur { enabled = false size = 3 passes = 1 vibrancy = 0.1696 } } animations { enabled = false } dwindle { pseudotile = true preserve_split = true } master { new_status = master } # https://wiki.hyprland.org/Configuring/Variables/#input input { kb_layout = us,no kb_options = grp:win_space_toggle kb_variant = kb_model = kb_rules = follow_mouse = 1 sensitivity = 0 # -1.0 - 1.0, 0 means no modification. accel_profile = flat touchpad { natural_scroll = false } } # https://wiki.hyprland.org/Configuring/Binds/ $terminal = ghostty $files = thunar $menu = hyprlauncher $browser = librewolf $code = code $lock = hyprlock $colorPicker = hyprpicker -a -f hex -r -n -q $screenshot = slurp | grim -g - - | wl-copy $mainMod = SUPER # Programs bind = $mainMod, E, exec, $files bind = $mainMod, R, exec, $menu bind = $mainMod, B, exec, $browser bind = $mainMod, L, exec, $lock bind = $mainMod, C, exec, $code bind = $mainMod SHIFT, C, exec, $colorPicker bind = $mainMod, RETURN, exec, $terminal bind = $mainMod SHIFT, E, exit bind = $mainMod SHIFT, S, exec, $screenshot # Window control bind = $mainMod, Q, killactive, bind = $mainMod SHIFT, E, exit, bind = $mainMod, W, togglefloating, bind = $mainMod, F, fullscreen, # 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 plugin { split-monitor-workspaces { count = 3 keep_focused = 0 enable_notifications = 1 enable_persistent_workspaces = 1 } } $mainMod = SUPER # Switch workspaces with mainMod + [0-5] bind = $mainMod, 1, split-workspace, 1 bind = $mainMod, 2, split-workspace, 2 bind = $mainMod, 3, split-workspace, 3 bind = $mainMod, 4, split-workspace, 4 bind = $mainMod, 5, split-workspace, 5 # Move active window to a workspace with mainMod + SHIFT + [0-5] bind = $mainMod SHIFT, 1, split-movetoworkspacesilent, 1 bind = $mainMod SHIFT, 2, split-movetoworkspacesilent, 2 bind = $mainMod SHIFT, 3, split-movetoworkspacesilent, 3 bind = $mainMod SHIFT, 4, split-movetoworkspacesilent, 4 bind = $mainMod SHIFT, 5, split-movetoworkspacesilent, 5 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow # Laptop multimedia keys for volume and LCD brightness bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+ bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%- # Requires playerctl bindl = , XF86AudioNext, exec, playerctl next bindl = , XF86AudioPause, exec, playerctl play-pause bindl = , XF86AudioPlay, exec, playerctl play-pause bindl = , XF86AudioPrev, exec, playerctl previous workspace = w[tv1], gapsout:0, gapsin:0 workspace = f[1], gapsout:0, gapsin:0 # https://wiki.hypr.land/Configuring/Window-Rules/ windowrule { name = no-gaps-wtv1 match:float = false match:workspace = w[tv1] border_size = 0 rounding = 0 } windowrule { name = no-gaps-f1 match:float = false match:workspace = f[1] border_size = 0 rounding = 0 } windowrule { # Ignore maximize requests from all apps. You'll probably like this. name = suppress-maximize-events match:class = .* suppress_event = maximize } windowrule { # Fix some dragging issues with XWayland name = fix-xwayland-drags match:class = ^$ match:title = ^$ match:xwayland = true match:float = true match:fullscreen = false match:pin = false no_focus = true } # Hyprland-run windowrule windowrule { name = move-hyprland-run match:class = hyprland-run move = 20 monitor_h-120 float = yes }