DBus-usage: Difference between revisions
Jump to navigation
Jump to search
m Edit code: "$(...)" is preferred over `...` |
Edit code: grep -Fq will be faster. Notice the actions are flipped |
||
| Line 12: | Line 12: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
#!/bin/bash | #!/bin/bash | ||
if | if dbus-send --print-reply --session --dest=org.mpris.vlc /Player org.freedesktop.MediaPlayer.GetStatus | grep -Fq "int32 2"; then | ||
# Match found | |||
dbus-send --print-reply --session --dest=org.mpris.vlc /Player org.freedesktop.MediaPlayer.Play | |||
else | |||
# Match not found | |||
dbus-send --print-reply --session --dest=org.mpris.vlc /Player org.freedesktop.MediaPlayer.Pause | dbus-send --print-reply --session --dest=org.mpris.vlc /Player org.freedesktop.MediaPlayer.Pause | ||
fi | fi | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Latest revision as of 04:01, 19 March 2019
The following is a usage example of how to control VLC though DBUS, by simple using dbus-send. This bash script toggles between Play/Pause:
Stopped -> Play
Playing -> Pause
Pause -> Play
#!/bin/bash
if dbus-send --print-reply --session --dest=org.mpris.vlc /Player org.freedesktop.MediaPlayer.GetStatus | grep -Fq "int32 2"; then
# Match found
dbus-send --print-reply --session --dest=org.mpris.vlc /Player org.freedesktop.MediaPlayer.Play
else
# Match not found
dbus-send --print-reply --session --dest=org.mpris.vlc /Player org.freedesktop.MediaPlayer.Pause
fiIf you have qt-dbus (or libqt4-dev) installed, you can also use qdbus to toggle between Play/Pause
#!/bin/bash
qdbus org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause