From cbfa26afb73069b080eef82e555065b0c203c3d5 Mon Sep 17 00:00:00 2001 From: "s0wlz (Matthias Puchstein)" Date: Wed, 31 Dec 2025 01:23:53 +0100 Subject: [PATCH] feat: add SwayNC notification center template - Created Jinja2 template for SwayNC CSS. - Mapped system DNA to notification states (Critical, Normal, MPRIS). - Updated documentation and repository map. --- GEMINI.md | 1 + INSTALL.md | 50 ++++++++++-- README.md | 1 + templates/swaync/meta.yaml | 4 + templates/swaync/style.css.j2 | 146 ++++++++++++++++++++++++++++++++++ 5 files changed, 197 insertions(+), 5 deletions(-) create mode 100644 templates/swaync/meta.yaml create mode 100644 templates/swaync/style.css.j2 diff --git a/GEMINI.md b/GEMINI.md index f43a567..7605988 100644 --- a/GEMINI.md +++ b/GEMINI.md @@ -84,5 +84,6 @@ Apex is not about pretty colors; it is about signal clarity. │ ├── waybar/ │ ├── zathura/ │ ├── btop/ +│ ├── swaync/ │ └── alacritty/ └── dist/ # Compiled theme files (gitignore this) diff --git a/INSTALL.md b/INSTALL.md index 3ffe348..efce256 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -303,15 +303,55 @@ All generated theme files can be found in the `dist/` directory after running `u 1. Copy the desired file to your Btop themes directory (usually `~/.config/btop/themes/`): - ```bash + ```bash - mkdir -p ~/.config/btop/themes + mkdir -p ~/.config/btop/themes - cp dist/btop/*.theme ~/.config/btop/themes/ + cp dist/btop/*.theme ~/.config/btop/themes/ - ``` + ``` - 2. Select the theme within Btop settings (ESC -> Options -> Color theme). + 2. Select the theme within Btop settings (ESC -> Options -> Color theme). + + + + --- + + + + ## 13. SwayNC + + + + **Files:** + + - `dist/swaync/apex-neon-style.css` + + - `dist/swaync/apex-aeon-style.css` + + + + **Installation:** + + 1. Copy the desired file to your SwayNC config directory: + + ```bash + + mkdir -p ~/.config/swaync + + cp dist/swaync/apex-neon-style.css ~/.config/swaync/style.css + + ``` + + 2. Reload SwayNC: + + ```bash + + swaync-client -rs + + ``` + + diff --git a/README.md b/README.md index 18d0d34..8476005 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,7 @@ The factory currently generates native themes for: - **Waybar** (CSS variables) - **Zathura** (Config) - **Btop** (Theme) +- **SwayNC** (CSS) ## The Apex DNA diff --git a/templates/swaync/meta.yaml b/templates/swaync/meta.yaml new file mode 100644 index 0000000..b996942 --- /dev/null +++ b/templates/swaync/meta.yaml @@ -0,0 +1,4 @@ +author: S0wlz (Owlibou) +description: SwayNC notification center theme (CSS) +version: 1.0.0 +strategy: individual diff --git a/templates/swaync/style.css.j2 b/templates/swaync/style.css.j2 new file mode 100644 index 0000000..bd76e9b --- /dev/null +++ b/templates/swaync/style.css.j2 @@ -0,0 +1,146 @@ +/* {{ scheme }} — SwayNC Theme */ +/* DNA: State over Decoration */ + +@define-color void {{ palette.background }}; +@define-color stark {{ palette.foreground }}; +@define-color razor {{ palette.cursor }}; +@define-color tech {{ palette.info }}; +@define-color toxic {{ palette.success }}; +@define-color amber {{ palette.warning }}; +@define-color alert {{ ansi.bright.red }}; + +@define-color panel {{ ui.panel }}; +@define-color border {{ ui.border }}; +@define-color stealth {{ ui.stealth }}; +@define-color dim {{ ui.dim }}; + +/* SwayNC Specific Variables */ +@define-color noti-bg @panel; +@define-color noti-fg @stark; +@define-color noti-border-color @border; +@define-color noti-bg-hover @border; +@define-color noti-bg-focus @border; +@define-color noti-bg-critical @razor; +@define-color noti-fg-critical @void; + +@define-color mpris-bg @panel; +@define-color mpris-fg @stark; + +@define-color bg-selected @razor; +@define-color fg-selected @void; + +/* Base Structure */ +* { + font-family: "JetBrainsMono Nerd Font"; + font-weight: 500; +} + +.control-center { + background: @void; + border: 2px solid @razor; + border-radius: 0; + margin: 10px; +} + +.control-center-list { + background: transparent; +} + +.notification { + background: @noti-bg; + border: 1px solid @noti-border-color; + border-radius: 0; + margin: 5px; + padding: 10px; +} + +.notification-content { + background: transparent; +} + +.notification-default-action:hover { + background: @noti-bg-hover; +} + +.notification-critical { + background: @noti-bg-critical; + color: @noti-fg-critical; +} + +.notification-critical .notification-content { + color: @noti-fg-critical; +} + +.notification-group { + background: transparent; +} + +.notification-group-headers { + color: @dim; +} + +.notification-group-icon { + color: @razor; +} + +.mpris { + background: @mpris-bg; + border: 1px solid @border; + border-radius: 0; + margin: 5px; +} + +.mpris-title { + color: @stark; + font-weight: bold; +} + +.mpris-subtitle { + color: @dim; +} + +.widget-title { + color: @razor; + font-weight: bold; + font-size: 1.2rem; +} + +.widget-label { + color: @stark; +} + +.widget-dnd { + color: @tech; +} + +.widget-mpris { + background: transparent; +} + +.widget-buttons-grid { + background: @panel; + padding: 10px; + margin: 5px; +} + +.widget-buttons-grid > button { + background: @void; + border: 1px solid @border; + border-radius: 0; + color: @stark; +} + +.widget-buttons-grid > button:hover { + background: @razor; + color: @void; +} + +.widget-menubar > button { + background: transparent; + color: @stark; +} + +.widget-menubar > button:hover { + background: @razor; + color: @void; +}