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
stop
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...
Cheers,
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;
+
config->sync();
}
Reply to: