howto highlight window
The goal here is to make all highlights (lines containing your nickname) appear in a custom window, along with the channel name. This assumes that you're using the core Channel Colours action pack, or that you have your own action that sets the formatter to “channelHighlight” for highlighted lines.
- Create a new formatter to use for the highlight window:
/set formatter highlightWindow [%6$s] <%1$s%2$s> %5$s
- The arguments are the same as a channelMessage format - the user's mode, nickname, ident and host, and the message and the channel, respectively.
- Set the notification target for highlights:
/set notifications channelHighlight fork:format:highlightWindow:window:Highlights|self
- The “fork:” target allows you to send one notification to multiple places. The remainder of the data is split on the “|” (pipe) character, and handled as if the fork never happened. Thus, we have two notifications now, one with the target “format:highlightWindow:window:Highlights” and one with the target “self”
- The “self” target simply means that the notification goes to the window that caused it. In this case the channel highlight gets displayed in the channel, which is always useful.
- The “format:” target allows you to change the format that's being used for a notification on-the-fly. The new format is specified, followed by another colon, which is then followed by the actual target. The format (which was previously “channelHighlight”) has now been changed to “highlightWindow” for this notification. This means it fuses the formatter we defined earlier
- The remaining target is “window:Highlights”. The “window:” target specifies that the output should go to a custom window with the specified name (Highlights). If the window doesn't exist, it is created So, with two configuration settings (and a small core action), we can have a highlight window.