Bug 87664 - Signal/Bell system-notification option doesn't save
Summary: Signal/Bell system-notification option doesn't save
Alias: None
Product: konsole
Classification: Applications
Component: general (show other bugs)
Version: 1.4
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: Konsole Developer
Depends on:
Reported: 2004-08-21 09:58 UTC by Christoph Roeder
Modified: 2004-11-16 17:27 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:

Menu: Screenshot (48.87 KB, image/jpeg)
2004-08-22 08:40 UTC, Christoph Roeder
Checks for kcmartsrc, defaults to true if not found. (1.05 KB, patch)
2004-08-22 19:50 UTC, Kurt Hindenburg
Remove checking of the sound system server. (2.02 KB, patch)
2004-11-15 19:27 UTC, Kurt Hindenburg

Note You need to log in before you can comment on or make changes to this bug.
Description Christoph Roeder 2004-08-21 09:58:15 UTC
Version:           1.4 (using KDE KDE 3.3.0)
Installed from:    SuSE RPMs
OS:                Linux

When change the Signal option (in menu: settings) to system-message konsole doesn´t save these setting.

I clicked the "saved as default" too, but it only works for the two other options.

Comment 1 Kurt Hindenburg 2004-08-22 08:25:02 UTC
Are you referring to Settings->Bell->System-Notification?  If so, konsole checks to verify you have 'Sound-system' enabled in the control panel.  If the sound system is disabled, konsole defaults to System-Bell.

If you are referring to something else, please explain further.
Comment 2 Christoph Roeder 2004-08-22 08:40:45 UTC
Created attachment 7215 [details]
Menu: Screenshot
Comment 3 Christoph Roeder 2004-08-22 08:42:53 UTC
The Problem is, after updateing from KDE 3.2.3 to the new 3.3,
Konsole don't save the second Bell-Option (System-Message; german: System).

In the Screenshot you can see the 2'nd option which Konsole never saves.

PS: my Sound-System works fine ...
Comment 4 Kurt Hindenburg 2004-08-22 08:53:43 UTC
konsole checkes the arts config file to see if the arts server is started.

% grep StartServer $KDEHOME/share/config/kcmartsrc

What does it say on your system?

Comment 5 Christoph Roeder 2004-08-22 10:39:10 UTC
the file: $KDEHOME/share/config/kcmartsrc doesn't exist

but why checks Konsole the Sound-System when I select the option that he shouldn't play anything ?

I will, that Konsole only save the second option, .... it works for the actual session, but not after start an new konsole !
Comment 6 Kurt Hindenburg 2004-08-22 18:33:09 UTC
The Bell->system-notification relies on the kde/arts sound-system.  If the sound-system is disabled then there is no reason to have Bell->system-notification checked.

Comment 7 Christoph Roeder 2004-08-22 18:41:47 UTC
The Problem is only that Konsole doesn't save the 2nd Option when you close Konsole and open an new one.

In the Screenshot I attached before is the 1st option select that I will not have, I want the highlighted 2nd !
Comment 8 Kurt Hindenburg 2004-08-22 19:01:01 UTC
I just checked; if $KDEHOME/share/config/kcmartsrc is missing, then konsole thinks the system-sound is disabled (and therefore disables system-notification).  I'll see what I can do to fix it.

Temporary, you can open KDE sound & Multimedia - >Sound System, change something and press apply.  This should create the kcmartsrc file. 
Comment 9 Kurt Hindenburg 2004-08-22 19:50:40 UTC
Created attachment 7220 [details]
Checks for kcmartsrc, defaults to true if not found.

This likely should be applied to 3.3 also.
Comment 10 Christoph Roeder 2004-08-22 20:14:18 UTC
ok, thanks it works ... but I don't understand why you check for this file
when I select the 2nd option !?
Comment 11 Waldo Bastian 2004-08-22 21:11:47 UTC
CVS commit by waba: 

Fix check for soundserver (BR87664)
CCMAIL: 87664-done@bugs.kde.org

  M +1 -1      konsole.cpp   1.476

--- kdebase/konsole/konsole/konsole.cpp  #1.475:1.476
@@ -1339,5 +1339,5 @@ void Konsole::checkSoundSystem()
   KConfig *arts_config = new KConfig("kcmartsrc");
