Skip to content

Command Line and D Bus

22Pizzas edited this page Oct 3, 2026 · 1 revision

The rostrum command can drive the copy of Rostrum that is already running. Use it for Stream Deck buttons, KDE Connect commands, or your own scripts. The same controls are on the session D-Bus for programs that prefer it.

Nothing listens on the network. D-Bus is local to your desktop session, so only programs running as you, on this computer, can use these controls.

Command line

rostrum --toggle-mic                 # also --mute-mic and --unmute-mic
rostrum --scene "Just Chatting"
rostrum --action panic_mute          # any id from --list-actions
rostrum --set-volume game=0.8        # or game=80%
rostrum --list-scenes                # also --list-actions and --list-buses
Option What it does
--toggle-mic Mutes the mic if it is live, unmutes it if it is muted.
--mute-mic, --unmute-mic Mutes or unmutes the mic. Use only one of the three mic options at a time.
--scene <name> Switches to the scene with that name. Upper and lower case do not matter.
--action <id> Runs a hotkey action, as if you pressed its shortcut. Can be repeated. See Action ids.
--set-volume <bus>=<level> Sets a fader. <bus> is a bus id or name, mic for mic gain, or stream or phones for the masters. <level> is 0 to 1 or a percentage; mic gain goes up to 1.5 (150 %). Can be repeated.
--list-scenes Prints the scene names, one per line, in the Scenes page order.
--list-actions Prints each action id and its name, separated by a tab.
--list-buses Prints the id, level, muted or unmuted, and name of each fader, separated by tabs.

Levels are fader positions, the same scale the faders use: 1 is the top (0 dB) and 0.5 is half way up (about −18 dB). --list-buses prints levels the same way, for example:

game	0.50	unmuted	Game

If Rostrum is not running

  • The list options read your saved scenes and print them. They start nothing and change nothing.
  • The other options start Rostrum, then apply the change once your scenes are loaded. For example, rostrum --mute-mic starts Rostrum with the mic muted.

Exit status

Status Meaning
0 Done.
1 Refused: an unknown scene, bus or action, or a level that is not valid. The reason is printed, for example "There is no scene called …".
2 Rostrum could not be reached.

No dialogs

The command line never opens a dialog, because there is nobody to answer it. A scene switch from the command line or D-Bus happens at once, even with Confirm before switching scenes on. With Save scene changes automatically off, fader moves you have not saved in the scene you leave are discarded, as the dialog's Switch button would do.

When Rostrum's window is not in front, mic, stream, panic and scene changes made this way show a short on-screen message, like hotkeys do. See Keyboard Shortcuts.

Action ids

These are the ids for --action and for D-Bus. They are the same actions you can bind in Settings → Hotkeys; see Keyboard Shortcuts.

Id Action
mute_mic Mute mic (toggle)
mute_stream Mute all playback to stream (toggles the Stream master)
mute_headphones Mute headphones (toggles the Headphones master)
previous_scene, next_scene Previous scene, Next scene
scene_1 … scene_8 Load scene 1 to 8, counted in the Scenes page order
panic_mute Panic mute: mutes the mic and the Stream master; run it again to bring both back
toggle_sidetone Sidetone on or off
stream_volume_up, stream_volume_down Stream master up or down by 5 %
push_to_talk, push_to_mute Holds. These need D-Bus PressAction and ReleaseAction; --action refuses them
mute_bus_<bus id> Mute one playback bus, for example mute_bus_music

rostrum --list-actions prints the full list, including a mute_bus_… id for every playback bus in your scenes. A bus action for a bus that is not in the live scene does nothing.

Stream Deck and KDE Connect

Any tool that can run a command can use these options. For example:

  • KDE Connect: add a command in the KDE Connect settings for your computer, such as rostrum --toggle-mic or rostrum --scene "Be Right Back", and run it from your phone.
  • Stream Deck (with a Linux Stream Deck app that can run commands): give each button one command, such as rostrum --action panic_mute or rostrum --set-volume music=40%.

D-Bus

The running copy of Rostrum exports the interface dev.getrostrum.Rostrum1 at the object path /dev/getrostrum/Rostrum/Control, on the service dev.getrostrum.Rostrum.

Member What it does
TriggerAction(s id) Runs an action as a shortcut press. Refuses push_to_talk and push_to_mute.
PressAction(s id), ReleaseAction(s id) Start and end a hold for push to talk or push to mute. A hold also ends when the caller leaves the bus. Other actions run once on press.
SwitchScene(s name) Switches to a scene at once. Case does not matter.
SetBusVolume(s bus, d position) Fader position 0 to 1; mic gain 0 to 1.5.
SetBusMuted(s bus, b muted), ToggleBusMuted(s bus) Mute a bus, the mic (mic) or a master (stream, phones).
SetMicMuted(b muted), ToggleMicMute() The mic, like the header button.
ListScenes() → as Scene names, in the Scenes page order.
ListBuses() → a(ssdb) Id, name, position and muted, for each fader of the live scene.
ListActions() → a(ss) Id and name of each action.

Read-only properties, announced with PropertiesChanged: MicMuted, StreamMuted, Panic, CurrentScene and Connected (Rostrum is connected to PipeWire).

Errors are dev.getrostrum.Rostrum1.Error.UnknownAction, NoSuchScene, NoSuchBus, InvalidValue and HoldAction.

Examples:

qdbus6 dev.getrostrum.Rostrum /dev/getrostrum/Rostrum/Control
gdbus call --session --dest dev.getrostrum.Rostrum --object-path /dev/getrostrum/Rostrum/Control \
  --method dev.getrostrum.Rostrum1.SwitchScene "Gaming"

The interface description is data/dev.getrostrum.Rostrum1.xml. cmake --install also puts it in share/dbus-1/interfaces/.

More detail

docs/audio.md, D-Bus and the command line

Clone this wiki locally