Version: (using KDE 4.1.3) Installed from: Ubuntu Packages If I associate a notification (say, play a sound) with an event (say, going online) for a particular contact, then kopete seems to ignore that association and instead performs the default notification (if any) for that event. For example, if I set the default to play file A when contacts log in and the custom to play file B when contact Z logs in, then file A always seems to get played when a contact logs in, even if the contact is Z.
I can confirm this bug in Kopete from KDE 4.2.0. My system Portage 2.2_rc23 (default/linux/amd64/2008.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.27.9-lvs x86_64)
Stills happens with Kopete-4.2.1.
Well, I have figured out the problem is that there is no code implementing the custom notifications in kopete-4.2.1/kopete/libkopete/private/kopeteviewmanager.cpp (KopeteViewManager::messageAppended). The code should feed the eventId variable with the custom notification id stored in ~/.kde4.2/share/config/kopete.notifyrc. When I have more time I am going to do that, anybody feel free to do it him/herself too :-)
Actually there is code to add contexts to notifications, this is how the custom notificatios is implemented. It is just not working :-/
I have found it. The code in kopeteviewmanager.cpp calls the context "metacontact" but they are written "contact" in ~/.kde4.2/share/config/kopete.notifyrc. I think the code that write to ~/.kde4.2/share/config/kopete.notifyrc must change "contact" to "metacontact" to make it consistent.
Created attachment 31962 [details] Fix custom notifications not working A patch says more than a thousand words hehe. I still think the best approach is using "metacontact" string everywhere, but for the hurried people this simple patch also solves the problem.
*** Bug 186679 has been marked as a duplicate of this bug. ***
Created attachment 32006 [details] Fix custom notifications when user changes state One more place with the same problem.
*** Bug 189393 has been marked as a duplicate of this bug. ***
Same problem in Debian Sid: $ kopete --version Qt: 4.4.3 KDE: 4.2.2 (KDE 4.2.2) Kopete: 0.70.2
Hi all, could someone from KDE apply those two patches I created? They solve this issue and someone can bring a better solution for Kopete in KDE 4.3.
Yes, I can confirm, the patch works.
Bram: feel free to commit.
SVN commit 955078 by bram: Custom notifications for contacts work again. Patch by Lamarque Vieira Souza, thank you! BUG:175687 M +1 -1 kopete/contactlist/kopetemetacontactlvi.cpp M +1 -1 libkopete/private/kopeteviewmanager.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=955078
SVN commit 955080 by bram: Fix in trunk for custom notifications. The patches at bug 175687 apply for KDE 4.2.x, it seems much has changed in the codebase to make them apply at all. This is the only occurrence of the metacontact context I could find, so I changed it. CCBUG:175687 M +1 -1 kopeteviewmanager.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=955080
After KDE 4.3 update individual and group notifications doesn't work again --in Debian Sid. Regards.
Actually it still works, but you have to delete your .kde and restart kopete, which is not a good option. I am trying to figure out what has changed in kopete (or knotify) configuration that caused that. One thing that I have noticed is that the eventId format used in ~/.kde/share/config/kopete.notifyrc has changed, but even deleting kopete.notifyrc and restarting kopete has not worked out.
Loging out, deleting /tmp/kde-lamarque/ksycoca, rebuilding sycoca with kbuildsycoca4 --noincremental, loging in again seems to have solved the problem. Well, KDE4 uses /var/tmp/kdecache-lamarque/ksycoca4 and not /tmp/kde-lamarque/ksycoca, maybe this is a old file from KDE3.
Lamarque, works fine moving ~/.kde/share/apps/kopete and ~/.kde/share/config/kopete* to /tmp This delete all Kopete configurations. Finally you can recover chat logs from /tmp/kopete/logs Thanks!
I prefer to use kbuildsycoca4 --noincremental, this way I do not have to redo all my configurations.