#---------- # Monitors #---------- # monitor = ,preferred,auto,auto source = ~/.config/hypr/monitors.conf #------------ # auto start #------------ # Slow app launch fix exec-once = systemctl --user import-environment & exec-once = hash dbus-update-activation-environment 2>/dev/null & exec-once = dbus-update-activation-environment --systemd & # Wallpaper exec-once = hyprpaper exec-once = hypridle & exec-once = waybar -c .config/waybar/config-hypr & exec-once = fcitx5 -d & exec-once = mako & exec-once = bash -c "mkfifo /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob && tail -f /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob | wob & disown" & exec-once = /usr/lib/polkit-kde-authentication-agent-1 & exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # exec-once = xdg-desktop-portal-hyprland & #------------------------ # General configurations #------------------------ input { kb_layout = it kb_variant = kb_model = #kb_options = grp:caps_toggle,grp_led:caps,altwin:swap_alt_win,ctrl:rctrl_ralt kb_options = kb_rules = follow_mouse = 1 float_switch_override_focus = 2 touchpad { natural_scroll = yes scroll_factor = 0.5 } sensitivity = 0 # [-1.0 - 1.0] accel_profile = flat } cursor { no_warps = true } general { gaps_in = 3 gaps_out = 5 border_size = 2 col.active_border = rgb(26a269) col.inactive_border = rgb(595959) layout = dwindle # master|dwindle apply_sens_to_raw = 0 } decoration { active_opacity = 1.0 inactive_opacity = 0.95 fullscreen_opacity = 1.0 rounding = 4 } animations { enabled = yes bezier = overshot, 0.13, 0.99, 0.29, 1.1 animation = windows, 1, 4, overshot, slide animation = windowsOut, 1, 5, default, popin 80% animation = border, 1, 5, default animation = fade, 1, 8, default animation = workspaces, 1, 6, overshot, slide } dwindle { no_gaps_when_only = false force_split = 0 special_scale_factor = 0.8 split_width_multiplier = 1.0 use_active_for_splits = true pseudotile = yes preserve_split = yes } misc { # disable_autoreload = true disable_hyprland_logo = true always_follow_on_dnd = true layers_hog_keyboard_focus = true animate_manual_resizes = false enable_swallow = true swallow_regex = focus_on_activate = true vfr = 1 } gestures { workspace_swipe = true workspace_swipe_fingers = 4 workspace_swipe_distance = 250 workspace_swipe_invert = true workspace_swipe_min_speed_to_force = 15 workspace_swipe_cancel_ratio = 0.5 workspace_swipe_create_new = false } xwayland { force_zero_scaling = true } # device { # name = epic-mouse-v1 # sensitivity = -0.5 # } #---------- # Bindings #---------- $mainMod = SUPER # Terminal bind = $mainMod, RETURN, exec, alacritty bind = $mainMod, T, exec, alacritty bind = CTRL ALT, T, exec, alacritty # Screenshot bind = , PRINT, exec, hyprshot -m region # Kill bind = $mainMod, Q, killactive, bind = ALT, f4, killactive, # Floating and fullscreen bind = $mainMod, F, togglefloating, bind = $mainMod, P, pin bind = $mainMod, S, fullscreen, 0 bind = $mainMod SHIFT, S, fullscreen, 1 # Wofi bind = $mainMod, SPACE, exec, wofi # Volume control binde = , XF86AudioLowerVolume,exec, pamixer -ud 2 && pamixer --get-volume > /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob binde = , XF86AudioRaiseVolume,exec, pamixer -ui 2 && pamixer --get-volume > /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob binde = , XF86AudioMute,exec, amixer sset Master toggle | sed -En '/\[on\]/ s/.*\[([0-9]+)%\].*/\1/ p; /\[off\]/ s/.*/0/p' | head -1 > /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob # Playback control bind = , XF86AudioPlay, exec, playerctl play-pause bind = , XF86AudioNext, exec, playerctl next bind = , XF86AudioPrev, exec, playerctl previous # Screen brightness binde = , XF86MonBrightnessUp, exec, brightnessctl s +5% && brightnessctl -m | awk -F, '{print $4}' | tr -d % > /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob binde = , XF86MonBrightnessDown, exec, brightnessctl s 5%- && brightnessctl -m | awk -F, '{print $4}' | tr -d % > /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob # Lock screen bind = , XF86PowerOff, exec, hyprlock bind = SUPER_L, l, exec, hyprlock # Reload bind = $mainMod CTRL SHIFT ALT, R, exec, killall -SIGUSR2 waybar && hyprctl reload && notify-send "Waybar and Hyprland reloaded" # Move focus bind = $mainMod, left, movefocus, l bind = $mainMod, right, movefocus, r bind = $mainMod, up, movefocus, u bind = $mainMod, down, movefocus, d # Window movement bind = $mainMod SHIFT,left, movewindow, l bind = $mainMod SHIFT,right, movewindow, r bind = $mainMod SHIFT,up, movewindow, u bind = $mainMod SHIFT,down, movewindow, d bind = $mainMod ALT, left, swapwindow, l bind = $mainMod ALT, right, swapwindow, r bind = $mainMod ALT, up, swapwindow, u bind = $mainMod ALT, down, swapwindow, d bind = $mainMod, D, togglesplit # Window resize binde = $mainMod CTRL SHIFT, left, resizeactive,-15 0 binde = $mainMod CTRL SHIFT, right, resizeactive,15 0 binde = $mainMod CTRL SHIFT, up, resizeactive,0 -15 binde = $mainMod CTRL SHIFT, down, resizeactive,0 15 # Windows mouse interaction bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow # Switch workspaces 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 bind = CTRL ALT, right, workspace, e+1 bind = CTRL ALT, left, workspace, e-1 bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_up, workspace, e-1 # Window workspace movement bind = $mainMod CTRL, 1, movetoworkspace, 1 bind = $mainMod CTRL, 2, movetoworkspace, 2 bind = $mainMod CTRL, 3, movetoworkspace, 3 bind = $mainMod CTRL, 4, movetoworkspace, 4 bind = $mainMod CTRL, 5, movetoworkspace, 5 bind = $mainMod CTRL, 6, movetoworkspace, 6 bind = $mainMod CTRL, 7, movetoworkspace, 7 bind = $mainMod CTRL, 8, movetoworkspace, 8 bind = $mainMod CTRL, 9, movetoworkspace, 9 bind = $mainMod CTRL, 0, movetoworkspace, 10 bind = $mainMod CTRL, left, movetoworkspace, -1 bind = $mainMod CTRL, right, movetoworkspace, +1 # binds { # workspace_back_and_forth = 1 # allow_workspace_cycles = 1 # } #--------------- # windows rules #--------------- windowrule = float, Rofi windowrule = float, pavucontrol windowrulev2 = float,class:^(blueman-manager)$ windowrulev2 = float,class:^(xdg-desktop-portal-gtk)$ windowrulev2 = float,class:^(xdg-desktop-portal-kde)$ windowrulev2 = float,class:^(xdg-desktop-portal-hyprland)$ windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$ windowrulev2 = float,class:^(CachyOSHello)$ windowrulev2 = float,class:^(zenity)$ windowrulev2 = float,class:^()$,title:^(Steam - Self Updater)$ windowrulev2 = float,class:^()$,title:^(Picture in picture)$ windowrule = float,title:^(Picture-in-Picture)$ windowrule = size 960 540,title:^(Picture-in-Picture)$ windowrule = move 25%-,title:^(Picture-in-Picture)$ windowrule = float,nemo windowrule = move 25%-,nemo windowrule = size 960 540,nemo windowrule = animation slide right,alacritty windowrule = float, discord