# ####################################################################################### # AUTOGENERATED HYPR CONFIG. # PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT, # OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. # ####################################################################################### #autogenerated = 1 # remove this line to remove the warning # This is an example Hyprland config file. # Refer to the wiki for more information. # https://wiki.hyprland.org/Configuring/Configuring-Hyprland/ # Please note not all available settings / options are set here. # For a full list, see the wiki # You can split this configuration into multiple files # Create your files separately and then link them to this file like this: # source = ~/.config/hypr/myColors.conf ################ ### MONITORS ### ################ # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=,1920x1080@75,0x0,1,vrr,2 xwayland { force_zero_scaling = true } ################### ### MY PROGRAMS ### ################### # See https://wiki.hyprland.org/Configuring/Keywords/ # Set programs that you use $terminal = konsole $fileManager = nautilus $menu = wofi --show drun ################# ### AUTOSTART ### ################# # Autostart necessary processes (like notifications daemons, status bars, etc.) # Or execute your favorite apps at launch like this: # exec-once = ~/.config/hypr/portal-setup.sh exec-once = mako exec-once = /usr/lib/polkit-kde-authentication-agent-1 exec-once = hyprpaper #exec-once = ~/Capybara/scripts/hyprland_change_bg.sh exec-once = waybar exec-once = hypridle exec-once = wl-paste --type text --watch cliphist store #Stores only text data exec-once = wl-paste --type image --watch cliphist store #Stores only image data # exec-once = $terminal # exec-once = nm-applet & # exec-once = waybar & hyprpaper & firefox exec-once = [workspace 1 silent] qutebrowser exec-once = [workspace 1 silent] emacs exec-once = [workspace special:aux silent] konsole exec-once = vesktop exec-once = steam ############################# ### ENVIRONMENT VARIABLES ### ############################# # See https://wiki.hyprland.org/Configuring/Environment-variables/ env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24 env = QT_QPA_PLATFORMTHEME,qt5ct env = STEAM_GAMESCOPE_VRR_SUPPORTED,1 env = WLR_DRM_NO_ATOMIC,1 ##################### ### LOOK AND FEEL ### ##################### # Refer to https://wiki.hyprland.org/Configuring/Variables/ # https://wiki.hyprland.org/Configuring/Variables/#general general { gaps_in = 6 gaps_out = 15,10,10,10 border_size = 2 # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors #col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.active_border = rgb(ffb2ee) rgba(00ff99ee) rgb(FFFFFF) 90deg col.inactive_border = rgba(ffffff7a) rgba(00ff997a) rgba(ffb2ee7a) 90deg #204, 136, 24 # 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 = master } # https://wiki.hyprland.org/Configuring/Variables/#decoration decoration { rounding = 10 # Change transparency of focused and unfocused windows active_opacity = 1.0 inactive_opacity = 0.96 dim_inactive = true dim_strength = 0.12 dim_special = 0.1 drop_shadow = true shadow_range = 40 shadow_render_power = 3 # col.shadow = rgba(1a1a1aee) col.shadow = rgba(87658aff) col.shadow_inactive = rgba(1a1a1aee) # https://wiki.hyprland.org/Configuring/Variables/#blur blur { enabled = true size = 3 passes = 1 xray = false noise = 0.0117 contrast = 0.8916 brightness = 1.0072 vibrancy = 0.2696 vibrancy_darkness = 0.2696 special = true popups = false } } # https://wiki.hyprland.org/Configuring/Variables/#animations animations { enabled = true # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more # global # ↳ windows - styles: slide, popin # ↳ windowsIn - window open # ↳ windowsOut - window close # ↳ windowsMove - everything in between, moving, dragging, resizing. # ↳ layers - styles: slide, popin, fade # ↳ layersIn - layer open # ↳ layersOut - layer close # ↳ fade # ↳ fadeIn - fade in for window open # ↳ fadeOut - fade out for window close # ↳ fadeSwitch - fade on changing activewindow and its opacity # ↳ fadeShadow - fade on changing activewindow for shadows # ↳ fadeDim - the easing of the dimming of inactive windows # ↳ fadeLayers - for controlling fade on layers # ↳ fadeLayersIn - fade in for layer open # ↳ fadeLayersOut - fade out for layer close # ↳ border - for animating the border's color switch speed # ↳ borderangle - for animating the border's gradient angle - styles: once (default), loop # ↳ workspaces - styles: slide, slidevert, fade, slidefade, slidefadevert # ↳ specialWorkspace - styles: same as workspaces # For animation style popin in windows, you can specify a minimum percentage to start from. For example, the following will make the animation 80% -> 100% of the size: # animation=windows,1,8,default,popin 80% # For animation styles slidefade and slidefadevert in workspaces, you can specify a movement percentage. For example, the following will make windows move 20% of the screen width: # animation=workspaces,1,8,default,slidefade 20% # For animation style slide in windows and layers you can specify a forced side, e.g.: # animation=windows,1,8,default,slide left # You can use top, bottom, left or right. bezier = pop, 0.05, 0.8, 0.1, 1.10 bezier = layers, 0.25, 0.46, 0, 0.92 animation = windows, 1, 3, pop animation = windowsOut, 1, 7, default, popin 80% animation = layersIn, 1, 3, layers animation = fade, 1, 3, default animation = border, 1, 8, default animation = borderangle, 1, 8, default animation = workspaces, 1, 4, default animation = workspaces, 1, 4, default, slidefade 40% } # 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 = 2 smart_resizing = false } # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more master { no_gaps_when_only = 2 mfact = 0.55 # new_is_master = true } # https://wiki.hyprland.org/Configuring/Variables/#misc misc { font_family = 0x Proto Nerd Font Mono force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( no_direct_scanout = true #Important! vfr = 0 #VRR stutter? } group { groupbar { render_titles = true font_family = 0x Proto Nerd Font Mono height = 20 font_size = 10 stacked = false text_color = rgba(674e69ff) col.active = rgba(fadbf7ff) col.inactive = rgba(E1D2CEff) } } ############# ### INPUT ### ############# # https://wiki.hyprland.org/Configuring/Variables/#input input { kb_layout = us kb_variant = kb_model = kb_options = eyy:eyymacs,shift:both_capslock kb_rules = accel_profile = flat follow_mouse = 1 mouse_refocus = false # 0 - Cursor movement will not change focus. # 1 - Cursor movement will always change focus to the window under the cursor. # 2 - Cursor focus will be detached from keyboard focus. Clicking on a window will move keyboard focus to that window. # 3 - Cursor focus will be completely separate from keyboard focus. Clicking on a window will not change keyboard focus. sensitivity = 0 # -1.0 - 1.0, 0 means no modification. touchpad { natural_scroll = false } } # https://wiki.hyprland.org/Configuring/Variables/#gestures gestures { workspace_swipe = false } cursor { no_hardware_cursors = true no_break_fs_vrr = true inactive_timeout = 1 } # Example per-device config # See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more device { name = epic-mouse-v1 sensitivity = -0.5 } #################### ### KEYBINDINGSS ### #################### # See https://wiki.hyprland.org/Configuring/Keywords/ $mainMod = MOD5 # Sets "RAlt" key as main modifier $secondaryMod = SUPER # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, T, exec, $terminal bind = $mainMod, F, exec, $fileManager bind = $mainMod, V, togglefloating, bind = $mainMod, C, pin, bind = $mainMod, B, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy bind = $mainMod, R, exec, $menu bind = $secondaryMod, P, pseudo, # dwindle bind = $secondaryMod, L, togglesplit, # dwindle bind = $secondaryMod, P, layoutmsg, swapwithmaster # master bind = $secondaryMod, L, layoutmsg, orientationnext # master bind = $secondaryMod, M, layoutmsg, addmaster # master bind = $secondaryMod, N, layoutmsg, removemaster # master bind = $secondaryMod, H, layoutmsg, mfact -0.1 # master bind = $secondaryMod, Y, layoutmsg, mfact +0.1 # master bind = $secondaryMod, code:60, exec, wofi-emoji #. key # Group management bind = SUPER, I, togglegroup, bind = ALT, Tab, changegroupactive, f bind = ALT SHIFT, Tab, changegroupactive, b bind = SUPER, L, moveintogroup, r bind = SUPER, K, moveintogroup, u bind = SUPER, J, moveintogroup, d bind = SUPER, H, moveintogroup, l bind = SUPER, O, moveoutofgroup, active #resizeactive moveactive swapwindow movewindow # Locks and exits bind = $mainMod, F8, exec, hyprlock bind = $mainMod, code:59, exec, makoctl dismiss -a #, key bind = $mainMod, F9, exec, shutdown --no-wall && notify-send "Shutting down in 1 min!" bind = $mainMod, F10, exec, shutdown --no-wall -c && notify-send "Shutdown aborted" bind = $mainMod, F11, exit, # bind = $mainMod, T, exec, hyprctl activewindow | grep pid | tr -d 'pid:' | xargs kill # bind = $mainMod, C, killactive, # Move focus bind = $mainMod, h, movefocus, l bind = $mainMod, j, movefocus, d bind = $mainMod, k, movefocus, u bind = $mainMod, l, movefocus, r # 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 bind = $secondaryMod, 1, workspace, 1 bind = $secondaryMod, 2, workspace, 2 bind = $secondaryMod, 3, workspace, 3 bind = $secondaryMod, 4, workspace, 4 bind = $secondaryMod, 5, workspace, 5 bind = $secondaryMod, 6, workspace, 6 bind = $secondaryMod, 7, workspace, 7 bind = $secondaryMod, 8, workspace, 8 bind = $secondaryMod, 9, workspace, 9 bind = $secondaryMod, 0, workspace, 10 #Discord mute bindln = , Pause, sendshortcut,CTRL SHIFT, m, class:^(vesktop) # 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 bind = $secondaryMod SHIFT, 1, movetoworkspace, 1 bind = $secondaryMod SHIFT, 2, movetoworkspace, 2 bind = $secondaryMod SHIFT, 3, movetoworkspace, 3 bind = $secondaryMod SHIFT, 4, movetoworkspace, 4 bind = $secondaryMod SHIFT, 5, movetoworkspace, 5 bind = $secondaryMod SHIFT, 6, movetoworkspace, 6 bind = $secondaryMod SHIFT, 7, movetoworkspace, 7 bind = $secondaryMod SHIFT, 8, movetoworkspace, 8 bind = $secondaryMod SHIFT, 9, movetoworkspace, 9 bind = $secondaryMod SHIFT, 0, movetoworkspace, 10 # Special workspaces bind = $mainMod, Tab, togglespecialworkspace, aux bind = $mainMod SHIFT, Tab, movetoworkspace, special:aux bind = $secondaryMod, S, togglespecialworkspace, launchers bind = $secondaryMod SHIFT, S, movetoworkspace, special:launchers bind = $secondaryMod, D, togglespecialworkspace, comms bind = $secondaryMod SHIFT, D, movetoworkspace, special:comms # Scroll through existing workspaces with mainMod + scroll or ^J/^K bind = $mainMod CTRL, K, workspace, e+1 bind = $mainMod CTRL, J, workspace, e-1 bind = SUPER, mouse_up, workspace, e+1 bind = SUPER, mouse_down, workspace, e-1 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = SUPER, mouse:272, movewindow bindm = SUPER, mouse:273, resizewindow # Waybar bind = $mainMod, Y, exec, pkill -SIGUSR1 waybar bind = $mainMod, code:51, exec, pkill -SIGUSR2 waybar bind = $mainMod, code:35, exec, waybar # screenshot bind= SHIFT, Print, exec, grim -g "$(slurp)" - | wl-copy && wl-paste > ~/Pictures/Screenshots/Screenshot-$(date +%F_%T).png | notify-send "Screenshot of the region taken" -t 3000 # screenshot of a region bind = , Print, exec, grim - | wl-copy && wl-paste > ~/Pictures/Screenshots/Screenshot-$(date +%F_%T).png | notify-send "Screenshot of whole screen taken" -t 3000 # screenshot of the whole screen bind = CTRL SHIFT, Print, exec, grim -g "$(slurp)" - | swappy -f - # screenshot of a region, sent to swappy ############################## ### WINDOWS AND WORKSPACES ### ############################## # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more # See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules # Example windowrule v1 # windowrule = float, ^(kitty)$ # Example windowrule v2 # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. # windowrulev2 = immediate, class:^(StreetFighter6.exe)$ # Games rules windowrulev2 = immediate, class:^(steam_app_\d+) windowrulev2 = immediate, class:^(cs2)$ windowrulev2 = workspace 5, class:^(steam_app_\d+) windowrulev2 = workspace 5, class:^(cs2)$ windowrulev2 = workspace 5, class:^(Bridge_Constructor_Portal.x86_64)$ # Make forked UIs appear on corresponding workspaces windowrulev2 = workspace special:comms silent, class:^(vesktop)$ windowrulev2 = workspace special:launchers silent, class:^(steam)$ windowrulev2 = workspace special:launchers, class:^(steam)$,title:(^$) windowrulev2 = workspace special:launchers, class:^(steam)$,title:(^*$) windowrulev2 = workspace special:launchers, class:^(heroic)$ # Steam bugfix rules windowrulev2 = nofocus, title:^()$,class:^(steam)$ windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$ # windowrulev2 = stayfocused,class:(steam),title:(^$) # Steam window rules windowrule = float,title:^(Create or select new Steam library folder)$ windowrule = float,title:^(Steam Settings)$ windowrule = float,title:^(0_Alert)$ # windowrule = workspace special:game,title:^(Steam Big Picture Mode)$ # windowrule = tile,title:^(Steam Big Picture Mode)$ # Layer rules layerrule = dimaround, wofi #layerrule = noanim, selection