78 lines
3.0 KiB
Plaintext
78 lines
3.0 KiB
Plaintext
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
|
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
|
|
|
|
# ==========================================
|
|
# VARIABLES
|
|
# ==========================================
|
|
# Dialogs and utility apps that should float in the center
|
|
$dialog_titles = ^(Open Form|Open File|Select a File|Choose a file|Open Workspace|Choose Directory|Save As|Save File|branchdialog|pinentry-gtk-2|Confirm to replace files|File Operation Progress)$
|
|
$dialog_classes = ^(pavucontrol|blueman-manager|nm-connection-editor|org.pulseaudio.pavucontrol)$
|
|
|
|
# App classes
|
|
$steam = ^(steam)$
|
|
$gamescope = ^(gamescope)$
|
|
|
|
|
|
# ==========================================
|
|
# GENERAL & FIXES
|
|
# ==========================================
|
|
# Ignore maximize requests from apps. You'll probably like this.
|
|
# windowrule = suppress_event maximize, match:class .*
|
|
|
|
# Fix some dragging issues with XWayland
|
|
# windowrule = no_focus 1, match:class ^$, match:title ^$, match:xwayland 1, match:floating 1, match:fullscreen 0, match:pinned 0
|
|
windowrule = no_blur 1, match:class ^$, match:title ^$
|
|
|
|
|
|
# ==========================================
|
|
# FLOATING & CENTERED DIALOGS
|
|
# ==========================================
|
|
# Make them float
|
|
windowrule = float 1, match:title $dialog_titles
|
|
windowrule = float 1, match:class $dialog_classes
|
|
|
|
# Set to 800x600
|
|
windowrule = size 800 600, match:title $dialog_titles
|
|
windowrule = size 800 600, match:class $dialog_classes
|
|
|
|
# Center them on the screen
|
|
windowrule = center 1, match:title $dialog_titles
|
|
windowrule = center 1, match:class $dialog_classes
|
|
|
|
# Disable blur
|
|
windowrule = no_blur 1, match:title $dialog_titles
|
|
windowrule = no_blur 1, match:class $dialog_classes
|
|
|
|
|
|
# ==========================================
|
|
# WORKSPACE ASSIGNMENTS
|
|
# ==========================================
|
|
# Normal Workspaces
|
|
# windowrule = workspace 1, match:class ^(firefox)$
|
|
# windowrule = workspace 2, match:class ^(kitty)$
|
|
# windowrule = workspace 3, match:class ^(Code)$
|
|
windowrule = workspace 1, match:class $gamescope
|
|
|
|
# Special Workspaces
|
|
windowrule = workspace special:virtual, match:class ^(Spotify|spotify)$
|
|
windowrule = workspace special:discord, match:class ^(discord|vesktop)$
|
|
|
|
|
|
# ==========================================
|
|
# APP-SPECIFIC RULES: STEAM & GAMING
|
|
# ==========================================
|
|
# windowrule = workspace 3 silent, match:class $steam, match:title ^(Steam)$
|
|
|
|
# Fixed sizes for specific Steam windows
|
|
windowrule = size 400 800, match:title ^(Friends List)$, match:class $steam
|
|
windowrule = size 1000 800, match:title ^(Steam Settings)$, match:class $steam
|
|
windowrule = size 1000 800, match:title ^(Add Non-Steam Game)$, match:class $steam
|
|
|
|
# Float and disable blur for Steam windows that aren't the main window
|
|
windowrule = float 1, match:class $steam, match:title negative:^(Steam)$
|
|
windowrule = no_blur 1, match:class $steam, match:title negative:^(Steam)$
|
|
# windowrule = center 1, match:class $steam, match:title negative:^(Steam)$
|
|
|
|
# Allow tearing for games started with Gamescope
|
|
windowrule = immediate 1, match:class $gamescope
|