//Ensure theme is set
spawn-at-startup "gsettings" "set" "org.gnome.desktop.interface" "gtk-theme" "'Adwaita-dark'"
//spawn-at-startup "gsettings" "set" "org.gnome.desktop.interface" "color-scheme" "'Adwaita-dark'"

// Settings that influence how windows are positioned and sized.
// Find more information on the wiki:
// https://yalter.github.io/niri/Configuration:-Layout
layout {
    gaps 10
    background-color "transparent"
    center-focused-column "never"

    // You can customize the widths that "switch-preset-column-width" (Mod+R) toggles between.
    preset-column-widths {
        // Proportion sets the width as a fraction of the output width, taking gaps into account.
        // For example, you can perfectly fit four windows sized "proportion 0.25" on an output.
        // The default preset widths are 1/3, 1/2 and 2/3 of the output.
        proportion 0.33333
        proportion 0.5
        proportion 0.66667
        // Fixed sets the width in logical pixels exactly.
        // fixed 1920
    }
    default-column-width { proportion 0.5; }

    // You can change how the focus ring looks.
    focus-ring {
        width 4
        active-color "#7fc8ff"
        inactive-color "#505050"
    }

    // You can also add a border. It's similar to the focus ring, but always visible.
    border {
        // The settings are the same as for the focus ring.
        // If you enable the border, you probably want to disable the focus ring.
        off
        width 4
        active-color "#ffc87f"
        inactive-color "#505050"
        urgent-color "#9b0000"
    }

    // You can enable drop shadows for windows.
    shadow {
        // Uncomment the next line to enable shadows.
        //on
        softness 10
        // Spread expands the shadow.
        spread 10
        // Offset moves the shadow relative to the window.
        offset x=0 y=5
        color "#0007"
    }

    // Struts shrink the area occupied by windows, similarly to layer-shell panels.
    // You can think of them as a kind of outer gaps. They are set in logical pixels.
    // Left and right struts will cause the next window to the side to always be visible.
    // Top and bottom struts will simply add outer gaps in addition to the area occupied by
    // layer-shell panels and regular gaps.
    struts {
        // left 64
        // right 200
        // top 64
        // bottom 64
    }
}


// Set the regular wallpaper on the backdrop.
layer-rule {
  match namespace="^noctalia-wallpaper*"
  place-within-backdrop true
}

// Optionally, disable the workspace shadows in the overview.
overview {
  workspace-shadow {
    off
  }
}

// Uncomment this line to ask the clients to omit their client-side decorations if possible.
// If the client will specifically ask for CSD, the request will be honored.
// Additionally, clients will be informed that they are tiled, removing some client-side rounded corners.
// This option will also fix border/focus ring drawing behind some semitransparent windows.
// After enabling or disabling this, you need to restart the apps for this to take effect.
//prefer-no-csd

// Animation settings.
// The wiki explains how to configure individual animations:
// https://yalter.github.io/niri/Configuration:-Animations
animations {

}

// enable transparency
window-rule {
  match is-active=false
  opacity 1.0 //inactive transparency
}
window-rule {
  match is-active=true
  opacity 1.0 //active transparency
}
window-rule {
  draw-border-with-background false
}
// Add to exempt from transparency
window-rule {
  match app-id="gimp"
  match title="^*Invidious — Mozilla Firefox$"
  match title="^Watch2Gether — Mozilla Firefox$"
  match app-id="org.gnome.Loupe"
  match app-id="Godot"
  opacity 1.0
}

// enable rounded corners for all windows.
window-rule {
    geometry-corner-radius 12
    clip-to-geometry true
}

