Next: , Previous: , Up: API  


1.13 (heks-linux niri)

1.13.1 Macros

Macro: declaration-prop-props x

Undocumented macro.

Macro: declaration-property x

Undocumented macro.

Macro: declaration-value x

Undocumented macro.

Macro: declaration? x

Undocumented macro.

Macro: make-declaration x

Undocumented macro.

Macro: make-declaration-prop x

Undocumented macro.

Macro: make-rule x

Undocumented macro.

Macro: rule-declarations x

Undocumented macro.

Macro: rule-selector x

Undocumented macro.

Macro: rule? x

Undocumented macro.

Macro: set-rule-selector! x

Undocumented macro.

1.13.2 Parameters

Parameter: niri-bar-shadow-color

Default value:

"#00000055"
Parameter: niri-bar-shadow-offset-y

Default value:

2
Parameter: niri-bar-shadow-softness

Default value:

10
Parameter: niri-caps-to-ctrl?

Default value:

#t
Parameter: niri-config-dir

Default value:

"/root/.config/niri"
Parameter: niri-config-filename

Default value:

"config.kdl"
Parameter: niri-extra-startups

Default value:

()
Parameter: niri-keyboard-layout

Default value:

"us"
Parameter: niri-keyboard-options

Default value:

()
Parameter: niri-layer-noise

Default value:

0.02
Parameter: niri-layer-saturation

Default value:

1.8
Parameter: niri-menu-shadow-color

Default value:

"#00000066"
Parameter: niri-menu-shadow-offset-y

Default value:

12
Parameter: niri-menu-shadow-softness

Default value:

24
Parameter: niri-mono-font

Default value:

"Intel One Mono"
Parameter: niri-natural-scroll?

Default value:

#f
Parameter: niri-palette

Default value:

modus-vivendi-tinted
Parameter: niri-sans-font

Default value:

"Lucida Sans"

1.13.3 Procedures

Procedure: dec property value

Construct a KDL declaration node from a property and its value.

The property is usually a symbol such as layout or theme; the value is whatever that property expects, a string being rendered as a quoted KDL value. Declarations are grouped into rules by rul and written out by serialize-declaration.

Procedure: install-niri-config

Generate and serialize the target Heks Linux system active attributes pipeline configuration directly to disk space.

Procedure: niri-bindings

Compile the complete list of system-wide key bindings mappings used by the Heks environment manager window session.

Procedure: niri-config KEY: #:palette #:sans-font #:mono-font #:keyboard-layout #:keyboard-options #:caps-to-ctrl? #:extra-startups

Assemble the master schema manifest containing layout properties, hooks, bindings, animations and rules ready for serialization.

Procedure: niri-password-startup

Return the command that starts the password manager with the session.

It is the machine’s heks-linux-password-command - the same one the bar’s key glyph opens, so the app a click raises is the app this line started - with heks-linux-password-startup-args after it. Those default to 1Password’s --silent, which keeps the app in the tray instead of in front of you at login; a manager with no such flag sets them to the empty string, and this returns the plain command.

Procedure: niri-spring KEY: #:stiffness

Build a spring animation declaration for the niri animations block: critically damped, quick and soft.

Procedure: prop props

Construct a KDL declaration-prop node from a list of properties.

Unlike dec, which carries a single property and its value, this wraps a whole group. That is how Niri rules express nested tables, such as a window rule’s property list.

Procedure: rul selector . args

Construct a KDL rule node with a given selector symbol and nested arguments.

(rul 'cursor (dec 'size 24))
Procedure: serialize-bindings xs

Format an association list array of keybinding declarations xs into valid KDL key binding rulesets with inline hotkey overlay titles.

Procedure: serialize-declaration xs

Convert individual property-value configurations into structurally typed KDL declaration syntax values.

Procedure: serialize-kdl xs KEY: #:indent

Recursively transform record definitions and vectors xs into string blocks validating KDL configuration semantics.

1.13.4 Record Types

Record type: declaration

This record type has the following fields:

  • property
  • value
Record type: declaration-prop

This record type has the following fields:

  • props
Record type: rule

This record type has the following fields:

  • selector
  • declarations

Next: (heks-linux packages flatpak), Previous: (heks-linux mako), Up: API