Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/niri-wm/niri/llms.txt

Use this file to discover all available pages before exploring further.

Available since version 25.02
The gestures config section contains gesture settings. For an overview of all niri gestures, see the Gestures page.

Configuration Overview

Here’s a quick glance at the available settings along with their default values:
gestures {
    dnd-edge-view-scroll {
        trigger-width 30
        delay-ms 100
        max-speed 1500
    }

    dnd-edge-workspace-switch {
        trigger-height 50
        delay-ms 100
        max-speed 1500
    }

    hot-corners {
        // off
        top-left
        // top-right
        // bottom-left
        // bottom-right
    }
}

dnd-edge-view-scroll

dnd-edge-view-scroll
object
Scroll the tiling view when moving the mouse cursor against a monitor edge during drag-and-drop (DnD). Also works on a touchscreen.
This will work for regular drag-and-drop (e.g. dragging a file from a file manager), and for window interactive move when targeting the tiling layout.

Options

trigger-width
number
default:"30"
Size of the area near the monitor edge that will trigger the scrolling, in logical pixels.
delay-ms
number
default:"100"
Delay in milliseconds before the scrolling starts. Avoids unwanted scrolling when dragging things across monitors.
max-speed
number
default:"1500"
Maximum scrolling speed in logical pixels per second. The scrolling speed increases linearly as you move your mouse cursor from trigger-width to the very edge of the monitor.

Example

gestures {
    // Increase the trigger area and maximum speed.
    dnd-edge-view-scroll {
        trigger-width 100
        max-speed 3000
    }
}

dnd-edge-workspace-switch

Available since version 25.05
dnd-edge-workspace-switch
object
Scroll the workspaces up/down when moving the mouse cursor against a monitor edge during drag-and-drop (DnD) while in the overview. Also works on a touchscreen.

Options

trigger-height
number
default:"50"
Size of the area near the monitor edge that will trigger the scrolling, in logical pixels.
delay-ms
number
default:"100"
Delay in milliseconds before the scrolling starts. Avoids unwanted scrolling when dragging things across monitors.
max-speed
number
default:"1500"
Maximum scrolling speed; 1500 corresponds to one screen height per second. The scrolling speed increases linearly as you move your mouse cursor from trigger-width to the very edge of the monitor.

Example

gestures {
    // Increase the trigger area and maximum speed.
    dnd-edge-workspace-switch {
        trigger-height 100
        max-speed 3000
    }
}

hot-corners

Available since version 25.05
hot-corners
object
Configure hot corners to toggle the overview. By default, the top-left corner is active.
Put your mouse at a configured hot corner of a monitor to toggle the overview. Also works during drag-and-dropping something.

Disable Hot Corners

Set off to disable the hot corners:
// Disable the hot corners.
gestures {
    hot-corners {
        off
    }
}

Choose Specific Corners

Available since version 25.11
You can choose specific hot corners by name: top-left, top-right, bottom-left, bottom-right. If no corners are explicitly set, the top-left corner will be active by default.
top-left
flag
Enable the top-left hot corner.
top-right
flag
Enable the top-right hot corner.
bottom-left
flag
Enable the bottom-left hot corner.
bottom-right
flag
Enable the bottom-right hot corner.
// Enable the top-right and bottom-right hot corners.
gestures {
    hot-corners {
        top-right
        bottom-right
    }
}

Per-Output Configuration

You can also customize hot corners per-output in the output config.