-  b_soundSystemEnabled = arts_config->readBoolEntry("StartServer", false);
+  b_soundSystemEnabled = arts_config->readBoolEntry("StartServer", true);

Comment 12 Kurt Hindenburg 2004-08-22 21:59:35 UTC
Oh duh!  Stupid me.  Did you also commit to 3.3 Branch?  I'm a little fuzzy about the branches other than head.
Comment 13 Jonathan Rawle 2004-10-24 22:24:32 UTC
There is still a problem with this in 3.3.1! I was about to open a new bug, then found this one.

In the English version of KDE, there are three options for the Konsole bell:
0. System bell
1. System notification
2. Visible bell

If I have selected 0 or 2, this setting is saved when I choose "Save as default" and restored when I open a new Konsole. However, if I choose 1 and save it, it reverts to 0 ("System bell") next time I start Konsole. Even if I edit the config file by hand to include bellmode=1, this reverts to bellmode=0 next time I use Konsole.

Other points:

1. Why is there no "None" option as there was in KDE <= 3.2.3 - I prefer my Konsoles to have no bell sound?

2. I don't think this problem is related to whether you use ARTS or not. I've never used ARTS, and the bell options have always functioned for me in earlier versions of KDE.

3. The options don't do what they say anyway. Choosing "System bell" DOESN'T use the system bell, but uses a KDE system notification for a generic event. Choosing "System notification" does the same, but uses a specific Konsole event (which is new in KDE 3.3.x).
Comment 14 Jonathan Rawle 2004-10-25 13:20:06 UTC
I'm no KDE programming expert, but I found this in konsole.cpp

      if ( !b_soundSystemEnabled && (n_bell == BELLNOTIFY) )
         n_bell = BELLSYSTEM;

This suggests it changes the option to System bell if ARTS isn't running. I don't think this is the correct behaviour, as it is possible to use system notifications even if ARTS isn't running. Surely this isn't the usual behaviour in KDE? If the user doesn't use system notifications, but wants a Konsole bell, he or she would select "System bell" from the menu!
Comment 15 Kurt Hindenburg 2004-11-07 18:45:25 UTC
The code for checking whether the sound system was enabled was an "attempt" to fix BR 71551.  Basically, prior to 3.3 if konsole had System-Notification enabled and the Sound System was diabled, konsole would start the artsd server (which the user didn't want).
Comment #13,
 1. I put the Bell->None in after 3.3 and I've not backported it.
 2. Currently (AFAIK) arts is THE Sound System for KDE.

Comment #14, if the user has the 'Enable Sound System' disabled in KControl, then doesn't that disallow using System-Notification?

I'm not sure the checking for the sound system enable is correct or what other option there is....  I had thought System-notification meant sounds...

I just tested disabling the sound system and removing the sound check in konsole; with System Notification enabled, nothing happened (ie arts server wasn't started).  So perhaps this code is irrelevant...
Comment 16 Kurt Hindenburg 2004-11-07 18:46:32 UTC
Reopen while trying to understand this better (comment #15).
Comment 17 Jonathan Rawle 2004-11-07 18:58:15 UTC
I removed the last two of the lines I quoted in comment #14, and now it works as I'd expect. I don't think individual apps should decide to use the system bell because system notifications aren't working - that should be set globally in the control centre.

If the user doesn't have sounds working correctly on their system, konsole shouldn't try to fix it on its own!

System notifications can work perfectly without arts, as long as you specify an external player. They appear on a different screen to "Enable sound system" in the control centre. As far as konsole is concerned, neither starting arts nor changing to system bell because arts isn't running is correct.
There are many good reasons for not using arts (problems with non-kde apps, latency, etc.)

Thanks for taking the time to look into this!
Comment 18 Kurt Hindenburg 2004-11-15 19:27:18 UTC
Created attachment 8291 [details]
Remove checking of the sound system server.

It appears that my fix for BR71551 was incorrect.  This patch simply undos that
The thought is that konsole should not disable System-notification just because
the arts-server is disabled.
Comment 19 Kurt Hindenburg 2004-11-16 17:27:08 UTC

Note to self, back-port.