IPC & Keybinds
IPC commands let you control Noctalia from a terminal, a compositor keybind, a script, or a hook.
All commands use this shape:
noctalia msg <command>For example:
noctalia msg dock-togglenoctalia msg volume-upnoctalia msg panel-toggle launchernoctalia msg screenshot-regionCommand lists
Section titled “Command lists”ShellStatus, config reload, settings, window switcher, and session actions.
SurfacesBar, panels, dock, desktop widgets, and lockscreen widgets.
Media & UINotifications, clipboard, media controls, wallpaper, theme, and screenshots.
PluginsPlugin event dispatch and plugin/source management.
System ControlsVolume, microphone, brightness, night light, Wi-Fi, Bluetooth, caffeine, power profile, and display power.
Compositor keybinds
Section titled “Compositor keybinds”A compositor keybind only needs to launch a Noctalia command. The command part is compositor-agnostic:
noctalia msg panel-toggle launchernoctalia msg panel-toggle control-centernoctalia msg settings-togglenoctalia msg volume-upUse your compositor’s normal exec, spawn, or command-binding syntax to run those commands.
NiriNiri bind syntax, overview integration, wallpaper backdrop, and blur.
HyprlandHyprland Lua bind syntax, persistent workspaces, and blur.
Sway / ScrollSway-style bind syntax for Noctalia launcher, panels, settings, audio, and brightness.
MangoMango effects and bind syntax for Noctalia launcher, panels, settings, audio, and brightness.
Discovering commands
Section titled “Discovering commands”Not sure what else you can control? You can see all IPC commands via this terminal command:
noctalia msg --helpUsing IPC in config
Section titled “Using IPC in config”Config command fields run through the shell. Use the canonical IPC CLI when a command needs to call Noctalia, and compose it with other shell commands when needed:
[idle.behavior.custom]timeout = 660action = "command"command = "noctalia msg session lock && notify-send 'Session locked'"
[hooks]started = "noctalia msg panel-toggle launcher"