Feature #26

Implement notifications for new messages, highlights, and events

Added by Sputnick over 16 years ago. Updated almost 15 years ago.

Quassel GUI (Qt)
Target version:
Start date:
Due date:
% Done:


Estimated time:


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.


#1 Updated by EgS over 16 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 16 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 16 years ago

old bug reports clean up....
-> has been fixed quite some time ago

Also available in: Atom PDF