I don't have nvidia GPU, and this workaround caused my cursor to disappear in some cases (such as when using Cage with some apps, or when using Waydroid)
198 lines
6.8 KiB
Text
198 lines
6.8 KiB
Text
exec-once = /usr/lib/polkit-kde-authentication-agent-1
|
|
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
|
exec-once = xrdb ${XDG_CONFIG_HOME:-$HOME/.config}/Xresources
|
|
exec-once = eww-launch
|
|
exec-once = unclutter
|
|
exec-once = dunst
|
|
exec-once = numlockx
|
|
exec-once = lxpolkit
|
|
exec-once = fcitx5 -d
|
|
exec-once = xsettingsd &
|
|
#exec-once = mpvpaper -vs -o "no-audio loop" VGA-1 /home/ziro/my\ Files/Wallpaper/HoloLive/Torii\ Gate/Torii\ Gate.webm &
|
|
exec-once = swww query || sleep 1; swww init --format xrgb && swww img -t none $HOME/Wallpaper/HoloLive/Torii\ Gate/Torii\ Gate.gif
|
|
|
|
monitor=,preferred,auto,1
|
|
|
|
# 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
|
|
|
|
natural_scroll = yes
|
|
|
|
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 = 0
|
|
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_status = master
|
|
}
|
|
|
|
# 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)$
|
|
# >> Waydroid bullshit
|
|
windowrulev2 = stayfocused,title:^(XtMapper)$
|
|
windowrulev2 = noblur,title:^(XtMapper)$
|
|
windowrulev2 = float,title:^(XtMapper)$
|
|
windowrulev2 = move 0 28,title:^(XtMapper)$
|
|
windowrulev2 = rounding 0,title:^(XtMapper)$
|
|
#windowrulev2 = maxsize 1366 734,title:^(XtMapper)$
|
|
#windowrulev2 = minsize 1366 734,title:^(XtMapper)$
|
|
# <<
|
|
windowrulev2 = noblur,title:^(flameshot)$
|
|
windowrulev2 = float,title:^(flameshot)$
|
|
windowrulev2 = noanim,title:^(flameshot)$ # still fading when it closes, but close enough
|
|
|
|
# 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
|
|
# >> In case flameshot stop working again
|
|
#bind = , Print, exec, grim -g "$(slurp)" - | wl-copy
|
|
# <<
|
|
# >> Commented because flameshot clipboard support for wayland is buggy, probably because they use KDE's clipboard library
|
|
# I'll be feeding flameshot's raw output to wl-copy for now
|
|
#bind = , Print, exec, env XDG_CURRENT_DESKTOP="sway" flameshot gui
|
|
# <<
|
|
# >> zi-copy is a custom private script
|
|
# It basically prompt me if I want to upload the result to S3 (using s3cmd) before copying to clipboard or not
|
|
bind = , Print, exec, env XDG_CURRENT_DESKTOP="sway" flameshot gui --raw | $(zi-copy || 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
|
|
|
|
env = GDK_BACKEND,wayland,x11
|
|
env = SDL_VIDEODRIVER,wayland
|
|
env = CLUTTER_BACKEND,wayland
|
|
env = MOZ_ENABLE_WAYLAND,1
|
|
env = MOZ_DISABLE_RDD_SANDBOX,1
|
|
env = _JAVA_AWT_WM_NONREPARENTING=1
|
|
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
|
|
env = QT_QPA_PLATFORM,wayland
|
|
#env = LIBVA_DRIVER_NAME,nvidia
|
|
#env = GBM_BACKEND,nvidia-drm
|
|
#env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
|
env = __NV_PRIME_RENDER_OFFLOAD,1
|
|
#env = __VK_LAYER_NV_optimus,NVIDIA_only
|
|
env = PROTON_ENABLE_NGX_UPDATER,1
|
|
env = NVD_BACKEND,direct
|
|
env = __GL_GSYNC_ALLOWED,1
|
|
env = __GL_VRR_ALLOWED,1
|
|
env = WLR_DRM_NO_ATOMIC,1
|
|
env = WLR_USE_LIBINPUT,1
|
|
env = XWAYLAND_NO_GLAMOR,1 # with this you'll need to use gamescope for gaming
|
|
env = __GL_MaxFramesAllowed,1
|
|
env = WLR_RENDERER_ALLOW_SOFTWARE,1
|
|
|
|
cursor {
|
|
no_hardware_cursors = false
|
|
}
|