Skip to content

Need help to configure window rules on newest version of hyprland 0.53.1 #1422

Description

@andrianfirst

I have tried manually and with the help of AI but still can't make this window rule work. Can you correct me or share a working script?

# -----------------------------------------------------
# Window rules
# -----------------------------------------------------

# idleinhibit
# windowrule = match:class = ([window]), idleinhibit = fullscreen # Available modes: none, always, focus, fullscreen

#xwayland related rules
# when moving objects in resolve a large border is produced 
# This rule prevents that and serves as a template for any problematic xwayland apps
# windowrule = noblur, class:^(\bresolve\b)$, xwayland:1
# This is a general rule for xwayland apps but can have other consequences 
# for one user it impacted EMACs so it's disabled by default 
# It's here as a reference or for quick triage of xwayland ap
#windowrule = noblur, xwayland:1

# -----------------------------------------------------
# Thunar Window Rules (English Only - Strict Regex)
# -----------------------------------------------------

# 1. FILE OPERATION PROGRESS (Copy, Move, Delete)
# Matches "File Operation Progress" exactly
windowrulev2 = float, class:^(thunar)$, title:^(File Operation Progress)$
windowrulev2 = center, class:^(thunar)$, title:^(File Operation Progress)$

# 2. RENAME DIALOG
# Matches "Rename" followed by anything (e.g., "Rename", "Rename 3 files")
windowrulev2 = float, class:^(thunar)$, title:^(Rename.*)$
windowrulev2 = center, class:^(thunar)$, title:^(Rename.*)$

# 3. CONFIRMATION DIALOGS
# Matches "Confirm to replace files", "Attention", etc.
windowrulev2 = float, class:^(thunar)$, title:^(Confirm to replace files)$
windowrulev2 = center, class:^(thunar)$, title:^(Confirm to replace files)$
windowrulev2 = float, class:^(thunar)$, title:^(Attention)$
windowrulev2 = center, class:^(thunar)$, title:^(Attention)$

# 4. PROPERTIES
# Matches "Properties"
windowrulev2 = float, class:^(thunar)$, title:^(.*Properties)$
windowrulev2 = center, class:^(thunar)$, title:^(.*Properties)$

# 5. CREATE NEW (Folder/File)
# Matches "Create New Folder" or "Create Document"
windowrulev2 = float, class:^(thunar)$, title:^(Create.*)$
windowrulev2 = center, class:^(thunar)$, title:^(Create.*)$

# 6. TRASH & PERMISSIONS
windowrulev2 = float, class:^(thunar)$, title:^(Trash)$
windowrulev2 = center, class:^(thunar)$, title:^(Trash)$
windowrulev2 = float, class:^(thunar)$, title:^(Authentication)$
windowrulev2 = center, class:^(thunar)$, title:^(Authentication)$

# -----------------------------------------------------
# XDG Desktop Portal GTK (File Pickers & Dialogs)
# -----------------------------------------------------

# 1. Float All Dialogs
# Since this app only spawns popups, we float the entire class.
windowrulev2 = float, class:^(xdg-desktop-portal-gtk)$

# 2. Center the Dialogs
windowrulev2 = center, class:^(xdg-desktop-portal-gtk)$

# 3. Set Default Size (Optional but Recommended)
# Default GTK dialogs can be too small or too large. This sets a good standard size.
windowrulev2 = size 900 600, class:^(xdg-desktop-portal-gtk)$

# 4. Dim Background (Optional)
# This dims the windows behind the dialog to focus attention on the file picker.
# windowrulev2 = dimaround, class:^(xdg-desktop-portal-gtk)$

# -----------------------------------------------------
# Brave/Chrome Extensions (Universal Rule)
# -----------------------------------------------------

# Rule ini otomatis mendeteksi semua window ekstensi berdasarkan pola class & initialTitle
# Penjelasan Regex:
# class:^(chrome-.*)      -> Menangkap class yang diawali "chrome-" (menangkap semua ID ekstensi)
# initialTitle:^(_crx_.*) -> Menangkap initial title yang diawali "_crx_" (ciri khas internal ekstensi)

windowrulev2 = float, class:^(chrome-.*)$, initialTitle:^(_crx_.*)$
windowrulev2 = center, class:^(chrome-.*)$, initialTitle:^(_crx_.*)$

# Opsi Tambahan: Animasi
# Agar popup muncul lebih "snappy", kita bisa atur animasi slide atau popin
windowrulev2 = animation slide, class:^(chrome-.*)$, initialTitle:^(_crx_.*)$

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requestedsolvedThis doesn't seem right

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions