################ ### MONITORS ### ################ # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=,highres@highrr,auto,auto,bitdepth,10#,cm,hdr,sdrbrightness,1.5,sdrsaturation,1.35#,cm,auto # monitor=,preferred,auto,auto,bitdepth,10 # monitorv2 { # output = # mode = highres # scale = 1.5 # } ################### ### MY PROGRAMS ### ################### # Program defaults $term = kitty $termLaunch = $term -1 $termfloat = [float on; center on; size (monitor_w*0.4) (monitor_h*0.4); workspace unset] $term $editor = nvim # $browser = thorium-browser $browser = zen-browser $fileManager = thunar $sessionManager = sddm $menu = rofi -i -dmenu -theme $HOME/.config/rofi/configs.rasi # Dirs $HYPRDIR = $HOME/.config/hypr $WAYBARDIR = $HOME/.config/waybar $SCRIPTSDIR = $HOME/scripts $rofiexec = $HOME/.config/rofi/scripts $bgChangerBin = $SCRIPTSDIR/walls/swww.sh $bgChanger = swww.sh # global vars $outer_gaps = 12 source = $HYPRDIR/colors.conf # misc $waylandarg = --enable-features=WaylandWindowDecorations,UseOzonePlatform,WebRTCPipeWireCapturer --ozone-platform-hint=wayland --enable-wayland-ime ##################### ### LOOK AND FEEL ### ##################### # Refer to https://wiki.hyprland.org/Configuring/Variables/ # https://wiki.hyprland.org/Configuring/Variables/#general general { gaps_in = 3 gaps_out = 7 float_gaps = -1 border_size = 3 # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors # col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg # DO THIS LATER # col.inactive_border = rgba(595959aa) # col.active_border = rgb(00a7f5) rgb(538620) rgb(538620) rgb(00a7f5) 90deg # col.inactive_border = rgb(00a7f5) rgb(538620) rgb(538620) rgb(00a7f5) 90deg # col.active_border = rgb(00a7f5) rgb(538620) # col.inactive_border = rgb(00a7f5) rgb(538620) col.inactive_border = $background col.active_border = $color15 $color13 $color10 $color8 $color6 $color4 $color2 $color0 # 45deg # Set to true enable resizing windows by clicking and dragging on borders and gaps resize_on_border = false # Please see https://wiki.hyprland.org/Configuring/Tearing before you turn this on allow_tearing = true layout = scroller snap { enabled = true respect_gaps = true # border_overlap = false } } ecosystem { no_donation_nag = true no_update_news = true enforce_permissions = 1 } xwayland { force_zero_scaling = true } # https://wiki.hyprland.org/Configuring/Variables/#decoration decoration { rounding = 7 rounding_power = 10 border_part_of_window = true # Change transparency of focused and unfocused windows # active_opacity = 0.95 inactive_opacity = 0.85 fullscreen_opacity = 1.0 shadow { enabled = true range = 15 render_power = 4 # sharp = true ignore_window = true color = $background # color = rgba(1a1a1aee) } screen_shader = /usr/share/hyprshade/shaders/vibrance.glsl dim_inactive = true dim_strength = 0.1 # https://wiki.hyprland.org/Configuring/Variables/#blur blur { enabled = true # heavy size = 5 # 10 passes = 5 # 4 # light # size = 8 # passes = 3 # noise = 0 # crazy & cool options # brightness = 1 # contrast = 2 # vibrancy = 1.5 # vibrancy_darkness = 1 popups = true ignore_opacity = true # KEEP THIS, THIS MAKE BLUR ACTUALLY BLUR COOL input_methods = true special = true } } # https://wiki.hyprland.org/Configuring/Variables/#animations animations { enabled = true # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more bezier = windowovershot, 1, 1, 0, 1.05 bezier = overshot, 0.5, 1, 0, 1.2 bezier = sovershot, 0.5, 1, 0, 1.1 # bezier = outsideIn, 0.5, 1.1, 0, 0.9 bezier = slow-fast, 1, 0.33, 0.3, 1 bezier = fast-slow, 0.33, 0.8, 0, 1 bezier = linear, 0, 0, 1, 1 # bezier = linear, 0, 0, 1, 1 # bezier = md3_standard, 0.2, 0, 0, 1 bezier = md3_decel, 0.05, 0.7, 0.1, 1 # bezier = md3_accel, 0.3, 0, 0.8, 0.15 # bezier = overshot, 0.05, 0.9, 0.1, 1.1 # bezier = crazyshot, 0.1, 1.5, 0.76, 0.92 # bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0 # bezier = menu_decel, 0.1, 1, 0, 1 # bezier = menu_accel, 0.38, 0.04, 1, 0.07 # bezier = easeInOutCirc, 0.85, 0, 0.15, 1 # bezier = easeOutCirc, 0, 0.55, 0.45, 1 # bezier = easeOutExpo, 0.16, 1, 0.3, 1 # bezier = softAcDecel, 0.26, 0.26, 0.15, 1 # bezier = md2, 0.4, 0, 0.2, 1 # use with .2s duration animation = fade, 1, 4, md3_decel animation = windows, 1, 3, overshot, gnome # animation = windowsOut, 1, 2, slow-fast, popin 15% animation = windowsOut, 1, 1.5, slow-fast, popin 15% # animation = windowsMove, 1, 2, md3_accel # when new window appears, it will block it for a while since its slower then windowIn animation animation = workspaces, 1, 5, fast-slow, slide animation = workspacesIn, 1, 5, fast-slow, slidefade animation = borderangle, 1, 100, linear, loop animation = layers, 1, 3, sovershot, popin 15% animation = zoomFactor, 1, 3, fast-slow } # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more dwindle { pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = true # You probably want this force_split = 3 precise_mouse_move = true } master { new_status = inherit } # https://wiki.hyprland.org/Configuring/Variables/#misc misc { force_default_wallpaper = 1 # Set to 0 or 1 to disable the anime mascot wallpapers focus_on_activate = true disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :( disable_autoreload = false # vfr = false vrr = 1 # 1 = always, 2 = only in full screen # mouse_move_enables_dpms = true key_press_enables_dpms = true # animate_manual_resizes = true # animate_mouse_windowdragging = true middle_click_paste = false enable_swallow = false # true swallow_regex = ^(Alacritty)$ new_window_takes_over_fullscreen = 2 } group { groupbar { # enabled = false render_titles = false text_color = $foreground col.active = $color0 col.inactive = $background col.locked_active = $color0 col.locked_inactive = $background } col.border_active = $color0 $color15 $foreground $cursor col.border_inactive = $background col.border_locked_active = $color0 $background col.border_locked_inactive = $background } # binds { # workspace_back_and_forth = true # } render { direct_scanout = 1 # xp_mode = true # crazy drag bg new_render_scheduling = true ctm_animation = 1 } # opengl { # nvidia_anti_flicker = false # force_introspection = 0 # } ############# ### INPUT ### ############# # https://wiki.hyprland.org/Configuring/Variables/#input input { kb_layout = us kb_variant = kb_model = # kb_options = caps:swapescape # changed in kb settings kb_rules = follow_mouse = 1 # 2 scroll_factor = 1.0 # sensitivity = 0 # -1.0 - 1.0, 0 means no modification. numlock_by_default = true repeat_delay = 300 # touchpad { # natural_scroll = false # } } cursor { use_cpu_buffer = true # no_hardware_cursors = true no_break_fs_vrr = true zoom_rigid = true persistent_warps = true } plugin { overview { enabled = true disableGestures = true panelHeight = 150 } # hyprfocus { # enabled = yes # focus_animation = shrink # animate_floating = yes # animate_worksapcechange = yes # } dynamic-cursors { mode = stretch shake { effects = true } shaperule = text, none hyprcursor { nearest = false } # shaperule = clientside, none } scroller { column_default_width = onehalf focus_edge_ms = 100 only_window_one = true } chromakey_background = $background # hy3 { # # disable gaps when only one window is onscreen # # 0 - always show gaps # # 1 - hide gaps with a single window onscreen # # 2 - 1 but also show the window border # # no_gaps_when_only = # default: 0 # # 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 = # default: 2 # # offset from group split direction when only one window is in a group # # group_inset = # default: 10 # # if a tab group will automatically be created for the first window spawned in a workspace # # tab_first_window = # # tab group settings # tabs { # # height of the tab bar # # height = # default: 15 # # padding between the tab bar and its focused node # # padding = # default: 5 # # the tab bar should animate in/out from the top instead of below the window # # from_top = # default: false # # rounding of tab bar corners # # rounding = # default: 3 # # render the window title on the bar # # render_text = # default: true # # center the window title # # text_center = # default: false # # font to render the window title with # # text_font = # default: Sans # # height of the window title # # text_height = # default: 8 # # left padding of the window title # # text_padding = # default: 3 # # active tab bar segment color # # col.active = # default: 0xff32b4ff # # urgent tab bar segment color # # col.urgent = # default: 0xffff4f4f # # inactive tab bar segment color # # col.inactive = # default: 0x80808080 # # active tab bar text color # # col.text.active = # default: 0xff000000 # # urgent tab bar text color # # col.text.urgent = # default: 0xff000000 # # inactive tab bar text color # # col.text.inactive = # default: 0xff000000 # } # # autotiling settings # autotile { # # enable autotile # # enable = # default: false # # make autotile-created groups ephemeral # # ephemeral_groups = # 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 = # 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 = # 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 = # default: all # } # } # hyprwinwrap { # class = winwrap # } } source = ~/.config/hypr/env.conf source = ~/.config/hypr/rules.conf source = ~/.config/hypr/binds.conf source = ~/.config/hypr/autostart.conf debug { # disable_scale_checks = true disable_logs = false # overlay = true # show fps suppress_errors = true # pass = true error_position = 1 # log_damage = true # damage_blink = true full_cm_proto = true } experimental:xx_color_management_v4 = true plugin:kill-intercept:window = class:BeeperTexts, hide