Niri Windows
List and switch to open Niri windows from the launcher ![]()
installation
Run dms plugins install niriWindows
or install using the plugins tab on DMS settings
| Plugin Information | Value |
|---|---|
| id | niriWindows |
| name | Niri Windows |
| author | Bruno Cesar Rocha |
| repo | Link |
| capabilities | launcher |
| category | utilities |
| compositors | niri |
| distro | any |
| dependencies | |
| requires DMS | >0.1.18 |
Niri Windows Plugin for DMS Launcher
A launcher plugin that lists all open windows in the Niri window manager and allows quick switching between them.
Example: Type ! to list all open windows with their workspace locations
Grid Mode

List Mode

Features
- Window Listing: Displays all open windows from the Niri window manager
- Smart Search: Filter windows by application name, window title, or workspace
- Quick Switching: Click or press Enter to instantly switch to any window
- Workspace Info: Shows which workspace each window is on
- Smart Sorting: Focused windows appear first, then sorted by workspace
- Default Trigger: Uses
!as the default trigger prefix (configurable) - Desktop Integration: Automatically fetches application icons from desktop entries
Installation
Via DMS
dms plugins install NiriWindows
Via DMS GUI
- Mod + ,
- Go to Plugins Tab
- Choose Browse
- Enable third party
- install NiriWindows
Manually
cd ~/.config/DankMaterialShell/plugins
git clone https://github.com/rochacbruno/DankNiriWindows NiriWindows
- Open DMS Settings (Ctrl+,)
- Navigate to Plugins tab
- Click "Scan for Plugins"
- Enable the "NiriWindow" plugin with the toggle switch
Requirements
- Niri Window Manager: This plugin only works when DMS is running on Niri WM
- DMS Version: Requires DMS version > 0.1.18
Usage
With Default Settings (! Trigger)
- Open the launcher (Ctrl+Space)
- Type
!followed by a search term:!firefox - All matching windows appear in the launcher
- Press Enter to switch to the selected window
Searching for Windows
- By application:
!firefox- Shows all Firefox windows - By title:
!document- Shows windows with "document" in the title - By workspace:
!Workspace 2- Shows windows on Workspace 2 - All windows:
!- Shows all open windows
Customizing the Trigger
You can configure a different trigger prefix or disable it entirely in the settings:
- Open Settings → Plugins → Niri Windows
- Change the trigger to a custom value (e.g.,
win,@,w) - Or check "No trigger (always active)" to remove the prefix requirement
- In the launcher, type your configured trigger:
win firefoxor justfirefox(if no trigger)
Adding a keybinding (niri)
binds {
Alt+Tab hotkey-overlay-title="Switch Windows" {
spawn "dms" "ipc" "call" "spotlight" "openQuery" "!";
}
}
Window Information Display
Each window item shows:
- Name: Window title (or application name if no title)
- Icon: Application icon from desktop entry
- Comment: Application ID and workspace location
Example:
Window Title
org.mozilla.firefox • Workspace 1
Sorting Behavior
Windows are sorted in the following order:
- Currently focused window (appears first)
- Workspace index (lower workspace numbers first)
- Window name (alphabetically)
How It Works
The plugin integrates with DMS's NiriService to:
- Monitor all open windows via Niri's event stream
- Track window properties (app_id, title, workspace, focus state)
- Use
NiriService.focusWindow(windowId)to switch windows - Update the list in real-time when windows open/close
Configuration
Settings are stored in ~/.config/DankMaterialShell/plugin_settings.json under the niriWindows plugin key:
{
"pluginSettings": {
"niriWindows": {
"trigger": "!",
"noTrigger": false
}
}
}
Troubleshooting
No windows appear:
- Make sure you're running DMS on Niri window manager
- Check that the plugin is enabled in Settings → Plugins
- Verify you have open windows
Plugin doesn't work:
- This plugin only works on Niri WM, not Hyprland or other compositors
- Make sure DMS version is > 0.1.18
Wrong icons showing:
- Icons are fetched from desktop entries using heuristic lookup
- Some applications may not have proper desktop entries
Files
plugin.json- Plugin manifest and metadataNiriWindowsLauncher.qml- Main launcher componentNiriWindowsSettings.qml- Settings UIREADME.md- This documentation filescreenshot.png- Plugin screenshot
Version
1.0.0
Author
DMS Team
License
Same as DankMaterialShell