[pulseaudio-discuss] [PATCH] x11-bell: ignore volume from X11

Alexander E. Patrakov patrakov at gmail.com
Fri Nov 11 08:14:00 UTC 2016


On 11/10/2016 04:22 PM, Tanu Kaskinen wrote:
> X11 has its own bell volume setting, controlled with the "xset b"
> command. If we use that volume, then the "System Sounds" slider in
> pavucontrol doesn't affect the x11-bell sample volume, which in my
> opinion is a bad thing. Ignoring the volume suggestion from X11 allows
> module-stream-restore to apply the "event" role volume.

Looks reasonable.

The alternative would be to synchronize the X11 bell volume and the 
"event" role volume bidirectionally (so that "xset b" also sets the 
"event" role volume). However, that would be a lot of new code 
(XRecord?), and we don't know who else sets the X11 bell volume and 
when, so let's use the simple solution of ignoring it.

-- 
Alexander E. Patrakov

> ---
>  src/modules/x11/module-x11-bell.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/modules/x11/module-x11-bell.c b/src/modules/x11/module-x11-bell.c
> index 6c9f580..59e0513 100644
> --- a/src/modules/x11/module-x11-bell.c
> +++ b/src/modules/x11/module-x11-bell.c
> @@ -76,7 +76,7 @@ static int x11_event_cb(pa_x11_wrapper *w, XEvent *e, void *userdata) {
>
>      bne = (XkbBellNotifyEvent*) e;
>
> -    if (pa_scache_play_item_by_name(u->core, u->scache_item, u->sink_name, ((pa_volume_t) bne->percent*PA_VOLUME_NORM)/100U, NULL, NULL) < 0) {
> +    if (pa_scache_play_item_by_name(u->core, u->scache_item, u->sink_name, PA_VOLUME_INVALID, NULL, NULL) < 0) {
>          pa_log_info("Ringing bell failed, reverting to X11 device bell.");
>          XkbForceDeviceBell(pa_x11_wrapper_get_display(w), bne->device, bne->bell_class, bne->bell_id, bne->percent);
>      }
>



More information about the pulseaudio-discuss mailing list