hyprland.conf.tmpl

  1#
  2# Please note not all available settings / options are set here.
  3# For a full list, see the wiki
  4#
  5
  6# See https://wiki.hyprland.org/Configuring/Monitors/
  7{{- if eq .chezmoi.hostname "angmar" }}
  8monitor=DisplayPort-0,2560x1440@165,auto,auto
  9{{- else if eq .chezmoi.hostname "sidhe" }}
 10monitor=eDP-1,2256x1504@60,auto,1.333333
 11{{- end }}
 12
 13xwayland {
 14    force_zero_scaling = true
 15}
 16
 17# See https://wiki.hyprland.org/Configuring/Keywords/ for more
 18
 19# Execute your favorite apps at launch
 20# exec-once = waybar & hyprpaper & firefox
 21
 22# Source a file (multi-file configs)
 23# source = ~/.config/hypr/myColors.conf
 24
 25# Set programs that you use
 26$terminal = alacritty
 27$fileManager = nautilus
 28$menu = wofi --show drun
 29
 30# Some default env vars.
 31env = XCURSOR_SIZE,24
 32
 33# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
 34input {
 35    kb_layout    = us
 36    kb_variant   =
 37    kb_model     =
 38    kb_options   =
 39    kb_rules     =
 40    repeat_rate  = 60
 41    repeat_delay = 300
 42
 43    follow_mouse = 1
 44
 45    touchpad {
 46        natural_scroll       = no
 47        disable_while_typing = yes
 48        clickfinger_behavior = yes
 49        tap-to-click         = yes
 50        drag_lock            = yes
 51        tap-and-drag         = yes
 52    }
 53
 54    sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
 55}
 56
 57general {
 58    # See https://wiki.hyprland.org/Configuring/Variables/ for more
 59
 60    gaps_in     = 10
 61    gaps_out    = 10
 62    border_size = 2
 63    col.active_border   = rgba(33ccffee) rgba(00ff99ee) 45deg
 64    col.inactive_border = rgba(595959aa)
 65
 66    resize_on_border        = yes
 67    extend_border_grab_area = yes
 68    hover_icon_on_border    = yes
 69
 70    layout = dwindle
 71
 72    # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
 73    allow_tearing = false
 74}
 75
 76decoration {
 77    # See https://wiki.hyprland.org/Configuring/Variables/ for more
 78
 79    rounding = 10
 80
 81    blur {
 82        enabled = true
 83        size = 3
 84        passes = 1
 85    }
 86
 87    drop_shadow = yes
 88    shadow_range = 4
 89    shadow_render_power = 3
 90    col.shadow = rgba(1a1a1aee)
 91}
 92
 93animations {
 94    enabled = yes
 95
 96    # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
 97
 98    bezier = myBezier, 0.05, 0.9, 0.1, 1.05
 99
100    animation = windows    , 1, 7 , myBezier,
101    animation = windowsOut , 1, 7 , default , popin 80%
102    animation = border     , 1, 10, default ,
103    animation = borderangle, 1, 8 , default ,
104    animation = fade       , 1, 7 , default ,
105    animation = workspaces , 1, 6 , default ,
106}
107
108dwindle {
109    # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
110    pseudotile = false
111    preserve_split = true
112    force_split = 2
113    no_gaps_when_only = true
114}
115
116gestures {
117    # See https://wiki.hyprland.org/Configuring/Variables/ for more
118    {{- if eq .chezmoi.hostname "angmar" }}
119    workspace_swipe = off
120    {{- else if eq .chezmoi.hostname "sidhe" }}
121    workspace_swipe = yes
122    workspace_swipe_forever = yes
123    {{- else }}
124    workspace_swipe = off
125    {{- end }}
126}
127
128misc {
129    # See https://wiki.hyprland.org/Configuring/Variables/ for more
130    disable_hyprland_logo   = true
131    force_default_wallpaper = 0 # Set to 0 to disable the anime mascot wallpapers
132    enable_swallow          = yes
133    focus_on_activate       = no
134    background_color        = rgb(24273A)
135}
136
137# Example windowrule v1
138# windowrule = float, ^(kitty)$
139# Example windowrule v2
140# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
141# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
142windowrulev2 = nomaximizerequest, class:.* # You'll probably like this.
143
144
145# See https://wiki.hyprland.org/Configuring/Keywords/ for more
146$mod = SUPER
147
148# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
149# Applications
150bindr = $mod      , Z                    , exec          , rofi -show drun
151bindr = $mod SHIFT, Z                    , exec          , rofi -show run
152bind  = $mod      , RETURN               , exec          , $terminal
153bind  = $mod      , E                    , exec          , $fileManager
154
155# System controls
156bind  = $mod SHIFT, Q                    , killactive    ,
157bind  = $mod      , M                    , exit          ,
158bind  = $mod      , V                    , togglefloating,
159bind  = $mod      , P                    , pseudo        , # dwindle
160bind  = $mod      , J                    , togglesplit   , # dwindle
161bind  =           , XF86AudioRaiseVolume , exec          , pactl set-sink-volume @DEFAULT_SINK@ +10%
162bind  =           , XF86AudioLowerVolume , exec          , pactl set-sink-volume @DEFAULT_SINK@ -10%
163bind  =           , XF86AudioMute        , exec          , pactl set-sink-mute @DEFAULT_SINK@ toggle
164bind  =           , XF86AudioMicMute     , exec          , pactl set-source-mute @DEFAULT_SOURCE@ toggle
165bind  =           , XF86AudioPlay        , exec          , playerctl play-pause
166bind  =           , XF86AudioNext        , exec          , playerctl next
167bind  =           , XF86AudioPrev        , exec          , playerctl previous
168bind  =           , XF86MonBrightnessUp  , exec          , xbacklight +5
169bind  =           , XF86MonBrightnessDown, exec          , xbacklight -5
170
171# Notification controls
172bind  = $mod      , N, exec, dunstctl close-all
173bind  = $mod SHIFT, N, exec, dunstctl history-pop
174bind  = $mod CTRL , N, exec, dunstctl context
175
176# Move focus with mod + arrow keys
177bind = $mod, left , movefocus, l
178bind = $mod, right, movefocus, r
179bind = $mod, up   , movefocus, u
180bind = $mod, down , movefocus, d
181
182# Switch workspaces with mod + [0-9]
183bind = $mod, 1, workspace, 1
184bind = $mod, 2, workspace, 2
185bind = $mod, 3, workspace, 3
186bind = $mod, 4, workspace, 4
187bind = $mod, 5, workspace, 5
188bind = $mod, 6, workspace, 6
189bind = $mod, 7, workspace, 7
190bind = $mod, 8, workspace, 8
191bind = $mod, 9, workspace, 9
192bind = $mod, 0, workspace, 10
193
194# Move active window to a workspace with mod + SHIFT + [0-9]
195bind = $mod SHIFT, 1, movetoworkspace, 1
196bind = $mod SHIFT, 2, movetoworkspace, 2
197bind = $mod SHIFT, 3, movetoworkspace, 3
198bind = $mod SHIFT, 4, movetoworkspace, 4
199bind = $mod SHIFT, 5, movetoworkspace, 5
200bind = $mod SHIFT, 6, movetoworkspace, 6
201bind = $mod SHIFT, 7, movetoworkspace, 7
202bind = $mod SHIFT, 8, movetoworkspace, 8
203bind = $mod SHIFT, 9, movetoworkspace, 9
204bind = $mod SHIFT, 0, movetoworkspace, 10
205
206# Example special workspace (scratchpad)
207bind = $mod      , S, togglespecialworkspace, magic
208bind = $mod SHIFT, S, movetoworkspace       , special:magic
209
210# Scroll through existing workspaces with mod + scroll
211bind = $mod, mouse_down, workspace, e+1
212bind = $mod, mouse_up  , workspace, e-1
213
214# Move/resize windows with mod + LMB/RMB and dragging
215bindm = $mod, mouse:272, movewindow
216bindm = $mod, mouse:273, resizewindow