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=DP-1,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# Some default env vars.
26env = XCURSOR_SIZE,24
27
28# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
29input {
30 kb_layout = us
31 kb_variant =
32 kb_model =
33 kb_options = compose:ralt
34 kb_rules =
35 repeat_rate = 60
36 repeat_delay = 300
37
38 follow_mouse = 1
39
40 touchpad {
41 natural_scroll = no
42 disable_while_typing = yes
43 clickfinger_behavior = yes
44 tap-to-click = yes
45 drag_lock = yes
46 tap-and-drag = yes
47 }
48
49 sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
50}
51
52general {
53 # See https://wiki.hyprland.org/Configuring/Variables/ for more
54
55 gaps_in = 10
56 gaps_out = 10
57 border_size = 2
58 col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
59 col.inactive_border = rgba(595959aa)
60
61 resize_on_border = yes
62 extend_border_grab_area = yes
63 hover_icon_on_border = yes
64
65 layout = dwindle
66
67 # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
68 allow_tearing = false
69}
70
71decoration {
72 # See https://wiki.hyprland.org/Configuring/Variables/ for more
73
74 rounding = 10
75
76 blur {
77 enabled = true
78 size = 3
79 passes = 1
80 }
81
82 drop_shadow = yes
83 shadow_range = 4
84 shadow_render_power = 3
85 col.shadow = rgba(1a1a1aee)
86}
87
88animations {
89 enabled = yes
90
91 # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
92
93 bezier = myBezier, 0.05, 0.9, 0.1, 1.05
94
95 animation = windows , 1, 7 , myBezier,
96 animation = windowsOut , 1, 7 , default , popin 80%
97 animation = border , 1, 10, default ,
98 animation = borderangle, 1, 8 , default ,
99 animation = fade , 1, 7 , default ,
100 animation = workspaces , 1, 6 , default ,
101}
102
103dwindle {
104 # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
105 pseudotile = false
106 preserve_split = true
107 force_split = 2
108 no_gaps_when_only = true
109}
110
111gestures {
112 # See https://wiki.hyprland.org/Configuring/Variables/ for more
113 {{- if eq .chezmoi.hostname "angmar" }}
114 workspace_swipe = off
115 {{- else if eq .chezmoi.hostname "sidhe" }}
116 workspace_swipe = yes
117 workspace_swipe_forever = yes
118 {{- else }}
119 workspace_swipe = off
120 {{- end }}
121}
122
123group {
124 insert_after_current = false
125
126 groupbar {
127 font_family = "{{ .font }}"
128 font_size = 12
129{{- if eq .theme_variant "light" }}
130 text_color = rgb(4c4f69)
131 col.active = rgba(cdd6f4b0) rgba(cdd6f400) 0deg
132 col.inactive = rgba(dce0e8b0) rgba(dce0e800) 0deg
133{{- else if eq .theme_variant "dark" }}
134 col.active = rgba(b7bdf8ff)
135 col.inactive = rgba(6e738dff)
136{{- end }}
137 }
138}
139
140misc {
141 # See https://wiki.hyprland.org/Configuring/Variables/ for more
142 disable_hyprland_logo = true
143 force_default_wallpaper = 0 # Set to 0 to disable the anime mascot wallpapers
144 enable_swallow = yes
145 swallow_regex = "^c .*"
146 swallow_exception_regex = ".*Doom Emacs$"
147 focus_on_activate = no
148{{- if eq .chezmoi.hostname "angmar" }}
149 vrr = 1
150{{- else if eq .chezmoi.hostname "sidhe" }}
151 vrr = 0
152{{- end }}
153{{- if eq .theme_variant "light" }}
154 background_color = rgb(eff1f5)
155{{- else if eq .theme_variant "dark" }}
156 background_color = rgb(24273A)
157{{- end }}
158}
159
160# Example windowrule v1
161# windowrule = float, ^(kitty)$
162# Example windowrule v2
163# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
164# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
165# TODO: Migrate this:
166# windowrulev2 = nomaximizerequest, class:.* # You'll probably like this.
167windowrulev2 = workspace 4,class:(steam)
168windowrulev2 = workspace 6,class:(org.gajim.Gajim|org.telegram.desktop)
169
170
171# See https://wiki.hyprland.org/Configuring/Keywords/ for more
172$mod = SUPER
173
174# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
175# Applications
176bindr = $mod , Z , exec , rofi -show drun
177bindr = $mod SHIFT, Z , exec , rofi -show run
178bind = $mod , RETURN , exec , alacritty
179bind = $mod SHIFT, RETURN , exec , emacsclient -c
180bind = $mod , E , exec , nautilus
181
182# System controls
183bind = $mod SHIFT, Q , killactive ,
184bind = $mod SHIFT, E , exit ,
185bind = $mod SHIFT, L , exec , /home/amolith/.local/bin/lockscreen
186bind = $mod , V , togglefloating,
187bind = $mod , P , pseudo , # dwindle
188bind = $mod , J , togglesplit , # dwindle
189bind = , XF86AudioRaiseVolume , exec , pactl set-sink-volume @DEFAULT_SINK@ +10%
190bind = , XF86AudioLowerVolume , exec , pactl set-sink-volume @DEFAULT_SINK@ -10%
191bind = , XF86AudioMute , exec , pactl set-sink-mute @DEFAULT_SINK@ toggle
192bind = , XF86AudioMicMute , exec , pactl set-source-mute @DEFAULT_SOURCE@ toggle
193bind = , XF86AudioPlay , exec , playerctl play-pause
194bind = , XF86AudioNext , exec , playerctl next
195bind = , XF86AudioPrev , exec , playerctl previous
196bind = , XF86MonBrightnessUp , exec , xbacklight +5
197bind = , XF86MonBrightnessDown, exec , xbacklight -5
198
199# Notification controls
200bind = $mod , N, exec, dunstctl close-all
201bind = $mod SHIFT, N, exec, dunstctl history-pop
202bind = $mod CTRL , N, exec, dunstctl context
203
204# Window groups (analogous to i3 tabs)
205bind = $mod SHIFT, g, togglegroup
206bind = $mod , g, changegroupactive
207
208# Move focus with mod + Vim keys
209bind = $mod, h, movefocus, l
210bind = $mod, l, movefocus, r
211bind = $mod, j, movefocus, d
212bind = $mod, k, movefocus, u
213
214# Move active with mod + Vim keys
215bind = $mod SHIFT, h, moveactive, l
216bind = $mod SHIFT, l, moveactive, r
217bind = $mod SHIFT, j, moveactive, d
218bind = $mod SHIFT, k, moveactive, u
219
220# Switch workspaces with mod + [0-9]
221bind = $mod, 1, workspace, 1
222bind = $mod, 2, workspace, 2
223bind = $mod, 3, workspace, 3
224bind = $mod, 4, workspace, 4
225bind = $mod, 5, workspace, 5
226bind = $mod, 6, workspace, 6
227bind = $mod, 7, workspace, 7
228bind = $mod, 8, workspace, 8
229bind = $mod, 9, workspace, 9
230bind = $mod, 0, workspace, 10
231
232# Move active window to a workspace with mod + SHIFT + [0-9]
233bind = $mod SHIFT, 1, movetoworkspace, 1
234bind = $mod SHIFT, 2, movetoworkspace, 2
235bind = $mod SHIFT, 3, movetoworkspace, 3
236bind = $mod SHIFT, 4, movetoworkspace, 4
237bind = $mod SHIFT, 5, movetoworkspace, 5
238bind = $mod SHIFT, 6, movetoworkspace, 6
239bind = $mod SHIFT, 7, movetoworkspace, 7
240bind = $mod SHIFT, 8, movetoworkspace, 8
241bind = $mod SHIFT, 9, movetoworkspace, 9
242bind = $mod SHIFT, 0, movetoworkspace, 10
243
244# Example special workspace (scratchpad)
245bind = $mod , S, togglespecialworkspace, magic
246bind = $mod SHIFT, S, movetoworkspace , special:magic
247
248# Scroll through existing workspaces with mod + scroll
249bind = $mod, mouse_down, workspace, e+1
250bind = $mod, mouse_up , workspace, e-1
251
252# Move/resize windows with mod + LMB/RMB and dragging
253bindm = $mod, mouse:272, movewindow
254bindm = $mod, mouse:273, resizewindow
255
256exec-once = "/home/amolith/.local/bin/startup"