Luigit
repositories / dotfiles

dotfiles

bugabingas dorkfiles

owned by admin

niri/cfg/rules.kdl

Raw
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"
}