# # Please note not all available settings / options are set here. # For a full list, see the wiki # # See https://wiki.hyprland.org/Configuring/Monitors/ {{- if eq .chezmoi.hostname "angmar" }} monitor=DP-1,2560x1440@165,auto,auto {{- else if eq .chezmoi.hostname "sidhe" }} monitor=eDP-1,2256x1504@60,auto,auto {{- end }} xwayland { force_zero_scaling = true } # See https://wiki.hyprland.org/Configuring/Keywords/ for more # Execute your favorite apps at launch # exec-once = waybar & hyprpaper & firefox # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf # Some default env vars. env = XCURSOR_SIZE,24 # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { kb_layout = us kb_variant = kb_model = kb_options = compose:ralt kb_rules = repeat_rate = 60 repeat_delay = 300 follow_mouse = 1 touchpad { natural_scroll = no disable_while_typing = yes clickfinger_behavior = yes tap-to-click = yes drag_lock = yes tap-and-drag = yes } sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } general { # See https://wiki.hyprland.org/Configuring/Variables/ for more gaps_in = 10 gaps_out = 10 border_size = 2 col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) resize_on_border = yes extend_border_grab_area = yes hover_icon_on_border = yes layout = dwindle # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = false } decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more rounding = 10 blur { enabled = true size = 3 passes = 1 } drop_shadow = yes shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) } animations { enabled = yes # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more bezier = myBezier, 0.05, 0.9, 0.1, 1.05 animation = windows , 1, 7 , myBezier, animation = windowsOut , 1, 7 , default , popin 80% animation = border , 1, 10, default , animation = borderangle, 1, 8 , default , animation = fade , 1, 7 , default , animation = workspaces , 1, 6 , default , } dwindle { # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more pseudotile = false preserve_split = true force_split = 2 no_gaps_when_only = true } gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more {{- if eq .chezmoi.hostname "angmar" }} workspace_swipe = off {{- else if eq .chezmoi.hostname "sidhe" }} workspace_swipe = yes workspace_swipe_forever = yes {{- else }} workspace_swipe = off {{- end }} } group { insert_after_current = false groupbar { font_family = "{{ .font }}" font_size = 12 {{- if eq .theme_variant "light" }} text_color = rgb(4c4f69) col.active = rgba(cdd6f4b0) rgba(cdd6f400) 0deg col.inactive = rgba(dce0e8b0) rgba(dce0e800) 0deg {{- else if eq .theme_variant "dark" }} col.active = rgba(b7bdf8ff) col.inactive = rgba(6e738dff) {{- end }} } } misc { # See https://wiki.hyprland.org/Configuring/Variables/ for more disable_hyprland_logo = true force_default_wallpaper = 0 # Set to 0 to disable the anime mascot wallpapers enable_swallow = yes swallow_regex = "^c .*" swallow_exception_regex = ".*Doom Emacs$" focus_on_activate = no {{- if eq .chezmoi.hostname "angmar" }} vrr = 1 {{- else if eq .chezmoi.hostname "sidhe" }} vrr = 0 {{- end }} {{- if eq .theme_variant "light" }} background_color = rgb(eff1f5) {{- else if eq .theme_variant "dark" }} background_color = rgb(24273A) {{- end }} } # Example windowrule v1 # windowrule = float, ^(kitty)$ # Example windowrule v2 # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more # TODO: Migrate this: # windowrulev2 = nomaximizerequest, class:.* # You'll probably like this. windowrulev2 = workspace 4,class:(steam) windowrulev2 = workspace 6,class:(org.gajim.Gajim|org.telegram.desktop) # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mod = SUPER # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more # Applications bindr = $mod , Z , exec , onagre bindr = $mod SHIFT, Z , exec , onagre bind = $mod , RETURN , exec , alacritty bind = $mod SHIFT, RETURN , exec , emacsclient -c bind = $mod , E , exec , nautilus # System controls bind = $mod SHIFT, Q , killactive , bind = $mod , Q , togglesplit , # dwindle bind = $mod SHIFT, E , exit , bind = $mod SHIFT, B , exec , /home/amolith/.local/bin/lockscreen bind = $mod , V , togglefloating, bind = , XF86AudioRaiseVolume , exec , pactl set-sink-volume @DEFAULT_SINK@ +10% bind = , XF86AudioLowerVolume , exec , pactl set-sink-volume @DEFAULT_SINK@ -10% bind = , XF86AudioMute , exec , pactl set-sink-mute @DEFAULT_SINK@ toggle bind = , XF86AudioMicMute , exec , pactl set-source-mute @DEFAULT_SOURCE@ toggle bind = , XF86AudioPlay , exec , playerctl play-pause bind = , XF86AudioNext , exec , playerctl next bind = , XF86AudioPrev , exec , playerctl previous bind = , XF86MonBrightnessUp , exec , xbacklight +5 bind = , XF86MonBrightnessDown, exec , xbacklight -5 # Notification controls bind = $mod , N, exec, dunstctl close-all bind = $mod SHIFT, N, exec, dunstctl history-pop bind = $mod CTRL , N, exec, dunstctl context # Window groups (somewhat analogous to i3 tabs) bind = $mod SHIFT, g, togglegroup bind = $mod , g, changegroupactive # Move focus with mod + Vim keys bind = $mod, h, movefocus, l bind = $mod, l, movefocus, r bind = $mod, j, movefocus, d bind = $mod, k, movefocus, u # Move window with mod + Vim keys bind = $mod SHIFT, h, movewindow, l bind = $mod SHIFT, l, movewindow, r bind = $mod SHIFT, j, movewindow, d bind = $mod SHIFT, k, movewindow, u # Switch workspaces with mod + [0-9] bind = $mod, 1, workspace, 1 bind = $mod, 2, workspace, 2 bind = $mod, 3, workspace, 3 bind = $mod, 4, workspace, 4 bind = $mod, 5, workspace, 5 bind = $mod, 6, workspace, 6 bind = $mod, 7, workspace, 7 bind = $mod, 8, workspace, 8 bind = $mod, 9, workspace, 9 bind = $mod, 0, workspace, 10 # Move active window to a workspace with mod + SHIFT + [0-9] bind = $mod SHIFT, 1, movetoworkspace, 1 bind = $mod SHIFT, 2, movetoworkspace, 2 bind = $mod SHIFT, 3, movetoworkspace, 3 bind = $mod SHIFT, 4, movetoworkspace, 4 bind = $mod SHIFT, 5, movetoworkspace, 5 bind = $mod SHIFT, 6, movetoworkspace, 6 bind = $mod SHIFT, 7, movetoworkspace, 7 bind = $mod SHIFT, 8, movetoworkspace, 8 bind = $mod SHIFT, 9, movetoworkspace, 9 bind = $mod SHIFT, 0, movetoworkspace, 10 # Make window fullscreen bind = $mod, F, fullscreen # Example special workspace (scratchpad) bind = $mod , S, togglespecialworkspace, magic bind = $mod SHIFT, S, movetoworkspace , special:magic # Scroll through existing workspaces with mod + scroll bind = $mod, mouse_down, workspace, e+1 bind = $mod, mouse_up , workspace, e-1 # Move/resize windows with mod + LMB/RMB and dragging bindm = $mod, mouse:272, movewindow bindm = $mod, mouse:273, resizewindow exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = "/home/amolith/.local/bin/startup"