update hyprland config

Amolith created

Change summary

dot_config/hypr/hyprland.conf.tmpl | 176 ++++++++++++++++++-------------
1 file changed, 104 insertions(+), 72 deletions(-)

Detailed changes

dot_config/hypr/hyprland.conf.tmpl 🔗

@@ -4,7 +4,11 @@
 #
 
 # See https://wiki.hyprland.org/Configuring/Monitors/
-monitor=,preferred,auto,auto
+{{- if eq .chezmoi.hostname "angmar" }}
+monitor=DisplayPort-0,2560x1440@165,auto,auto
+{{- else if eq .chezmoi.hostname "sidhe" }}
+monitor=eDP-1,2256x1504@60,auto,auto
+{{- end }}
 
 
 # See https://wiki.hyprland.org/Configuring/Keywords/ for more
@@ -17,7 +21,7 @@ monitor=,preferred,auto,auto
 
 # Set programs that you use
 $terminal = st
-$fileManager = dolphin
+$fileManager = nautilus
 $menu = wofi --show drun
 
 # Some default env vars.
@@ -25,16 +29,23 @@ env = XCURSOR_SIZE,24
 
 # For all categories, see https://wiki.hyprland.org/Configuring/Variables/
 input {
-    kb_layout = us
-    kb_variant =
-    kb_model =
-    kb_options =
-    kb_rules =
+    kb_layout    = us
+    kb_variant   =
+    kb_model     =
+    kb_options   =
+    kb_rules     =
+    repeat_rate  = 60
+    repeat_delay = 600
 
     follow_mouse = 1
 
     touchpad {
-        natural_scroll = yes
+        natural_scroll       = yes
+        disable_while_typing = yes
+        clickfinger_behavior = yes
+        tap-to-click         = yes
+        drag_lock            = yes
+        tag-and-drag         = yes
     }
 
     sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
@@ -43,12 +54,16 @@ input {
 general {
     # See https://wiki.hyprland.org/Configuring/Variables/ for more
 
-    gaps_in = 5
-    gaps_out = 20
+    gaps_in     = 5
+    gaps_out    = 20
     border_size = 2
-    col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
+    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
@@ -79,18 +94,19 @@ animations {
 
     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
+    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 = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
+    pseudotile = yes # master switch for pseudotiling. Enabling is bound to mod + P in the keybinds section below
     preserve_split = yes # you probably want this
+    no_gaps_when_only = yes
 }
 
 master {
@@ -100,18 +116,22 @@ master {
 
 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 }}
 }
 
 misc {
     # See https://wiki.hyprland.org/Configuring/Variables/ for more
-    force_default_wallpaper = -1 # Set to 0 to disable the anime mascot wallpapers
-}
-
-# Example per-device config
-# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
-device:epic-mouse-v1 {
-    sensitivity = -0.5
+    disable_hyprland_logo   = true
+    force_default_wallpaper = 0 # Set to 0 to disable the anime mascot wallpapers
+    enable_swallow          = yes
+    focus_on_activate       = yes
 }
 
 # Example windowrule v1
@@ -123,56 +143,68 @@ windowrulev2 = nomaximizerequest, class:.* # You'll probably like this.
 
 
 # See https://wiki.hyprland.org/Configuring/Keywords/ for more
-$mainMod = SUPER
+$mod = SUPER
 
 # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
-bind = $mainMod, ENTER, exec, $terminal
-bind = $mainMod SHIFT, Q, killactive, 
-bind = $mainMod, M, exit, 
-bind = $mainMod, E, exec, $fileManager
-bind = $mainMod, V, togglefloating, 
-bind = $mainMod, Z, exec, $menu
-bind = $mainMod, P, pseudo, # dwindle
-bind = $mainMod, J, togglesplit, # dwindle
-
-# Move focus with mainMod + arrow keys
-bind = $mainMod, left, movefocus, l
-bind = $mainMod, right, movefocus, r
-bind = $mainMod, up, movefocus, u
-bind = $mainMod, down, movefocus, d
-
-# 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
+# Applications
+bindr = $mod      ,                      , exec          , $menu
+bind  = $mod      , RETURN               , exec          , $terminal
+bind  = $mod      , E                    , exec          , $fileManager
+
+# System controls
+bind  = $mod SHIFT, Q                    , killactive    ,
+bind  = $mod      , M                    , exit          ,
+bind  = $mod      , V                    , togglefloating,
+bind  = $mod      , P                    , pseudo        , # dwindle
+bind  = $mod      , J                    , togglesplit   , # dwindle
+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
+
+# Move focus with mod + arrow keys
+bind = $mod, left , movefocus, l
+bind = $mod, right, movefocus, r
+bind = $mod, up   , movefocus, u
+bind = $mod, down , movefocus, d
+
+# 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
 
 # Example special workspace (scratchpad)
-bind = $mainMod, S, togglespecialworkspace, magic
-bind = $mainMod SHIFT, S, movetoworkspace, special:magic
+bind = $mod      , S, togglespecialworkspace, magic
+bind = $mod SHIFT, S, movetoworkspace       , special:magic
 
-# Scroll through existing workspaces with mainMod + scroll
-bind = $mainMod, mouse_down, workspace, e+1
-bind = $mainMod, mouse_up, workspace, e-1
+# 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 mainMod + LMB/RMB and dragging
-bindm = $mainMod, mouse:272, movewindow
-bindm = $mainMod, mouse:273, resizewindow
+# Move/resize windows with mod + LMB/RMB and dragging
+bindm = $mod, mouse:272, movewindow
+bindm = $mod, mouse:273, resizewindow