40 lines
2.8 KiB
Plaintext
40 lines
2.8 KiB
Plaintext
// ─────────────────────────────────────────────────────────────────────────────
|
|
// ~/.config/niri/config.kdl
|
|
// Niri scrollable-tiling Wayland compositor — CyberQueer config
|
|
//
|
|
// PURPOSE: Root configuration entry-point for the niri compositor.
|
|
// This file does not contain settings directly — it delegates all
|
|
// configuration sections to separate module files so each concern
|
|
// (input, outputs, layout, etc.) can be edited independently.
|
|
//
|
|
// STRUCTURE: niri supports a flat `include` directive that merges KDL files
|
|
// before parsing, so the split is purely organisational.
|
|
//
|
|
// REFERENCE: https://github.com/YaLTeR/niri/wiki/Configuration:-Overview
|
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
|
|
// ── Module includes ───────────────────────────────────────────────────────────
|
|
// Each file below is merged verbatim into this config at parse time.
|
|
// The order matters only when settings in later files override earlier ones.
|
|
|
|
include "modules/input.kdl" // Keyboard, touchpad, mouse, focus behaviour
|
|
include "modules/outputs.kdl" // Monitor/display declarations and positions
|
|
include "modules/layout.kdl" // Gaps, column widths, focus ring, struts
|
|
include "modules/animations.kdl" // Spring / easing curves for all transitions
|
|
include "modules/environment.kdl" // Env vars passed to every child process + cursor
|
|
include "modules/autostart.kdl" // Programs launched when niri starts
|
|
include "modules/window-rules.kdl" // Per-app floating, sizing, opacity overrides
|
|
include "modules/binds.kdl" // All keyboard and mouse bindings
|
|
|
|
// ── Global preferences ────────────────────────────────────────────────────────
|
|
|
|
// prefer-no-csd: Tell clients to draw without client-side decorations (title bars).
|
|
// WHY: niri renders its own focus ring / border; double-decorations look wrong.
|
|
// Apps that respect this (most GTK/Qt apps) gain a cleaner appearance.
|
|
prefer-no-csd
|
|
|
|
// screenshot-path: Where niri saves full-compositor screenshots (Print key).
|
|
// WHY: Organise screenshots in a dedicated folder with a human-readable timestamp.
|
|
// strftime-style % tokens are expanded at capture time.
|
|
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
|