Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Noro18/linux-ricing-dotfiles/llms.txt

Use this file to discover all available pages before exploring further.

SwayNC (Superlative Wayland Notification Center) is the notification daemon and notification panel for this rice. It handles both real-time popup notifications that appear in the corner of the screen and a slide-in control center panel that gives you quick access to system controls, media, and the notification history. Like most components in this setup, it is fully integrated with the Matugen and Wallust theming pipeline.

File structure

~/.config/swaync/
├── config.json                     # Behavior, positioning, widgets, and timeouts
├── style.css                       # Main stylesheet — imports all color and theme files
├── colors.css                      # ⚠ Generated by wallust — do not edit
├── colors-swaync.css               # ⚠ Generated by matugen — do not edit
└── themes/
    └── matugen-nc/
        ├── notifications.css       # Popup notification styling
        └── control-center.css      # Notification panel styling

Dynamic theming

Colors flow into SwayNC entirely through CSS imports. The style.css file is the entry point and it imports everything in order:
@import 'colors-swaync.css';
@import 'colors.css';
@import 'themes/matugen-nc/notifications.css';
@import 'themes/matugen-nc/control-center.css';
colors-swaync.css (Matugen) and colors.css (Wallust) are auto-generated on every wallpaper change. The theme files in themes/matugen-nc/ then reference the CSS variables those files define, so the notification center always reflects the current wallpaper palette.
Never edit colors.css or colors-swaync.css by hand. Both files are auto-generated and will be overwritten the next time the wallpaper changes.

Control center widgets

The control center panel is composed of a stack of widgets defined in config.json. The active widget list in this setup is:
WidgetPurpose
labelDecorative separator with custom icon text
buttons-gridQuick-access grid of system controls (audio, Bluetooth, network, lock, reboot, shutdown, etc.)
volumeLive audio volume slider
backlightScreen brightness slider (bound to amdgpu_bl2)
mprisMedia player integration with album art
titleSection header with a “clear all” button
dndDo Not Disturb toggle
notificationsScrollable notification history list

Configuration options

All behavioral settings live in config.json. The key options currently set are:
OptionValueEffect
positionX"right"Panel opens on the right side of the screen
positionY"top"Panel anchored to the top
control-center-width400Width of the notification panel in pixels
notification-window-width400Width of popup notification toasts in pixels
timeout4Normal notifications dismiss after 4 seconds
timeout-low2Low-urgency notifications dismiss after 2 seconds
timeout-critical6Critical notifications stay for 6 seconds
keyboard-shortcutstrueKeyboard shortcuts enabled for notification actions

How colors synchronize

1

Wallpaper changes

When you set a new wallpaper, the theming pipeline starts automatically.
2

Color files are regenerated

Matugen writes colors-swaync.css and Wallust writes colors.css.
3

SwayNC reloads

SwayNC reloads its stylesheet to apply the new colors. The notification center and popups immediately reflect the new wallpaper palette.

Keyboard shortcuts

keyboard-shortcuts is enabled in config.json, which means you can use keyboard actions inside the notification center panel to dismiss, close, or interact with notifications without reaching for the mouse.

Troubleshooting

Notifications not appearing

If notifications stop showing up, check whether SwayNC is running and examine its logs:
# Check if the process is running
ps aux | grep swaync

# Inspect the systemd user service log
journalctl --user -u swaync
Also verify that config.json is valid JSON — a syntax error in that file will prevent SwayNC from starting.

Theme not updating after wallpaper change

If the notification center is still showing old colors after a wallpaper change:
  1. Confirm Matugen and Wallust ran successfully and that colors.css and colors-swaync.css have been updated (check their modification timestamps).
  2. Restart SwayNC to force a stylesheet reload:
pkill swaync && swaync &

Build docs developers (and LLMs) love