Version: 1.4 (using KDE KDE 3.3.0)
Installed from: SuSE RPMs
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.
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.
Created attachment 7215 [details]
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 ...
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?
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 !
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.
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 !
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.
Created attachment 7220 [details]
Checks for kcmartsrc, defaults to true if not found.
This likely should be applied to 3.3 also.
ok, thanks it works ... but I don't understand why you check for this file
when I select the 2nd option !?
CVS commit by waba:
Fix check for soundserver (BR87664)
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);
Oh duh! Stupid me. Did you also commit to 3.3 Branch? I'm a little fuzzy about the branches other than head.
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.
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).
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!
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).
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...
Reopen while trying to understand this better (comment #15).
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!
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.
Note to self, back-port.