jellyrpc

Discord Rich Presence for Linux

jellyrpc is a Discord Rich Presence daemon for Linux. It shows what you are currently doing in Discord — which app is active, or that you are away. Two daemons run side by side:

  • mprisence — handles Jellyfin, music, and any MPRIS media player automatically.
  • jellyrpc — handles everything else: shows the active app (terminal, browser, editor, Steam) and goes idle after 5 minutes of inactivity. Steps back silently when mprisence has something to show.

App detection and handoff

App detection uses pgrep in priority order — terminal beats browser, editor beats terminal. Edit APP_MAP in jellyrpc.py to add or reorder apps.

Before updating Discord presence, jellyrpc checks whether mprisence is active. If mprisence has something to show it clears its own presence and stays silent. This prevents the two from fighting over the same IPC slot.

Note: Requires mprisence installed separately. jellyrpc installs as a systemd user service so it starts automatically at login.

Nothing else handled the handoff cleanly

Other Rich Presence tools on Linux either handled media or apps but not both, or would overwrite each other. Having two daemons with a clear priority system solved it. mprisence owns media metadata; jellyrpc owns everything else.

← back to projects