-
-
Notifications
You must be signed in to change notification settings - Fork 62
IPC
iNiR exposes IPC targets you can call from Niri keybinds, scripts, or your terminal.
Quick discovery:
inir helplists all targets,inir <target> --helpshows available functions. Shell completions:eval "$(inir completions bash)"(also zsh, fish).
From terminal (for testing, or showing off):
inir <target> <function>In Niri config (for actual keybinds):
bind "Key" { spawn "inir" "<target>" "<function>"; }For low-level debugging, inir ipc <target> <function> still works.
Everything iNiR can do, exposed for your scripting pleasure.
Toggle the workspace overview panel. The one with all your windows looking tiny and organized.
| Function | Description |
|---|---|
toggle |
Open/close overview |
open |
Open overview |
close |
Close overview |
clipboardToggle |
Open clipboard search, or close if already open |
actionOpen |
Open overview in action search mode |
toggleReleaseInterrupt |
Clear the super-key release interrupt flag |
bind "Mod+Space" { spawn "inir" "overview" "toggle"; }The central overlay. Search, quick actions, widgets. The thing that pops up and makes you feel productive.
| Function | Description |
|---|---|
toggle |
Open/close overlay |
bind "Super+G" { spawn "inir" "overlay" "toggle"; }Clipboard history panel. Because Ctrl+V only remembers one thing, and that's not enough for power users.
| Function | Description |
|---|---|
toggle |
Open/close panel |
open |
Open panel |
close |
Close panel |
bind "Super+V" { spawn "inir" "clipboard" "toggle"; }Alt+Tab window switcher. Works across workspaces, unlike some other implementations we won't name.
| Function | Description |
|---|---|
toggle |
Toggle switcher |
open |
Open switcher |
close |
Close switcher |
next |
Focus next window |
previous |
Focus previous window |
bind "Alt+Tab" { spawn "inir" "altSwitcher" "next"; }
bind "Alt+Shift+Tab" { spawn "inir" "altSwitcher" "previous"; }Region selection tools. Screenshots, OCR, recording. Draw a box, get stuff done.
| Function | Description |
|---|---|
screenshot |
Take a region screenshot |
search |
Image search (Google Lens) |
googleLens |
Start a region capture for Google Lens |
ocr |
OCR text recognition |
record |
Record region (no audio) |
recordWithSound |
Record region with audio |
bind "Super+Shift+S" { spawn "inir" "region" "screenshot"; }
bind "Super+Shift+X" { spawn "inir" "region" "ocr"; }
bind "Super+Shift+A" { spawn "inir" "region" "search"; }Voice search using Gemini API. Records from microphone, transcribes with Gemini, opens Google search.
| Function | Description |
|---|---|
start |
Start recording |
stop |
Stop recording |
toggle |
Toggle recording |
bind "Super+Shift+V" { spawn "inir" "voiceSearch" "toggle"; }Power menu. Logout, suspend, reboot, shutdown. The "I'm done for today" buttons.
| Function | Description |
|---|---|
toggle |
Open/close session menu |
open |
Show session screen |
close |
Hide session screen |
bind "Super+Shift+E" { spawn "inir" "session" "toggle"; }Lock screen. For when you need to pretend you're working.
| Function | Description |
|---|---|
activate |
Lock the screen |
deactivate |
Cancel lock and mark screen unlocked |
status |
Return lock state (locked, activating, or unlocked) |
focus |
Refocus the lock screen input |
bind "Super+Alt+L" allow-when-locked=true { spawn "inir" "lock" "activate"; }Keyboard shortcuts reference. For when you forget what you just configured five minutes ago.
| Function | Description |
|---|---|
toggle |
Open/close cheatsheet |
open |
Show cheatsheet overlay |
close |
Hide cheatsheet overlay |
bind "Super+Slash" { spawn "inir" "cheatsheet" "toggle"; }Close window confirmation dialog. Shows a prompt before closing the focused window. Useful if you're the type who accidentally closes things and then regrets it.
| Function | Description |
|---|---|
trigger |
Show close confirmation for focused window |
close |
Dismiss the dialog without closing |
bind "Mod+Q" repeat=false { spawn "inir" "close-window"; }By default, confirmation is disabled (closes immediately). Enable it in settings or config:
"closeConfirm": {
"enabled": true
}Open the settings window. GUI config so you don't have to edit JSON like it's 2005.
| Function | Description |
|---|---|
open |
Open settings window |
toggle |
Toggle settings (overlay mode toggles, window mode opens) |
bind "Super+Comma" { spawn "inir" "settings"; }Quick settings panel. Toggles, sliders, and system controls without opening full settings.
| Function | Description |
|---|---|
toggle |
Open/close control panel |
open |
Open control panel |
close |
Close control panel |
Left sidebar (AI chat, apps).
| Function | Description |
|---|---|
toggle |
Open/close left sidebar |
open |
Show left sidebar |
close |
Hide left sidebar |
Right sidebar (quick toggles, notepad, settings).
| Function | Description |
|---|---|
toggle |
Open/close right sidebar |
open |
Show right sidebar |
close |
Hide right sidebar |
Top bar visibility.
| Function | Description |
|---|---|
toggle |
Show/hide bar |
open |
Show bar |
close |
Hide bar |
Command palette / action registry. Search and execute shell actions from scripts or keybinds.
| Function | Description |
|---|---|
run <id> [args] |
Execute action by ID (e.g. toggle-mute, install-package vim) |
list [category] |
List all actions, optionally filtered by category |
search <query> |
Fuzzy search actions by name/description/keywords |
open |
Open the overview in action mode |
Categories: system, appearance, tools, media, settings, custom.
bind "Super+Slash" { spawn "inir" "globalActions" "open"; }
bind "Super+M" { spawn "inir" "globalActions" "run" "toggle-mute"; }Wallpaper picker grid.
| Function | Description |
|---|---|
toggle |
Open/close wallpaper selector |
open |
Open wallpaper selector |
close |
Close wallpaper selector |
toggleOnMonitor <name> |
Open wallpaper selector on a specific monitor |
random |
Pick a random wallpaper from the current folder |
bind "Ctrl+Alt+T" { spawn "inir" "wallpaperSelector" "toggle"; }Wallpaper coverflow (3D card) picker.
| Function | Description |
|---|---|
toggle |
Open/close coverflow selector |
open |
Open coverflow selector |
close |
Close coverflow selector |
Floating media controls panel.
| Function | Description |
|---|---|
toggle |
Open/close media controls |
open |
Show media controls |
close |
Hide media controls |
On-screen keyboard.
| Function | Description |
|---|---|
toggle |
Show/hide on-screen keyboard |
open |
Show on-screen keyboard |
close |
Hide on-screen keyboard |
Volume and mute control.
| Function | Description |
|---|---|
volumeUp |
Increase volume |
volumeDown |
Decrease volume |
mute |
Toggle speaker mute |
micMute |
Toggle microphone mute |
Screen zoom. Accessibility feature, or for reading tiny text without squinting.
| Function | Description |
|---|---|
zoomIn |
Increase zoom level |
zoomOut |
Decrease zoom level |
Display brightness control.
| Function | Description |
|---|---|
increment |
Increase brightness |
decrement |
Decrease brightness |
Media player control. Automatically detects and uses YtMusic controls when active, otherwise uses the active MPRIS player.
| Function | Description |
|---|---|
pauseAll |
Pause all players |
playPause |
Toggle play/pause (uses YtMusic if active) |
previous |
Previous track (uses YtMusic if active) |
next |
Next track (uses YtMusic if active) |
bind "Ctrl+Mod+Space" { spawn "inir" "mpris" "playPause"; }
bind "Mod+Alt+N" { spawn "inir" "mpris" "next"; }
bind "Mod+Alt+P" { spawn "inir" "mpris" "previous"; }Direct YtMusic player control. Use these if you want to control YtMusic specifically, regardless of what other players are active.
| Function | Description |
|---|---|
playPause |
Toggle YtMusic play/pause |
next |
Play next track in YtMusic |
previous |
Play previous track in YtMusic |
stop |
Stop YtMusic playback |
bind "Mod+M+Space" { spawn "inir" "ytmusic" "playPause"; }On-screen volume indicator.
| Function | Description |
|---|---|
trigger |
Show volume OSD |
toggle |
Toggle volume OSD |
hide |
Hide volume OSD |
Clipboard history service. The backend that makes clipboard panel work. You probably don't need to call this directly.
| Function | Description |
|---|---|
update |
Refresh clipboard history |
AI chat service. Multi-provider (Gemini, OpenAI, Mistral) with tool support.
| Function | Description |
|---|---|
ensureInitialized |
Force-load models and API keys |
diagnose |
Dump current AI state (model, keys, config) as JSON |
run <text> |
Send a message or /command to the AI chat |
runGet <text> |
Run AI command and return the last response |
Package search service. Searches pacman repos and installed packages.
| Function | Description |
|---|---|
search <query> |
Start a package search |
results |
Print current search results |
App catalog service. Browse, search, and install curated applications.
| Function | Description |
|---|---|
refresh |
Refresh the installed-state cache |
search <query> |
Filter catalog entries by query |
install <id> |
Install app by catalog ID |
list |
List catalog apps with install status and descriptions |
Performance mode for gaming. Auto-detects fullscreen apps and disables animations/effects. Can also be toggled manually for those stubborn games that don't go fullscreen properly.
| Function | Description |
|---|---|
toggle |
Toggle gamemode on/off |
activate |
Force enable gamemode |
deactivate |
Force disable gamemode |
status |
Print current gamemode state (e.g. active (manual), inactive (off)) |
bind "Super+F12" { spawn "inir" "gamemode" "toggle"; }Switch between panel styles. ii supports two visual styles: Material ii (default) and Waffle (Windows 11-like).
| Function | Description |
|---|---|
cycle |
Cycle to next panel family (ii → waffle → ii) |
set |
Set specific family ("ii" or "waffle") |
bind "Mod+Shift+W" { spawn "inir" "panelFamily" "cycle"; }Shell update checker. Monitors the git repo for new commits and shows an update overlay.
| Function | Description |
|---|---|
toggle |
Open/close update overlay |
open |
Open update overlay |
close |
Close update overlay |
check |
Check for updates now |
performUpdate |
Run the update |
dismiss |
Dismiss update notification |
undismiss |
Un-dismiss update notification |
diagnose |
Dump update state as JSON |
Notification management.
| Function | Description |
|---|---|
test |
Send test notifications |
clearAll |
Dismiss all notifications |
toggleSilent |
Toggle Do Not Disturb mode |
Window minimization (Niri workaround - moves windows to hidden workspace).
| Function | Description |
|---|---|
minimize |
Minimize focused window |
restore |
Restore a minimized window by ID |
Tiling layout overlay. Pick or cycle through tiling presets for the current workspace.
| Function | Description |
|---|---|
toggle |
Open/close tiling picker |
open |
Open tiling picker |
hide |
Close picker and OSD |
cycle |
Cycle to next tiling preset (shows OSD) |
showOsd |
Flash the current tiling preset OSD |
promote |
Promote focused window to master position |
Keyboard layout switching (Niri only). Cycles through configured keyboard layouts and queries layout info.
| Function | Description |
|---|---|
switchLayout |
Switch to next keyboard layout |
switchLayoutPrevious |
Switch to previous keyboard layout |
getCurrentLayout |
Get the current layout name |
getLayouts |
Get all configured layout names (JSON array) |
bind "Mod+Alt+K" { spawn "inir" "keyboard" "switchLayout"; }These targets only work when using the Waffle (Windows 11) panel style.
Waffle start menu / search.
| Function | Description |
|---|---|
toggle |
Open/close start menu |
open |
Open start menu |
close |
Close start menu |
Waffle action center (quick settings).
| Function | Description |
|---|---|
toggle |
Open/close action center |
Waffle notification center.
| Function | Description |
|---|---|
toggle |
Open/close notification center |
Waffle widgets panel.
| Function | Description |
|---|---|
toggle |
Open/close widgets |
open |
Open widgets |
close |
Close widgets |
Waffle taskbar visibility.
| Function | Description |
|---|---|
toggle |
Show/hide taskbar |
open |
Show taskbar |
close |
Hide taskbar |
Waffle task view (Win+Tab style).
| Function | Description |
|---|---|
toggle |
Open/close task view |
open |
Show task view |
close |
Hide task view |
Waffle on-screen display indicator (volume, brightness).
| Function | Description |
|---|---|
trigger |
Show the OSD indicator |
Waffle Alt+Tab window switcher. Separate from the ii altSwitcher — supports quick-switch (first tab switches instantly, second opens UI) and no-visual-UI mode.
| Function | Description |
|---|---|
open |
Open switcher |
close |
Close switcher |
toggle |
Toggle switcher |
next |
Focus next window |
previous |
Focus previous window |