System bell mess

Gunnar Schmi Dt gunnar at
Tue Mar 1 00:46:47 GMT 2005


I think I have to shed a bit of light onto the System bell mess:

The mess comes from the fact that we have two "bells" and two different 
options in two different KCMs that do something different but sound 
similar if you think that we only have one bell.

One "bell" basically is KNotify. This bell receives all events from the KDE 
applications. The other bell is the system bell, which gets used as a 
low-level notification mechanism by the X-Server and a number of non-KDE 

The setting in the "Sound & Multimedia -> System Bell" module is used to 
get KNotify use the system bell instead of its homebrew own notification. 
(OK, most of the time we want to have the homebrew own notification, but 
if the computer does not have a soundcard we might want to get system 
beeps instead.)

The setting in the "Regional and Accessibility -> Accessibility" module is 
used to configure the effect triggered by the system bell. Here you can 
decide to activate a visible bell or play some sound file instead of (or 
in addition to) the system bell beeps.

> > > On Sunday 27 February 2005 4:42 pm, George Staikos wrote:
> > > > The whole system bell concept seems to be very broken right now. 
> > > > The accessibility module is overriding KDE settings and making
> > > > things very confusing.  How do we fix this properly?
> > > [...]

As far as I know (but I did not test it, though) the two options are 
working perfectly if you have configured them correctly.  Maybe the 
background is too obscure to be understood without the explanations I 
wrote above. In that case we need to make it more easy understandable (I 
do not know if that is possible for KDE 3.5 or if that requires BIC 

> > On Monday 28 February 2005 04:34, Benjamin Meyer wrote:
> > > According to the TODO file in kcontrol the one in Sound And
> > > Multimedia is slated to be removed for 4.0 when we are allowed to
> > > change stuff.

I am happy to see the option removed if "Use the system bell" becomes a 
possible response for each KNotify event individually. We do not want to 
always use the system bell, but some users might want to hear the system 
bell for certain events (especially with a broken sound card).

> On Monday 28 February 2005 03:17 pm, George Staikos wrote:
> >   Ok, but breaking it instead of removing it is hardly acceptable
> > behaviour. How do we fix this situation?  Remove the one from the
> > accessibility module temporarily?  Make them cooperate?

Removing the option from the accessibility module is not an option if you 
have read my explanation above. We have to make the two options cooperate 
with each other and we need to make clear to the user that there are two 

On Monday 28 February 2005 12:23, Gary Cramblitt wrote:
> I have 4 SystemBell settings in my config directory:
> [...]

We do have multiple entries called "UseSystemBell" because some 
applications allow to bypass KNotify in order to use the System Bell 
instead. I would like to see that cleaned up for KDE 4 (if KNotify 
supports using the system bell by then).

> Note that "kcmshell bell" is the same as Control Center -> Sound &
> Multimedia -> System Bell.  So this appears to be a bug.

I do not see a bug in there. With "kcmshell bell" you open the "Sound & 
Multimedia -> System Bell" KCM just as you use "kcmshell kcmaccess" in 
order to open the "Regional and Accessibility -> Accessibility" KCM. Or do 
you think that it should read "kcmshell kcmbell" instead?

> There is also code in kdebase/kcontrol/accessibility/accessibility.cpp
> that seems to read from a "bellrc" file.  Is this code active anymore?

This code is not active and to my knowledge it has never been active. 
Pupeno started to rewrite the Accessibility module 
(kdebase/kcontrol/access). However, instead of starting in kdenonbeta he 
directly started it in kdebas/kcontrol/accessibility (or am I wrong 
here?). The rewrite was never finished and in the meantime I have extended 
the functionality of the old module in kdebase/kcontrol/access. I do not 
know whether updating the rewrite or starting the rewrite from scratch is 
less work.

> There is also code in kdelibs/kdecore/knotifyclient for UseSystemBell,
> but I'm not sure which rc file this reads/writes (application specific?)
> or how one changes it in the gui.

If you are referring to the static function useSystemBell() in the 
namespace KNotifyClient, that function returns true if "Sound & Multimedia 
-> System Bell -> Use system bell instead of system notification" is 
enabled Basically the KDE applications should then use the system bell 
instead of KNotify (but I expecht that this is already handled in the 
knotifyclient.cpp file).

> The setting under Sound & Multimedia -> System Bell is labeled "Use
> system bell instead of system notification".  Is this really the same
> setting as under Regional and Accessibility -> Accessibility, which is
> labeled "Audible Bell / Use system bell"?  The former implies it only
> affects KNotify stuff.

The two are very different settings. With the first setting you bypass 
KNotify and trigger a system bell event which perhaps gets interrupted by 
the kaccess deamon. If so, then the kaccess daemon will maybe start some 
visible bell. It will also stop the event if the second setting is 
disabled or ring the bell if it is enabled.

> Is everyone else as confused as I am. :/

This question can either be answerd with "No" or it will stay unanswered as 
one person who is not confused is enough to say "No".

At least I do perfectly know what is going on here.

Gunnar Schmi Dt
Co-maintainer of the KDE Accessibility Project
Maintainer of the kdeaccessibility package
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <>

More information about the kde-core-devel mailing list