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
- 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
dms plugins install NiriWindows- Mod + ,
- Go to Plugins Tab
- Choose Browse
- Enable third party
- install NiriWindows
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
- Niri Window Manager: This plugin only works when DMS is running on Niri WM
- DMS Version: Requires DMS version > 0.1.18
- 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
- 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
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)
binds {
Alt+Tab hotkey-overlay-title="Switch Windows" {
spawn "dms" "ipc" "call" "spotlight" "openQuery" "!";
}
}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
Windows are sorted in the following order:
- Currently focused window (appears first)
- Workspace index (lower workspace numbers first)
- Window name (alphabetically)
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
Settings are stored in ~/.config/DankMaterialShell/plugin_settings.json under the niriWindows plugin key:
{
"pluginSettings": {
"niriWindows": {
"trigger": "!",
"noTrigger": false
}
}
}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
plugin.json- Plugin manifest and metadataNiriWindowsLauncher.qml- Main launcher componentNiriWindowsSettings.qml- Settings UIREADME.md- This documentation filescreenshot.png- Plugin screenshot
1.0.0
DMS Team
Same as DankMaterialShell

