Feature #26
Implement notifications for new messages, highlights, and events
0%
Description
We need notifications to mark buffers that received certain events in the netviews, as well as maybe have some systray icon action and/or a blinking taskbar entry.
History
#1 Updated by EgS over 17 years ago
I think this BR deserves a bit more attention, since it's a basic feature any irc-Client needs.
I propose a solution similar to the Message system:
Introduce a new Notofication Type featuring some sort of notification level. I think the levels weechat uses are quite decent: highlight, activity (privmsg/notice), joins and parts.
When such an event occurs the handler has to emit the Notificatioin at the level needed so the Networkviews (are they still called Networkviews?).
The bigger question that comes to my mind is: how should real highlights be displayed in the channelbuffer. Sure it shouldn't be a problem to modify the message before emiting but once again: how to store the message? plain as it got in? Should we store the modified message and if so is the way the highlight is displayed (lets say a perticular color like red) stored kinda hardcoded? Problems that arise: what if the highlight list is changed? what if the color is changed from red to green?
#2 Updated by EgS over 17 years ago
As discussed with Sputnick my concerns are without reasons, since the highlighting information is a flag of the messageobjekt and already stored in the backlog.
The notification system has been implemented via 4 notification types, which allow easy masking:
enum ActivityLevel {
NoActivity = 0x00, OtherActivity = 0x01,
NewMessage = 0x02, Highlight = 0x40
};
The corresponding colors are hardcoded for the time beeing. This should be changed when the preferences go live.
The ActivityLevels are defined in the NetworkViews. I don't think this is the best place (especialy when there other ways of notification (tray icon etc.) are implemented).
#3 Updated by EgS almost 17 years ago
old bug reports clean up....
-> has been fixed quite some time ago