Skip to main content
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.

Build docs developers (and LLMs) love