[PATCH] x11-bell: ignore volume from X11

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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);
>      }
>



[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux