| 
 | |
| ################ | |
| ### MONITORS ### | |
| ################ | |
| 
 | |
| # See https://wiki.hyprland.org/Configuring/Monitors/ | |
| monitor=,preferred,auto,auto | |
| 
 | |
| ################### | |
| ### MY PROGRAMS ### | |
| ################### | |
| 
 | |
| # See https://wiki.hyprland.org/Configuring/Keywords/ | |
| 
 | |
| # Set programs that you use | |
| $terminal = alacritty | |
| $menu = wofi --show drun | |
| 
 | |
| 
 | |
| ################# | |
| ### AUTOSTART ### | |
| ################# | |
| 
 | |
| exec-once = waybar | |
| # exec-once = hypridle | |
| exec-once = hyprpaper | |
| 
 | |
| ############################# | |
| ### ENVIRONMENT VARIABLES ### | |
| ############################# | |
| 
 | |
| # See https://wiki.hyprland.org/Configuring/Environment-variables/ | |
| 
 | |
| env = XCURSOR_SIZE,24 | |
| env = HYPRCURSOR_SIZE,24 | |
| 
 | |
| 
 | |
| ################### | |
| ### PERMISSIONS ### | |
| ################### | |
| 
 | |
| # See https://wiki.hyprland.org/Configuring/Permissions/ | |
| # Please note permission changes here require a Hyprland restart and are not applied on-the-fly | |
| # for security reasons | |
| 
 | |
| # ecosystem { | |
| #   enforce_permissions = 1 | |
| # } | |
| 
 | |
| # permission = /usr/(bin|local/bin)/grim, screencopy, allow | |
| # permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow | |
| # permission = /usr/(bin|local/bin)/hyprpm, plugin, allow | |
| 
 | |
| 
 | |
| ##################### | |
| ### LOOK AND FEEL ### | |
| ##################### | |
| 
 | |
| # Refer to https://wiki.hyprland.org/Configuring/Variables/ | |
| 
 | |
| # https://wiki.hyprland.org/Configuring/Variables/#general | |
| general { | |
|     gaps_in = 5 | |
|     gaps_out = 5 | |
| 
 | |
|     border_size = 2 | |
| 
 | |
|     # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors | |
|     col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg | |
|     col.inactive_border = rgba(595959aa) | |
| 
 | |
|     # 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 = false | |
| 
 | |
|     layout=master | |
| } | |
| 
 | |
| # Master layout specific settings | |
| master { | |
|     new_on_top = false | |
|     orientation = left | |
|     inherit_fullscreen = true | |
|     smart_resizing = true | |
|     drop_at_cursor = true | |
| } | |
| 
 | |
| # https://wiki.hyprland.org/Configuring/Variables/#decoration | |
| decoration { | |
|     rounding = 5 | |
|     rounding_power = 2 | |
| 
 | |
|     # Change transparency of focused and unfocused windows | |
|     active_opacity = 1.0 | |
|     inactive_opacity = 1.0 | |
| 
 | |
|     shadow { | |
|         enabled = true | |
|         range = 4 | |
|         render_power = 3 | |
|         color = rgba(1a1a1aee) | |
|     } | |
| 
 | |
|     # https://wiki.hyprland.org/Configuring/Variables/#blur | |
|     blur { | |
|         enabled = true | |
|         size = 3 | |
|         passes = 1 | |
| 
 | |
|         vibrancy = 0.1696 | |
|     } | |
| } | |
| 
 | |
| # https://wiki.hyprland.org/Configuring/Variables/#animations | |
| animations { | |
|     enabled = false | |
| } | |
| 
 | |
| # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more | |
| master { | |
|     new_status = master | |
| } | |
| 
 | |
| # https://wiki.hyprland.org/Configuring/Variables/#misc | |
| misc { | |
|     force_default_wallpaper = 0 # 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. :( | |
| } | |
| 
 | |
| 
 | |
| ############# | |
| ### INPUT ### | |
| ############# | |
| 
 | |
| # https://wiki.hyprland.org/Configuring/Variables/#input | |
| input { | |
|     kb_layout = us | |
|     kb_variant = | |
|     kb_model = | |
|     # kb_options = caps:swapescape | |
|     kb_options = | |
|     kb_rules = | |
| 
 | |
|     follow_mouse = 1 | |
| 
 | |
|     sensitivity = 0 # -1.0 - 1.0, 0 means no modification. | |
| 
 | |
|     touchpad { | |
|         natural_scroll = false | |
|     } | |
| } | |
| 
 | |
| # 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 | |
| } | |
| 
 | |
| 
 | |
| ################### | |
| ### KEYBINDINGS ### | |
| ################### | |
| 
 | |
| # See https://wiki.hyprland.org/Configuring/Keywords/ | |
| $mainMod = SUPER # Sets "Windows" key as main modifier | |
| 
 | |
| # Cycle through monitors | |
| bind = SUPER, period, focusmonitor, +1 | |
| bind = SUPER, comma, focusmonitor, -1 | |
| 
 | |
| # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more | |
| bind = $mainMod SHIFT, return, exec, $terminal | |
| bind = $mainMod, Q, killactive, | |
| bind = $mainMod SHIFT, Q, exec, uwsm stop | |
| bind = $mainMod, F, togglefloating, | |
| bind = $mainMod, P, exec, $menu | |
| bind = $mainMod, M, exec, ~/.local/bin/hyprland-monitor-switcher.sh | |
| bind = $mainMod SHIFT, L, exec, hyprlock | |
| bind = $mainMod, S, exec, hyprshot -m region --clipboard-only | |
| 
 | |
| bind = $mainMod, T, exec, ~/.local/bin/toggle-swapescape-hyprland | |
| bind = $mainMod SHIFT, T, exec, ~/.local/bin/toggle-swapescape-hyprland | |
| 
 | |
| bind = $mainMod, Return, layoutmsg, swapwithmaster | |
| bind = $mainMod, j, layoutmsg, cyclenext | |
| bind = $mainMod, k, layoutmsg, cycleprev | |
| bind = $mainMod, l, layoutmsg, mfact +0.05 | |
| bind = $mainMod, h, layoutmsg, mfact -0.05 | |
| 
 | |
| # 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 | |
| 
 | |
| # 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 | |
| 
 | |
| # 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 | |
| bind = , XF86AudioRaiseVolume, exec, pamixer -i 5 | |
| bind = , XF86AudioLowerVolume, exec, pamixer -d 5 | |
| bind = , XF86AudioMicMute, exec, pamixer --default-source -m | |
| bind = , XF86AudioMute, exec, pamixer -t | |
| 
 | |
| bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+ | |
| bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%- | |
| 
 | |
| # Requires playerctl | |
| bindl = , XF86AudioNext, exec, playerctl next | |
| bindl = , XF86AudioPause, exec, playerctl play-pause | |
| bindl = , XF86AudioPlay, exec, playerctl play-pause | |
| bindl = , XF86AudioPrev, exec, playerctl previous | |
| 
 | |
| ############################## | |
| ### 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 | |
| # windowrule = float,class:^(kitty)$,title:^(kitty)$ | |
| 
 | |
| # Ignore maximize requests from apps. You'll probably like this. | |
| windowrule = suppressevent maximize, class:.* | |
| 
 | |
| # Fix some dragging issues with XWayland | |
| windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
 |