Skip to main content

Side streams

nexGui4 has two side-stream panels in addition to the main display:

  • System (nexSystem)
  • Combat (nexCombat)

Each is a separate transcript view backed by its own model. Normal host output still flows through the main display; a row appears in a side stream only when something explicitly routes a line into it.

System Stream Events The System stream rendering defence and affliction events.

Combat Stream Replacements The Combat stream displaying skill replacement rows and target info.

The stream toggles persist UI state only

The System Stream and Combat Stream toggles on the Game options tab persist UI state. They do not by themselves reroute arbitrary game output into the side streams. Lines appear in a side stream when a supported event reaches the message pipeline, or when code writes directly to the stream.

Events that already render into streams

When these events reach the nexGui4 message pipeline, they produce side-stream rows:

EventStreamRenders
Char.Defences.AddSystema +def row
Char.Defences.RemoveSystema -def row
Char.Afflictions.AddSystema +aff row
Char.Afflictions.RemoveSystema -aff row
IRE.Target.InfoCombata target status row
nexSkillMatch / nexSkillNpcMatchCombata structured skill-replacement row

If your message fits one of these contracts, raise the event and let the existing bindings format it:

eventStream.raiseEvent("Char.Defences.Add", {
name: "rebounding",
desc: "A shimmering shield surrounds you.",
});
nexSkillMatch

nexSkillMatch / nexSkillNpcMatch depend on the host replacement handler running during live line processing. Raising them from arbitrary code outside a live output block will not render a combat row — write the row directly instead.

Writing a custom row

For custom rows from scripts or other packages, use the public stream API:

nexGui.api.stream.add({
html: "<span>[note] something happened</span>",
stream: "system", // or "combat"
});
  • html is the trusted row markup.
  • stream must be "system" or "combat".
  • A timestamp is generated and rendered by the panel; do not include timestamp markup in html.

See nexGui.api.stream for the full contract.