feat(home/linux/gui/hyprland): hypridle & windowrules & keybindings

This commit is contained in:
Ryan Yin
2025-06-01 11:19:04 +08:00
parent 41be352b2c
commit fa9aaa6d27
7 changed files with 333 additions and 149 deletions

View File

@@ -1,28 +1,66 @@
#-- Window Rules ----------------------------------------------------
windowrule=float, class:^(yad|nm-connection-editor|pavucontrolk)$
windowrule=float, class:^(xfce-polkit|kvantummanager|qt5ct)$
windowrule=float, class:^(feh|imv|Gpicview|Gimp|nomacs)$
windowrule=float, class:^(VirtualBox Manager|qemu|Qemu-system-x86_64)$
windowrule=float, class:^(xfce4-appfinder)$
# You can discover a class with 'hyprctl clients'
# Check the syntax on: https://wiki.hyprland.org/Configuring/Window-Rules/
# foot
windowrule=float, class:^(foot-float)$
windowrule=float, class:^(foot-full)$
windowrule=move 0 0, class:^(foot-full)$
windowrule=size 100% 100%,class:^(foot-full)$
# WINDOW RULES
# ============================================================================
# Workspace RULE WINDOW
# Terminals
windowrulev2 = workspace 1, class:^(foot)$
windowrulev2 = workspace 2, class:^(Alacritty)$
# Work Chat / Meeting
windowrulev2 = workspace 3, class:^(zoom)$
# Browsers
windowrulev2 = workspace 4, class:^(firefox)$
windowrulev2 = workspace 5, class:^(google-chrome)$
# Chat
windowrulev2 = workspace 6, class:^(QQ)$
windowrulev2 = workspace 6, class:^(org.telegram.desktop)$
# Music
# windowrulev2 = workspace 7, class:^(music)$
# Mail / Calendahunar)$
# Other
windowrulev2 = workspace 9, class:^(code)$ # VS Code
windowrulev2 = workspace 9, class:^(org.wireshark.Wireshark)$
# Float RULE WINDOW
windowrulev2 = float, class:^(pulsemixer)$
windowrulev2 = float, class:^(org.pulseaudio.pavucontrol)$
windowrulev2 = float, class:^(nm-connection-editor)$
windowrulev2 = float, class:^(feh|imv|Gpicview)$
windowrulev2 = float, title:^(File Transfer*)$
windowrulev2 = float, title:^(Firefox — Sharing Indicator)$
windowrulev2 = float, class:^(firefox)$,title:^(library)
windowrulev2 = float, title:^(Save File)$
windowrulev2 = float, class:^(blueman-manager)$
windowrulev2 = float, class:^(thunderbird)$,title:^(.*Reminder)
# HOT FIXES
# ============================================================================
# Steam
# Fix: Steam menus dissapearing on mouseover
windowrulev2 = stayfocused, title:^()$, class:^(steam)$
windowrulev2 = minsize 1 1, title:^()$, class:^(steam)$
# Fix: Steam starts in a broken position as float window
windowrulev2 = tile, class:^(steam)$
windowrulev2 = fullscreen, class:^(steam)$
# Games
# windowrulev2 = immediate, class:^(steam_app_xxx)$ # game 1
# flameshot
windowrule = move 0 0,class:(flameshot)
windowrule = pin,class:(flameshot)
windowrule = noborder,class:(flameshot)
windowrule = stayfocused,class:(flameshot)
windowrule = float,class:(flameshot)
windowrulev2 = move 0 0, class:(flameshot)
windowrulev2 = pin, class:(flameshot)
windowrulev2 = noborder, class:(flameshot)
windowrulev2 = stayfocused, class:(flameshot)
windowrulev2 = float, class:(flameshot)
# avoid transparency
windowrule = opaque,class:(flameshot)
windowrulev2 = opaque, class:(flameshot)
# wlogout
windowrule=float,class:^(wlogout)$
windowrule=move 0 0,class:^(wlogout)$
windowrule=size 100% 100%,class:^(wlogout)$
windowrule=animation slide,class:^(wlogout)$
windowrulev2 = float, class:^(wlogout)$
windowrulev2 = move 0 0, class:^(wlogout)$
windowrulev2 = size 100% 100%, class:^(wlogout)$
windowrulev2 = animation slide, class:^(wlogout)$