[Feature] Per-Application Notification Layout / Placement Rules
Hi, and thank you for the ongoing development of SwayNC — it’s currently the most flexible and modern notification solution for Wayland-based environments.
I would like to request support for per-application layout and placement rules for notifications.
Right now, most notification layout-related options (such as position, stacking behavior, anchor points, margins, or output selection) are global, which means all notifications share the same visual behavior and placement.
Why this would be useful
Different applications often convey different levels or types of information. Being able to separate or categorize notifications visually can make them much easier to notice, ignore, or prioritize. For example:
- Messaging apps placed near the bottom right (closer to typing focus area)
- System or desktop notifications at the top right or left
- Critical alerts centered or visually isolated
- Media / “now playing” notifications near the bottom left
- Development/debug notifications on a secondary monitor
This allows users to avoid visual noise and create a more meaningful, glanceable notification workflow.
Proposed Feature
Extend the existing per-application rule system to include layout and placement attributes, e.g.:
"app-name=Signal": {
"positionX": "right",
"positionY": "bottom",
"margin": 20,
"stacking": "bottom-up",
"monitor": "eDP-1"
},
"app-name=Firefox": {
"positionX": "right",
"positionY": "top",
"margin": 10,
"stacking": "top-down",
"monitor": "HDMI-A-1"
}
Or using a unified rule block format:
"rules": [
{
"match": { "app-name": "Signal" },
"layout": {
"position": { "x": "right", "y": "bottom" },
"stacking": "bottom-up",
"monitor": "eDP-1"
}
}
]
Notes
-
CSS styling already allows per-application visual customization, which is great — but layout and placement are determined before rendering, so they cannot be overridden in style.css.
-
Workarounds like running multiple SwayNC instances, or mixing SwayNC + Mako, do work, but introduce additional complexity and maintenance overhead.
Benefits
-
Cleaner and more organized notification experience
-
Reduces cognitive load by grouping notifications by context
-
Enables more ergonomic multi-monitor workflows
-
Avoids needing multiple notification daemons
I would be happy to help test and provide feedback if this feature is considered.
Thank you for your time and for maintaining this project! 🙏