source = ~/.config/hypr/hardware.conf source = ~/.config/hypr/monitors.conf source = ~/.config/hypr/hyprcolors.conf monitor = , preferred, auto, 1.0 monitor = , addreserved, 36, 0, 0, 0 # Run stuff on launch env = PATH, $PATH:$HOME/.local/bin:$HOME/.cargo/bin # exec-once = hyprlock exec-once = hypridle exec-once = nextcloud exec-once = /lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec-once = keyd-application-mapper -d exec-once = ags run --gtk 3 exec-once = hyprpm reload exec-once = swww-daemon exec-once = kanshi # Theming with envvars for some reason env = XCURSOR_SIZE, 22 env = XCURSOR_THEME, GoogleDot-Black envd = GTK_THEME, Graphite-purple-Dark env = GTK_ICON_THEME, BeautyLine env = HYPRCURSOR_SIZE, 22 env = HYPRCURSOR_THEME, GoogleDot-hypr env = QT_QPA_PLATFORMTHEME, gtk3 env = QT_QPA_PLATFORM, wayland;xcb env = FREETYPE_PROPERTIES,cff:no-stem-darkening=0 autofitter:no-stem-darkening=0 # Mouse and keyboard settings input { kb_layout = us kb_variant = dvorak repeat_delay = 600 touchpad { natural_scroll = true } } general { gaps_in = 3 gaps_out = 6 col.active_border = $primary col.inactive_border = $primary_container border_size = 2 layout = dwindle no_focus_fallback = true } decoration { rounding = 10 # active_opacity = 0.9 # inactive_opacity = 0.92 # fullscreen_opacity = 1.0 blur { enabled = true size = 6 passes = 4 new_optimizations = true ignore_opacity = true special = true brightness = 0.3 xray = true; } } workspace = special:special, gapsin:32, gapsout:64 animations { enabled = yes bezier = default , 0.16, 1 , 0.30, 1 bezier = easeOut , 0.16, 1 , 0.3 , 1 bezier = easeIn , 0.64, 0 , 0.78, 0 animation = fadeIn , 1, 4, default animation = fadeOut , 1, 3, default animation = windowsIn , 1, 4, default, popin 85% animation = windowsOut , 1, 4, default, popin 85% animation = windowsMove , 1, 3, easeOut animation = border , 1, 5, default animation = layersIn , 1, 3, easeOut, slide animation = layersOut , 1, 2, easeIn, slide animation = fadeLayersIn , 1, 3, easeOut animation = fadeLayersOut , 1, 2, easeIn animation = workspaces , 1, 3, easeOut, slide animation = specialWorkspace , 1, 3, default, slidevert animation = zoomFactor , 1, 3, default animation = monitorAdded , 1, 3, default } dwindle { preserve_split = true smart_split = false use_active_for_splits = true force_split = 2 } plugin { hyprexpo { columns = 3 gap_size = 6 bg_col = rgb(111111) workspace_method = first 1 # [center/first] [workspace] e.g. first 1 or center m+1 enable_gesture = false skip_empty = false } #dynamic-cursors { # enabled = true # mode = stretch # stretch { # limit = 3000 # function = linear # } #} } # Smart gaps workspace = w[tv1] s[false], gapsout:0, gapsin:0 workspace = s[true], gapsout:64, gapsin:32 windowrule = bordersize 0, floating:0, onworkspace:w[tv1] windowrule = rounding 0, floating:0, onworkspace:w[tv1] s[false] # The bell doesn't fullscreen you, I do. windowrulev2 = suppressevent fullscreen, class:.* # Misc window rules windowrule = float, title:(Write:) windowrule = float, class:(xdg-desktop-portal-gtk) windowrule = noblur, title:(Open File) windowrule = float, center, class:(eog) windowrule = fullscreen, class:steam_app.* windowrule = workspace 5, class:steam_app.* windowrule = workspace special, class:steam windowrule = float, class:(mpv|loupe) windowrule = size 95% 90%, class:(mpv|loupe) windowrule = center 1, floating:1 # Misc layer rules layerrule = animation slide, bar layerrule = animation popin, swww-daemon layerrule = animation fade, selection layerrule = animation fade, hyprpicker layerrule = animation fade, wayscriber layerrule = animation popin 40%, lazerpopup layerrule = noanim, notification layerrule = dimaround, notifpanel layerrule = order 1, bar layerrule = order 2, lazerpopup layerrule = order 3, notifpanel layerrule = order 4, notification source = ~/.config/hypr/hyprbinds.conf binds { disable_keybind_grabbing = true } misc { disable_hyprland_logo = true animate_manual_resizes = true disable_splash_rendering = false new_window_takes_over_fullscreen = 2 key_press_enables_dpms = true mouse_move_enables_dpms = true focus_on_activate = true session_lock_xray = true animate_manual_resizes = true enable_anr_dialog = false } cursor { persistent_warps = true } xwayland { force_zero_scaling = true }