dotfiles/.config/hypr/hyprland.conf

149 lines
4.8 KiB
Text

exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = xrdb ${XDG_CONFIG_HOME:-$HOME/.config}/Xresources
exec-once = waybar
exec-once = unclutter
exec-once = dunst
exec-once = numlockx
exec-once = lxpolkit
exec-once = nitrogen --restore
exec-once = fcitx5 -d
#exec-once = mpvpaper -vs -o "no-audio loop" VGA-1 /home/ziro/my\ Files/Wallpaper/HoloLive/Torii\ Gate/Torii\ Gate.webm &
monitor=,preferred,auto,auto
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = us
kb_variant =
kb_model =
kb_options =
kb_rules =
follow_mouse = 1
touchpad {
natural_scroll = no
}
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}
general {
gaps_in = 5
gaps_out = 20
border_size = 2
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa)
layout = dwindle
}
decoration {
rounding = 5
blur {
enabled = 1
size = 3
passes = 1
new_optimizations = 1
}
drop_shadow = yes
shadow_range = 4
shadow_render_power = 3
col.shadow = rgba(1a1a1aee)
}
animations {
enabled = yes
bezier = myBezier, 0.05, 1, 0.1, 1
animation = windows, 1, 5, myBezier
animation = windowsOut, 1, 6, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 5, default
}
dwindle {
pseudotile = on
preserve_split = on
no_gaps_when_only = on
}
master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_is_master = on
}
# I don't use Trackpads/Touchpads, gestures basically useless for me (for now)
#gestures {
# # See https://wiki.hyprland.org/Configuring/Variables/ for more
# workspace_swipe = off
#}
# Seems like spotify spawn act a bit different compared to most process spawn,
# my workaround for now is by creating a shell script, since I use shell script for spotify anyway to inject adblocker it's no problem to me:
# ========================
# #!/bin/sh
# LD_PRELOAD=/usr/local/lib/spotify-adblock.so $(realpath -L $(which spotify)) --no-zygote --disable-gpu --disable-software-rasterizer &
# sleep 0.5 # wait a bit until spotify ready before toggling off float for spotify
# hyprctl dispatch togglefloating '^(Spotify)$'
# ========================
#windowrule = unset,^(Spotify)$
#windowrule = tile,^(Spotify)$
# Alt Key = Mostly for terminals only
$mainMod = SUPER # Super Key = General MOD for WM
$metaMod = SUPER ALT # Super + Alt = MOD key(s) that control/modify the WM's behaviour
$spaceMod = SUPER SHIFT # Super + Shift = MOD key(s) that control/modify the Workspace's behaviour
bind = $mainMod, T, exec, kitty
bind = $mainMod, Q, killactive,
bind = $mainMod, B, exec, $BROWSER
bind = , Print, exec, grim -g "$(slurp)" - | wl-copy
bind = $mainMod, Space, exec, exec `tofi-run` 2>/dev/null
bind = $metaMod, Q, exit,
bind = $metaMod, F, togglefloating,
bind = $metaMod, S, pin,
bind = $metaMod, P, pseudo, # for dwindle only
bind = $metaMod, J, togglesplit, # for dwindle only
# Window focus
bind = $mainMod, H, movefocus, l
bind = $mainMod, L, movefocus, r
bind = $mainMod, K, movefocus, u
bind = $mainMod, J, movefocus, d
# Workspace
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 = $spaceMod, 1, movetoworkspace, 1
bind = $spaceMod, 2, movetoworkspace, 2
bind = $spaceMod, 3, movetoworkspace, 3
bind = $spaceMod, 4, movetoworkspace, 4
bind = $spaceMod, 5, movetoworkspace, 5
bind = $spaceMod, 6, movetoworkspace, 6
bind = $spaceMod, 7, movetoworkspace, 7
bind = $spaceMod, 8, movetoworkspace, 8
bind = $spaceMod, 9, movetoworkspace, 9
bind = $spaceMod, 0, movetoworkspace, 10
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow