Source of truth: /etc/xdg/swaync/configSchema.json.
This schema is installed with SwayNC and defines every supported key and its description.
$schema(schema pointer)ignore-gtk-theme(bool)cssPriority(applicationoruser)
positionX,positionYcontrol-center-positionX,control-center-positionYlayer,control-center-layerlayer-shell,layer-shell-cover-screencontrol-center-exclusive-zonecontrol-center-preferred-outputnotification-window-preferred-output
control-center-width,control-center-heightnotification-window-width,notification-window-heightfit-to-screencontrol-center-margin-topcontrol-center-margin-bottomcontrol-center-margin-leftcontrol-center-margin-right
timeout,timeout-low,timeout-criticalnotification-2fa-actionnotification-inline-repliesnotification-body-image-height,notification-body-image-widthnotification-icon-size(deprecated in schema)notification-groupingimage-visibilitytransition-timehide-on-clear,hide-on-actionrelative-timestampskeyboard-shortcutstext-emptyscript-fail-notify
scripts(matchers + exec)notification-visibilitynotification-action-filter
widgets(order + enabled widgets)widget-config(per-widget options)notifications:vexpandtitle:text,clear-all-button,button-textdnd:textlabel:text,max-linesmpris:show-album-art,autohide,blacklist,loop-carousel,image-size(deprecated)buttons-grid:buttons-per-row,actions[](label,command,type,update-command,active)menubar:menu*(label,position,animation-type,animation-duration,actions),buttons*(position,actions)slider:label,cmd_setter,cmd_getter,min,max,min_limit,max_limit,value_scalevolume:label,show-per-app,show-per-app-icon,show-per-app-label,expand-per-app,empty-list-label,expand-button-label,collapse-button-label,icon-size(deprecated),animation-type,animation-durationbacklight:label,device,subsystem,mininhibitors:text,clear-all-button,button-text
We keep a minimal theme-aligned config at
packages/hyprland/.config/swaync/config.json.
All other options use SwayNC defaults from the schema.
{
"$schema": "/etc/xdg/swaync/configSchema.json",
"ignore-gtk-theme": true,
"cssPriority": "user"
}