An Equicord user plugin that makes desktop notifications from the same channel stack up instead of replacing each other.
  • TypeScript 100%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-19 15:14:19 -07:00
index.ts rename to notification limit increase 2026-10-19 15:14:19 -07:00
README.md rename to notification limit increase 2026-10-19 15:14:19 -07:00

NotificationLimitIncrease

An Equicord user plugin that makes desktop notifications from the same channel stack up instead of replacing each other.

Why

Discord keeps a list of the notifications it has shown for each channel. When you open the channel, mark it read, or focus the window, it closes all of them. That list has a size limit, and adding a notification past the limit closes the oldest one:

DiscordNative.features.supports("notifications") ? 20 : 1

The "notifications" feature only exists when Discord's native notification module loads, which happens on Windows and macOS. On Linux, Discord uses plain HTML5 notifications, so the limit is 1: each new message closes the previous notification from that channel.

This plugin replaces that limit with a setting. Discord's own code still closes all of a channel's notifications when you open it.

Settings

Setting Default Description
maxPerChannel 20 Max notifications kept per channel before the oldest is closed. 0 = unlimited.

Install

nixcord

Using nixcord, with Equicord enabled:

programs.nixcord = {
  userPlugins.notificationLimitIncrease =
    "git+https://git.insberr.com/insberr/equicord-notification-limit-increase.git?rev=<full 40-character commit>";

  extraConfig.plugins.NotificationLimitIncrease = {
    enable = true;
    # maxPerChannel = 20;
  };
};
  • nixcord only accepts a full commit hash, not a branch or tag.
  • The plugin goes under extraConfig.plugins, not config.plugins, because nixcord's typed options don't know about user plugins.

Manual

Clone this repo into src/userplugins/ of an Equicord checkout, then build and inject Equicord as usual:

git clone https://git.insberr.com/insberr/equicord-notification-limit-increase.git src/userplugins/notificationLimitIncrease

Testing

  1. With Discord unfocused, have a few messages sent in one channel. They should stack in your notification daemon.
  2. Open that channel. They should all close.

To watch the show and close calls:

dbus-monitor "interface='org.freedesktop.Notifications'"

How it works

The plugin patches the track method of Discord's NotificationStore notification tracker, replacing the hard-coded limit in i.length > LIMIT with $self.getLimit(). If a Discord update changes that code, Equicord will report the patch as failed and notifications will behave as they do in stock Discord.

License

GPL-3.0-or-later