Jabber Developer 68800cf823 feat(sounds): add per-JID mute support and enhance playback behavior
Some users requested the ability to mute notifications from specific JIDs
without disabling all sounds. This change introduces `mute` and `unmute`
commands to allow fine-grained control over sound playback.

While implementing this, the sound path expansion logic was improved by
switching to `pathlib` with `lru_cache` for efficiency and clarity.
Playback is now also rate-limited to avoid overlapping audio triggers
from rapid message bursts.

This lays the groundwork for more user-specific customization of sound
notifications while keeping the experience smooth and reliable.

Additionally the bug with ignoring sound's `kind` was fixed: now the plugin respects specific sounds set for rooms, chats and private messages within rooms.

Finally, code was formatted via Black to avoid ambiguity in the formatting.
2025-07-06 02:16:39 +02:00
2020-03-02 09:12:13 +01:00
2017-01-28 19:45:42 +00:00
2016-07-19 00:39:13 +01:00

profanity-plugins

Building Profanity with plugin support

Dependencies required:

autoconf-archive
libtool

For Python plugins the following is also required:

python-dev

Installing plugins

Use the /plugins install command, e.g.

/plugins install ~/projects-git/profanity-plugins/stable/say.py

See the /help plugins command for further plugin management options.

Branches

  • 0.5.0: Maintenance branch compatible Profanity 0.5.0
  • 0.5.1: Maintenance branch compatible Profanity 0.5.1
  • master: Development for Profanity 0.6.0 - 0.11.x

Developing plugins

API Documentation:

External plugins

Description
Python and C plugins collection for the CProof XMPP client
Readme 387 KiB
Languages
Python 75.7%
C 20.5%
Makefile 1.8%
Awk 1.4%
Shell 0.6%