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

Bug#312217: kdelibs-data: knotify does not start after sound system disabled and then enabled

tags confirmed upstream
forwarded 312217 http://bugs.kde.org/show_bug.cgi?id=100185

On June 6, 2005 07:06, Paul Andreassen wrote:
> Package: kdelibs-data
> Version: 4:3.3.2-6.1
> Severity: normal
> If I disable and enable the Sound System in Control Center,
> the knotify service wont start even after reboot.
> I can manually fix the problem by changing "Arts Init=false" and
> "Use Arts=false" to true in ~/.kde/share/config/knotifyrc .

I can confirm this problem. Turning off arts breaks knotify, since KDE isn't 
smart enough to tell knotify that arts is available should you turn arts 
back on again. I think this problem explains many mysterious "knotify is 
broken" reports we've had.

A temporary work-around is to: 1) make sure arts is on, 2) delete 
~/.kde/share/config/knotifyrc, 3) restart KDE. That should put things back 
to their defaults. If you don't want to use arts, then simply install sox 
or some such tools, and tell knotify to use an external player.

It seems the issue has been discussed by upstream as bug #100185. That 
thread contains a patch which simply sets the "Arts Init" and "Use Arts" 
values to true whenever arts is turned on. The patch seems to work here, 
but it isn't a really complete solution. If arts crashes, knotify will set 
the aforementioned values to false, and they will not be reset to true 
until the user manually stops, and then manually starts, arts.

I've attached the patch, ready to be included in kdebase if people think it 
is a good idea; testing and comments welcome, as always - maybe we can 
include this in Debian's kdebase, even if upstream is reluctant? Maybe...

Christopher Martin
--- kde.orig/kcontrol/arts/arts.cpp
+++ kde.patched/kcontrol/arts/arts.cpp
@@ -383,6 +383,12 @@
 	delete midiConfig;
+	KConfig *knotifyConfig = new KConfig( "knotifyrc", false );
+        knotifyConfig->setGroup( "StartProgress" );
+        knotifyConfig->writeEntry( "Arts Init", startServer->isChecked());
+        knotifyConfig->writeEntry( "Use Arts", startServer->isChecked());
+        delete knotifyConfig;

Reply to: