|
| 1 | +#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ |
| 2 | + |
| 3 | +# ╔═╗┬─┐┌─┐┌─┐┌┬┐┬┌─┐┌─┐┬ ┬ ┬ ╦ ╦┬ ┬┌─┐┬─┐┬ ┌─┐┌┐┌┌┬┐ |
| 4 | +# ╠═╝├┬┘├─┤│ │ ││ ├─┤│ │ │ ╠═╣└┬┘├─┘├┬┘│ ├─┤│││ ││ |
| 5 | +# ╩ ┴└─┴ ┴└─┘ ┴ ┴└─┘┴ ┴┴─┘┴─┘┴ ╩ ╩ ┴ ┴ ┴└─┴─┘┴ ┴┘└┘─┴┘ |
| 6 | + |
| 7 | +# Config assembled from Garuda Linux and Hyde configs |
| 8 | +# ASCII generator using Calvin S |
| 9 | +# https://patorjk.com/software/taag/#p=display&f=Calvin%20S |
| 10 | +# |
| 11 | +# Refer to https://wiki.hyprland.org and |
| 12 | +# https://wiki.hyprland.org/Configuring/Variables/ |
| 13 | +# https://wiki.hyprland.org/Configuring/Keywords/ |
| 14 | +# ####################################################################################### |
| 15 | + |
| 16 | + |
| 17 | +#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ |
| 18 | + |
| 19 | +# ╦┌┐┌┌─┐┬ ┬ ┬┌┬┐┌─┐ ╔═╗┌─┐┌┐┌┌─┐┬┌─┐┌─┐ |
| 20 | +# ║││││ │ │ │ ││├┤ ║ │ ││││├┤ ││ ┬└─┐ |
| 21 | +# ╩┘└┘└─┘┴─┘└─┘─┴┘└─┘ ╚═╝└─┘┘└┘└ ┴└─┘└─┘ |
| 22 | + |
| 23 | + |
| 24 | +source = ./keybindings.conf # Keyboard shortcuts |
| 25 | +source = ./monitors.conf # Monitor configuration |
| 26 | +# source = ./windowrules.conf # Window rules |
| 27 | +# source = ./userprefs.conf # Personal hyprland configuration |
| 28 | + |
| 29 | +#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ |
| 30 | + |
| 31 | + |
| 32 | +#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ |
| 33 | + |
| 34 | +# ╦╔═┌─┐┬ ┬┌┐ ┌─┐┌─┐┬─┐┌┬┐ ┬ ╔╦╗┌─┐┬ ┬┌─┐┌─┐ |
| 35 | +# ╠╩╗├┤ └┬┘├┴┐│ │├─┤├┬┘ ││ ┌┼─ ║║║│ ││ │└─┐├┤ |
| 36 | +# ╩ ╩└─┘ ┴ └─┘└─┘┴ ┴┴└──┴┘ └┘ ╩ ╩└─┘└─┘└─┘└─┘ |
| 37 | + |
| 38 | +# https://wiki.hyprland.org/Configuring/Variables/#input |
| 39 | +input { |
| 40 | + kb_layout = us |
| 41 | + kb_variant = |
| 42 | + kb_model = |
| 43 | + kb_options = |
| 44 | + kb_rules = |
| 45 | + |
| 46 | + follow_mouse = 1 |
| 47 | + |
| 48 | + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. |
| 49 | + |
| 50 | + touchpad { |
| 51 | + natural_scroll = true |
| 52 | + tap-to-click = true |
| 53 | + disable_while_typing = true |
| 54 | + } |
| 55 | +} |
| 56 | + |
| 57 | +# https://wiki.hyprland.org/Configuring/Variables/#gestures |
| 58 | +gestures { |
| 59 | + workspace_swipe = false |
| 60 | +} |
| 61 | + |
| 62 | +#device:epic mouse V1 { |
| 63 | +# sensitivity = -0.5 |
| 64 | +#} |
| 65 | + |
| 66 | +#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ |
| 67 | + |
| 68 | +# ╔═╗┌┬┐┌─┐┬─┐┌┬┐┬ ┬┌─┐ ╔═╗┌─┐┌─┐┌─┐ |
| 69 | +# ╚═╗ │ ├─┤├┬┘ │ │ │├─┘ ╠═╣├─┘├─┘└─┐ |
| 70 | +# ╚═╝ ┴ ┴ ┴┴└─ ┴ └─┘┴ ╩ ╩┴ ┴ └─┘ |
| 71 | + |
| 72 | +# Execute your favorite apps at launch |
| 73 | + |
| 74 | +# background wallpaper |
| 75 | +exec-once = wpaperd |
| 76 | + |
| 77 | +# status bar |
| 78 | +exec-once = waybar |
| 79 | +layerrule = blur , waybar |
| 80 | +layerrule = ignorezero , waybar |
| 81 | + |
| 82 | +# Notifications |
| 83 | +exec-once = mako |
| 84 | + |
| 85 | +# Authentication key ring ? |
| 86 | +# exec-once =/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 |
| 87 | +# exec-once = foot --server |
| 88 | +# experimental(might work might won't) |
| 89 | + |
| 90 | +# pre executions (under development) |
| 91 | +exec-once=exec xrdb -load ~/.Xresources |
| 92 | + |
| 93 | +# Clipboard Manager |
| 94 | +exec-once = wl-paste --type text --watch cliphist store #Stores only text data |
| 95 | +exec-once = wl-paste --type image --watch cliphist store #Stores only image data |
| 96 | +bind = SUPER, V, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy |
| 97 | + |
| 98 | +## Hypr Ecosystem |
| 99 | +# Screensaver |
| 100 | +exec-once = hypridle |
| 101 | + |
| 102 | +# exec-once = garuda-welcome |
| 103 | + |
| 104 | +# Add networkmanager applet to tray in waybar |
| 105 | +# exec-once = nm-applet --indicator |
| 106 | + |
| 107 | +# Set keyboard layout |
| 108 | +# exec-once = .local/bin/garuda-locale.sh |
| 109 | + |
| 110 | +# Set monitor values. For own values, please comment with # |
| 111 | +# exec-once = .local/bin/mon.sh |
| 112 | + |
| 113 | +# Source a file (multi-file configs) |
| 114 | +# source = ~/.config/hypr/myColors.conf |
| 115 | + |
| 116 | + |
| 117 | +#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ |
| 118 | + |
| 119 | +# ╦ ╦┬┌┐┌┌┬┐┌─┐┬ ┬┌─┐ ┬ ╔╦╗┌─┐┌─┐┌─┐┬─┐┌─┐┌┬┐┬┌─┐┌┐┌┌─┐ |
| 120 | +# ║║║││││ │││ ││││└─┐ ┌┼─ ║║├┤ │ │ │├┬┘├─┤ │ ││ ││││└─┐ |
| 121 | +# ╚╩╝┴┘└┘─┴┘└─┘└┴┘└─┘ └┘ ═╩╝└─┘└─┘└─┘┴└─┴ ┴ ┴ ┴└─┘┘└┘└─┘ |
| 122 | + |
| 123 | +general { |
| 124 | + # See https://wiki.hyprland.org/Configuring/Variables/ for more |
| 125 | + |
| 126 | + gaps_in = 5 |
| 127 | + gaps_out = 20 |
| 128 | + border_size = 4 |
| 129 | + col.active_border = rgba(33ccffee) rgba(8f00ffee) 45deg |
| 130 | + col.inactive_border = rgba(595959aa) |
| 131 | + |
| 132 | + layout = dwindle |
| 133 | +} |
| 134 | + |
| 135 | +decoration { |
| 136 | + # See https://wiki.hyprland.org/Configuring/Variables/ for more |
| 137 | + |
| 138 | + rounding = 10 |
| 139 | + blur { |
| 140 | + enabled = true |
| 141 | + size = 5 |
| 142 | + passes = 1 |
| 143 | + } |
| 144 | + |
| 145 | + shadow { |
| 146 | + enabled = true |
| 147 | + range = 4 |
| 148 | + render_power = 3 |
| 149 | + color = rgba(1a1a1aee) |
| 150 | + } |
| 151 | +} |
| 152 | + |
| 153 | +animations { |
| 154 | + enabled = true |
| 155 | + |
| 156 | + # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more |
| 157 | + |
| 158 | + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 |
| 159 | + |
| 160 | + animation = windows, 1, 7, myBezier |
| 161 | + animation = windowsOut, 1, 7, default, popin 80% |
| 162 | + animation = border, 1, 10, default |
| 163 | + animation = fade, 1, 7, default |
| 164 | + animation = workspaces, 1, 6, default |
| 165 | +} |
| 166 | + |
| 167 | +dwindle { |
| 168 | + # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more |
| 169 | + pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below |
| 170 | + preserve_split = true # you probably want this |
| 171 | +} |
| 172 | + |
| 173 | +master { |
| 174 | + # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more |
| 175 | + new_status = master |
| 176 | +} |
| 177 | + |
| 178 | +misc { |
| 179 | + disable_hyprland_logo = true |
| 180 | +} |
| 181 | + |
| 182 | + |
| 183 | +#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ |
| 184 | + |
| 185 | + |
| 186 | +#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ |
| 187 | +# ╦ ╦┬┌┐┌┌┬┐┌─┐┬ ┬ ╦═╗┬ ┬┬ ┌─┐┌─┐ |
| 188 | +# ║║║││││ │││ ││││ ╠╦╝│ ││ ├┤ └─┐ |
| 189 | +# ╚╩╝┴┘└┘─┴┘└─┘└┴┘ ╩╚═└─┘┴─┘└─┘└─┘ |
| 190 | + |
| 191 | +# NOTE: rules cause errors in hypr.conf - perhaps syntax has changed? |
| 192 | + |
| 193 | +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more |
| 194 | +# Example windowrule v1 |
| 195 | +# windowrule = float, ^(kitty)$ |
| 196 | +# windowrule = float, ^(garuda-assistant)$ |
| 197 | +# windowrule = float, ^(garuda-boot-options)$ |
| 198 | +# windowrule = float, ^(garuda-boot-repair)$ |
| 199 | +# windowrule = float, ^(garuda-gamer)$ |
| 200 | +# windowrule = float, ^(garuda-network-assistant)$ |
| 201 | +# windowrule = float, ^(garuda-settings-manager)$ |
| 202 | +# windowrule = float, ^(garuda-welcome)$ |
| 203 | +# windowrule = float, ^(calamares)$ |
| 204 | + |
| 205 | +# Example windowrule v2 |
| 206 | +# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ |
| 207 | + |
| 208 | +#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ |
| 209 | + |
| 210 | + |
| 211 | +# Screenshots: |
| 212 | +# |
| 213 | +# Change to swappy https://github.com/jtheoof/swappy |
| 214 | +# Old functions only commented out to make it easier for the user to change if necessary. |
| 215 | + |
| 216 | + |
| 217 | +# https://github.com/hyprwm/contrib/blob/main/grimblast/grimblast.1.scd |
| 218 | +# Print: All outputs |
| 219 | +# SHIFT+Print: Select area |
| 220 | +# $mainMod+Print: Current window |
| 221 | +# $mainMod+Shfit+Print: Current output |
| 222 | +# |
| 223 | +bind = ,Print, exec, grimblast save screen && notify-send Screenshot captured |
| 224 | +bind = SHIFT, Print, exec, grimblast save area && notify-send Selected\ area captured |
| 225 | +bind = $mainMod, Print, exec, grimblast save active && notify-send Active\ window captured |
| 226 | +bind = $mainMod SHIFT, Print, exec, grimblast output active && notify-send Output captured |
| 227 | + |
| 228 | +# for resizing window |
| 229 | +# will switch to a submap called resize |
| 230 | +bind=$mainMod,R,submap,resize |
| 231 | + |
| 232 | +# will start a submap called "resize" |
| 233 | +submap=resize |
| 234 | + |
| 235 | +# sets repeatable binds for resizing the active window |
| 236 | +binde=,right,resizeactive,50 0 |
| 237 | +binde=,L,resizeactive,50 0 |
| 238 | +binde=,left,resizeactive,-50 0 |
| 239 | +binde=,H,resizeactive,-50 0 |
| 240 | +binde=,up,resizeactive,0 -50 |
| 241 | +binde=,K,resizeactive,0 -50 |
| 242 | +binde=,down,resizeactive,0 50 |
| 243 | +binde=,J,resizeactive,0 50 |
| 244 | + |
| 245 | +# use reset to go back to the global submap |
| 246 | +bind=,escape,submap,reset |
| 247 | + |
| 248 | +# will reset the submap, meaning end the current one and return to the global one |
| 249 | +submap=reset |
| 250 | + |
| 251 | +# to move window |
| 252 | +bind = $mainMod SHIFT,up, movewindow, u |
| 253 | +bind = $mainMod SHIFT,K, movewindow, u |
| 254 | +bind = $mainMod SHIFT,down, movewindow, d |
| 255 | +bind = $mainMod SHIFT,J, movewindow, d |
| 256 | +bind = $mainMod SHIFT,left, movewindow, l |
| 257 | +bind = $mainMod SHIFT,H, movewindow, l |
| 258 | +bind = $mainMod SHIFT,right, movewindow, r |
| 259 | +bind = $mainMod SHIFT,L, movewindow, r |
| 260 | + |
| 261 | +# special workspace |
| 262 | + |
| 263 | +bind = $mainMod SHIFT, S, togglespecialworkspace, magic |
| 264 | +bind = $mainMod SHIFT, S, movetoworkspace, +0 |
| 265 | +bind = $mainMod SHIFT, S, togglespecialworkspace, magic |
| 266 | +bind = $mainMod SHIFT, S, movetoworkspace, special:magic |
| 267 | +bind = $mainMod SHIFT, S, togglespecialworkspace, magic |
| 268 | + |
| 269 | +# other blurings |
| 270 | +blurls = wofi |
| 271 | +blurls = thunar |
| 272 | +blurls = gedit |
| 273 | +blurls = gtk-layer-shell # for nwg-drawer |
| 274 | +blurls = catfish |
| 275 | +# window rules |
| 276 | +# windowrule = opacity 0.85 override 0.85 override,^(thunar)$ |
| 277 | +# windowrule = opacity 0.85 override 0.85 override,^(gedit)$ |
| 278 | +# windowrule = opacity 0.85 override 0.85 override,^(catfish)$ |
| 279 | +# windowrule = stayfocused, ^(wofi)$ |
| 280 | + |
| 281 | +# window rules with evaluation |
| 282 | +windowrulev2 = opacity 0.85 0.85,floating:1 |
| 283 | + |
| 284 | +exec-once = mako |
| 285 | +exec-once =/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 |
| 286 | +exec-once = foot --server |
| 287 | +# experimental(might work might won't) |
| 288 | + |
| 289 | +# pre executions (under development) |
| 290 | +exec-once=exec xrdb -load ~/.Xresources |
| 291 | + |
| 292 | +# Clipboard Manager |
| 293 | +exec-once = wl-paste --type text --watch cliphist store #Stores only text data |
| 294 | +exec-once = wl-paste --type image --watch cliphist store #Stores only image data |
| 295 | +bind = SUPER, V, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy |
| 296 | + |
| 297 | +# video play paues bindings |
| 298 | +bind=,172,exec,playerctl play-pause |
| 299 | +bind=,171,exec,playerctl next |
| 300 | +bind=,173,exec,playerctl previous |
| 301 | + |
| 302 | +# Use gtk-settings |
| 303 | +exec-once = apply-gsettings |
| 304 | + |
| 305 | + |
| 306 | +# Performance Tweaks (For less power consumption without sacrificing performance) |
| 307 | +# See : https://wiki.hyprland.org/Configuring/Performance/ |
| 308 | +misc:vfr = true |
| 309 | + |
| 310 | +# enable G-Hyprland |
| 311 | +bind = $mainMod SHIFT, G, exec, footclient -e ~/.local/bin/bear/implement_gum.sh enable |
| 312 | +# Install Garuda Hyprland |
| 313 | +bind = $mainMod, I, exec, .local/bin/calamares.sh |
| 314 | + |
| 315 | +# some env variables |
| 316 | +env = XDG_CURRENT_DESKTOP,Hyprland |
| 317 | +# we usually prefer things to be set up through script |
| 318 | +# have a look at hyprstart file |
| 319 | + |
| 320 | +## Hypr Ecosystem |
| 321 | +# hypridle |
| 322 | +exec-once = hypridle |
0 commit comments