prefer-no-csd true window-rule { geometry-corner-radius 20 clip-to-geometry true draw-border-with-background false } window-rule { match app-id="aerc" open-on-workspace "browser" default-column-width { proportion 0.5 } } window-rule { match app-id="org.wezfurlong.wezterm" open-on-workspace "code" opacity 0.82 } window-rule { match app-id="jetbrains-idea" open-floating true open-maximized false open-maximized-to-edges false open-on-workspace "code" } window-rule { match app-id="(?i)(java|javafx|jdk|openjdk|jetbrains|sun-awt|awt|swing)" open-floating true open-maximized false open-maximized-to-edges false } window-rule { match app-id="neovide" open-on-workspace "code" } window-rule { match app-id="^neovide_diff$" open-maximized true } window-rule { match app-id="dev.zed.Zed" open-on-workspace "code" } window-rule { match app-id="^pi-firefox-debug$" open-on-workspace "code" open-maximized false open-maximized-to-edges false default-column-width { proportion 0.5 } } window-rule { match app-id="^firefox$" exclude title="^Extension:.*$" open-on-workspace "browser" open-maximized true } // Open the Firefox picture-in-picture window as floating with 480×270 size. window-rule { match app-id="firefox$" title="^Picture-in-Picture$" open-floating true open-maximized false open-maximized-to-edges false default-column-width { fixed 480 } default-window-height { fixed 270 } } window-rule { match app-id="firefox" title="^Extension:.*$" open-maximized false open-maximized-to-edges false open-floating true baba-is-float true default-column-width { fixed 480 } default-window-height { fixed 270 } shadow { on } } // Give Blender and GIMP some guaranteed width on opening. window-rule { match app-id="^blender$" // GIMP app ID contains the version like "gimp-2.99", // so we only match the beginning (with ^) and not the end. match app-id="^gimp" default-column-width { fixed 1200 } } window-rule { match app-id="Bitwarden" open-on-workspace "vault" } window-rule { match app-id="mpv" open-on-workspace "media" } window-rule { match app-id="steam" open-on-workspace "games" } window-rule { match app-id="steam" title="^notificationtoasts_\\d+_desktop$" default-floating-position x=10 y=10 relative-to="bottom-right" } window-rule { match app-id="net.lutris.Lutris" open-on-workspace "games" } window-rule { match title="Battle.net" open-floating true open-on-workspace "games" } window-rule { match app-id="steam" title="Friends List" open-floating true } // Nuguland shell opacity is compositor-owned so Nugu colors stay semantic. layer-rule { match namespace="^(nuguland-bar|quickshell)$" opacity 0.82 } // Block notification surfaces from screencasts. layer-rule { match namespace="^(notifications|nuguland-toast)$" block-out-from "screencast" }