source = $HOME/.config/hypr/monitors.conf # workspace = 1, persistent:true # workspace = 2, persistent:true # workspace = 3, persistent:true # workspace = 4, persistent:true # workspace = 5, persistent:true # workspace = 6, persistent:true # workspace = 7, persistent:true # workspace = 8, persistent:true # workspace = 9, persistent:true $terminal = app2unit -- alacritty $menu = fuzzel --launch-prefix="app2unit --" $browser = app2unit -- qutebrowser $exit = loginctl terminate-user "" $lock = app2unit -- hyprlock --no-fade-in $activeBorderColor = rgb(005577) # rgba(71CEADee) $inactiveBorderColor = rgb(444444) general { # gaps_in = 5 # gaps_out = 15 gaps_in = 0 gaps_out = 0 border_size = 1 col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = $inactiveBorderColor resize_on_border = false allow_tearing = false layout = master } decoration { # rounding = 10 rounding = 0 rounding_power = 2 active_opacity = 1.0 inactive_opacity = 1.0 shadow { enabled = false } blur { enabled = false } } animations { enabled = yes # NAME, X0, Y0, X1, Y1 bezier = easeOutQuint, 0.23, 1, 0.32, 1 bezier = easeInOutCubic, 0.65, 0.05, 0.36, 1 bezier = linear, 0, 0, 1, 1 bezier = almostLinear, 0.5, 0.5, 0.75, 1 bezier = quick, 0.15, 0, 0.1, 1 # NAME, ONOFF, SPEED, CURVE, [STYLE] animation = global, 1, 10, default animation = border, 1, 2.39, easeOutQuint animation = windows, 0, 4.79, easeOutQuint animation = windowsIn, 0, 1.49, easeOutQuint, popin 87% animation = windowsOut, 0, 1.49, linear, popin 87% animation = fadeIn, 0, 1.73, almostLinear animation = fadeOut, 0, 1.46, almostLinear animation = fade, 0, 3.03, quick animation = layers, 1, 3.81, easeOutQuint animation = layersIn, 1, 4, easeOutQuint, fade animation = layersOut, 1, 1.5, linear, fade animation = fadeLayersIn, 1, 1.79, almostLinear animation = fadeLayersOut, 1, 1.39, almostLinear animation = workspaces, 0, 1.94, almostLinear, fade animation = workspacesIn, 0, 1.21, almostLinear, fade animation = workspacesOut, 0, 1.94, almostLinear, fade animation = zoomFactor, 1, 7, quick } # Ref https://wiki.hypr.land/Configuring/Workspace-Rules/ # "Smart gaps" / "No gaps when only" # workspace = w[tv1], gapsout:0, gapsin:0 # workspace = f[1], gapsout:0, gapsin:0 # windowrule = rounding 0, bordersize 0, floating:0, onworkspace:w[tv1] # windowrule = rounding 0, bordersize 0, floating:0, onworkspace:f[1] # See https://wiki.hypr.land/Configuring/Dwindle-Layout/ for more dwindle { pseudotile = true preserve_split = true } # See https://wiki.hypr.land/Configuring/Master-Layout/ for more master { new_status = inherit mfact = 0.50 } misc { force_default_wallpaper = 0 disable_hyprland_logo = true vfr = true } input { kb_layout = us,ir kb_variant = ,pes_keypad kb_options = grp:shifts_toggle repeat_rate = 50 repeat_delay = 300 follow_mouse = 1 sensitivity = 0 touchpad { natural_scroll = false } } cursor { no_hardware_cursors = 1 } # See https://wiki.hypr.land/Configuring/Gestures # gesture = 3, horizontal, workspace $osdclient = swayosd-client --monitor "$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')" # Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more bind = SUPER, return, exec, $terminal # bind = SUPER CTRL, return, exec, $terminal --config-file "$XDG_CONFIG_HOME/alacritty/alacritty-light.toml" bind = SUPER SHIFT, C, killactive, bind = SUPER SHIFT, E, exec, $exit bind = SUPER SHIFT, space, togglefloating, bind = SUPER, V, togglesplit, # dwindle bind = SUPER, F, fullscreen, toggle bind = SUPER SHIFT, return, layoutmsg, swapwithmaster master ignoremaster bind = SUPER, space, exec, $(hyprctl activewindow -j | jq -e '.floating') && hyprctl dispatch cyclenext tiled || hyprctl dispatch cyclenext floating bind = SUPER, comma, focusmonitor, +1 bind = SUPER SHIFT, comma, movewindow, mon:+1 silent bind = SUPER, P, exec, $menu bind = SUPER, B, exec, $browser bind = SUPER, X, exec, $lock bind = SUPER, M, exec, $terminal --config-file "$XDG_CONFIG_HOME/alacritty/alacritty-light.toml" -e aerc # bind = SUPER, M, exec, app2unit -- ghostty --theme="Belafonte Day" -e aerc # bind = SUPER, E, exec, rofi -show emoji # bind = SUPER, M, exec, app2unit -- emacsclient -c # Move focus with mainMod + arrow keys bind = SUPER, H, movefocus, l bind = SUPER, J, movefocus, d bind = SUPER, K, movefocus, u bind = SUPER, L, movefocus, r # Move window bind = SUPER SHIFT, H, movewindow, l bind = SUPER SHIFT, J, movewindow, d bind = SUPER SHIFT, K, movewindow, u bind = SUPER SHIFT, L, movewindow, r bind = SUPER, C, centerwindow # Switch workspaces with mainMod + [0-9] bind = SUPER, 1, workspace, 1 bind = SUPER, 2, workspace, 2 bind = SUPER, 3, workspace, 3 bind = SUPER, 4, workspace, 4 bind = SUPER, 5, workspace, 5 bind = SUPER, 6, workspace, 6 bind = SUPER, 7, workspace, 7 bind = SUPER, 8, workspace, 8 bind = SUPER, 9, workspace, 9 # Move active window to a workspace with mainMod + SHIFT + [0-9] bind = SUPER SHIFT, 1, movetoworkspacesilent, 1 bind = SUPER SHIFT, 2, movetoworkspacesilent, 2 bind = SUPER SHIFT, 3, movetoworkspacesilent, 3 bind = SUPER SHIFT, 4, movetoworkspacesilent, 4 bind = SUPER SHIFT, 5, movetoworkspacesilent, 5 bind = SUPER SHIFT, 6, movetoworkspacesilent, 6 bind = SUPER SHIFT, 7, movetoworkspacesilent, 7 bind = SUPER SHIFT, 8, movetoworkspacesilent, 8 bind = SUPER SHIFT, 9, movetoworkspacesilent, 9 # Example special workspace (scratchpad) bind = SUPER, S, togglespecialworkspace, magic bind = SUPER SHIFT, S, movetoworkspace, special:magic # Move/resize windows with mainMod + LMB/RMB and dragging bindm = SUPER, mouse:272, movewindow bindm = SUPER, mouse:273, resizewindow # Laptop multimedia keys for volume and LCD brightness bindel = ,XF86AudioRaiseVolume, exec, $osdclient --output-volume raise --max-volume 100 bindel = ,XF86AudioLowerVolume, exec, $osdclient --output-volume lower bindel = ,XF86AudioMute, exec, $osdclient --output-volume mute-toggle && update-led-mute sink bindel = ,XF86AudioMicMute, exec, $osdclient --input-volume mute-toggle && update-led-mute source bindel = ,XF86MonBrightnessUp, exec, $osdclient --brightness raise bindel = ,XF86MonBrightnessDown, exec, $osdclient --brightness lower # Screenshot bindd = , PRINT, Screenshot with editing, exec, screenshot-hypr bindd = SHIFT, PRINT, Screenshot to clipboard, exec, screenshot-hypr smart bindd = SUPER, PRINT, Color picker, exec, pkill hyprpicker || hyprpicker -a # Ignore maximize requests from apps. You'll probably like this. windowrule = match:class *, suppress_event maximize # Fix some dragging issues with XWayland # windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0