diff --git a/Configs/atuin/.config/atuin/config.toml b/Configs/atuin/.config/atuin/config.toml
index 4c7a808..84fd8a8 100644
--- a/Configs/atuin/.config/atuin/config.toml
+++ b/Configs/atuin/.config/atuin/config.toml
@@ -117,6 +117,8 @@ ctrl_n_shortcuts = false
# "^/very/secret/area",
# ]
+store_failed = true
+
## Configure the maximum height of the preview to show.
## Useful when you have long scripts in your history that you want to distinguish
## by more than the first few lines.
diff --git a/Configs/swaync/.config/swaync/config.json b/Configs/swaync/.config/swaync/config.json
new file mode 100644
index 0000000..f1ec4e7
--- /dev/null
+++ b/Configs/swaync/.config/swaync/config.json
@@ -0,0 +1,134 @@
+{
+ "$schema": "/etc/xdg/swaync/configSchema.json",
+ "ignore-gtk-theme": true,
+ "positionX": "right",
+ "positionY": "top",
+ "cssPriority": "user",
+
+ "hide-on-clear": true,
+ "hide-on-action": true,
+
+ "relative-timestamps": true,
+ "keyboard-shortcuts": true,
+ "notification-grouping": true,
+
+ "layer": "overlay",
+ "control-center-layer": "top",
+ "layer-shell": true,
+ "layer-shell-cover-screen": true,
+
+ "control-center-width": 500,
+ "control-center-height": 600,
+ "control-center-margin-top": 10,
+ "control-center-margin-bottom": 10,
+ "control-center-margin-right": 10,
+ "control-center-margin-left": 10,
+
+ "notification-2fa-action": true,
+ "notification-inline-replies": false,
+ "notification-body-image-height": 100,
+ "notification-body-image-width": 200,
+ "notification-window-width": 500,
+
+ "timeout": 10,
+ "timeout-low": 5,
+ "timeout-critical": 0,
+
+ "fit-to-screen": true,
+
+ "image-visibility": "when-available",
+ "transition-time": 200,
+
+ "text-empty": "No Notifications",
+ "script-fail-notify": true,
+
+ "scripts": {
+ "example-script": {
+ "exec": "echo 'Do something...'",
+ "urgency": "Normal"
+ },
+ "example-action-script": {
+ "exec": "echo 'Do something actionable!'",
+ "urgency": "Normal",
+ "run-on": "action"
+ }
+ },
+ "notification-visibility": {
+ "example-name": {
+ "state": "muted",
+ "urgency": "Low",
+ "app-name": "Spotify"
+ }
+ },
+ "widgets": [
+ "buttons-grid",
+ "volume",
+ "inhibitors",
+ "title",
+ "dnd",
+ "notifications"
+ ],
+ "widget-config": {
+ "inhibitors": {
+ "text": "Inhibitors",
+ "button-text": "Clear All",
+ "clear-all-button": true
+ },
+ "title": {
+ "text": "Notifications",
+ "clear-all-button": true,
+ "button-text": "Clear All"
+ },
+ "dnd": {
+ "text": "Do Not Disturb"
+ },
+ "label": {
+ "max-lines": 5,
+ "text": "Label Text"
+ },
+ "volume": {
+ "label": " ",
+ "expand-button-label": " ",
+ "collapse-button-label": " ",
+ "show-per-app": true,
+ "show-per-app-icon": false,
+ "show-per-app-label": true
+ },
+ "mpris": {
+ "blacklist": [],
+ "autohide": false,
+ "show-album-art": "always",
+ "loop-carousel": false
+ },
+ "buttons-grid": {
+ "actions": [
+ {
+ "label": "",
+ "type": "normal",
+ "command": "scrcpy",
+ "right-click-command": "scrcpy --help | head -20 | foot -e less"
+ },
+ {
+ "label": "",
+ "type": "normal",
+ "command": "kdeconnect-app",
+ "right-click-command": "kdeconnect-settings"
+ },
+ {
+ "label": " ",
+ "type": "toggle",
+ "active": false,
+ "command": "sh -c '[[ $SWAYNC_TOGGLE_STATE == true ]] && pactl set-source-mute @DEFAULT_SOURCE@ 1 || pactl set-source-mute @DEFAULT_SOURCE@ 0'",
+ "update-command": "sh -c '[[ $(pactl get-source-mute @DEFAULT_SOURCE@) == *yes* ]] && echo true || echo false'"
+ },
+ {
+ "label": " ",
+ "type": "toggle",
+ "active": false,
+ "command": "sh -c '[[ $SWAYNC_TOGGLE_STATE == true ]] && pactl set-sink-mute @DEFAULT_SINK@ 1 || pactl set-sink-mute @DEFAULT_SINK@ 0'",
+ "update-command": "sh -c '[[ $(pactl get-sink-mute @DEFAULT_SINK@) == *yes* ]] && echo true || echo false'"
+ }
+ ]
+ }
+ }
+}
diff --git a/Configs/swaync/.config/swaync/style.css b/Configs/swaync/.config/swaync/style.css
new file mode 100644
index 0000000..0278100
--- /dev/null
+++ b/Configs/swaync/.config/swaync/style.css
@@ -0,0 +1,393 @@
+/* ========================================================================
+ SwayNC CSS Configuration - Catppuccin Theme
+ Reformatted for better readability and maintainability
+======================================================================== */
+
+/* ========================================================================
+ COLOR PALETTE - Gruvbox Inspired
+======================================================================== */
+@define-color bg-primary #24273a; /* Dark background - main canvas */
+@define-color bg-secondary #363a4f; /* Secondary background - panels */
+@define-color bg-tertiary #494d64; /* Tertiary background - hover states */
+@define-color bg-selected #8bd5ca; /* Selection background */
+
+@define-color fg-primary #cad3f5; /* Primary text - cream/off-white */
+@define-color fg-secondary #d5c4a1; /* Secondary text - muted cream */
+@define-color fg-tertiary #bdae93; /* Tertiary text - greyish cream */
+@define-color fg-disabled #665c54; /* Disabled text - dark grey */
+
+@define-color accent-green #8bd5ca; /* Spotify green accent */
+@define-color accent-orange #f5a97f; /* Warm orange accent */
+@define-color accent-red #ed8796; /* Error/critical red */
+@define-color accent-blue #8aadf4; /* Info blue */
+@define-color accent-purple #c6a0f6; /* Purple accent */
+
+@define-color border-primary #8bd5ca; /* Primary border color */
+@define-color border-focus #c6a0f6; /* Focus border - green accent */
+
+/* Special Purpose Colors */
+@define-color mpris-album-art-overlay rgba(0, 0, 0, 0.55);
+@define-color mpris-button-hover rgba(0, 0, 0, 0.5);
+
+/* ========================================================================
+ GLOBAL STYLES
+======================================================================== */
+* {
+ outline: none;
+ font-family: "JetbrainsMono Nerd Font", monospace;
+ font-size: 18px;
+ text-shadow: none;
+ color: @fg-primary;
+}
+
+/* ========================================================================
+ CONTROL CENTER - Main notification panel
+======================================================================== */
+.control-center {
+ background-color: @bg-primary;
+ box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.65);
+ border: 2px solid @border-primary;
+ padding: 5px;
+ border-radius: 4px;
+}
+
+.control-center * {
+ background-color: transparent;
+ box-shadow: none;
+ outline: none;
+}
+
+.control-center .notification-row .notification-background {
+ border-radius: 4px;
+ margin-top: 5px;
+ background: none;
+}
+
+.control-center .notification-row .notification-background .notification {
+ border-radius: 4px;
+}
+
+.control-center .notification-row .notification-background .close-button {
+ border-radius: 4px;
+}
+
+/* ========================================================================
+ NOTIFICATION STYLES
+======================================================================== */
+.notification {
+ border-radius: 4px;
+ border: 1px solid @border-primary;
+ margin: 8px 2px;
+}
+
+.notification.low,
+.notification.normal {
+ background-color: @bg-secondary;
+}
+
+/* Notification Priority Styles */
+.notification.critical {
+ background-color: @accent-red;
+}
+
+
+.notification > *:last-child > * {
+ margin: 5px;
+}
+
+/* Notification Content */
+.notification-content {
+ padding: 15px 10px 10px 20px;
+ border-radius: 4px;
+}
+
+/* Text Elements */
+.summary {
+ font-size: 1.1rem;
+}
+
+.time {
+ font-size: 0.8rem;
+}
+
+.body {
+ font-size: 1rem;
+}
+
+/* Notification Actions */
+.notification-action > button {
+ padding: unset;
+ margin: unset;
+ border-radius: 4px;
+}
+
+.notification-action > label {
+ font-size: 1rem;
+ font-weight: normal;
+}
+
+/* Close Button */
+.close-button {
+ background-color: @bg-tertiary;
+}
+
+.close-button:hover {
+ background-color: @accent-red;
+}
+
+/* ========================================================================
+ NOTIFICATION GROUPS
+======================================================================== */
+.notification-group-header,
+.notification-group-icon {
+ font-size: 0.9rem;
+}
+
+.notification-group-collapse-button,
+.notification-group-close-all-button {
+ box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.35);
+ background-color: @bg-tertiary;
+ border-radius: 4px;
+}
+
+.notification-group-collapse-button:hover {
+ background-color: @accent-blue;
+}
+
+.notification-group-close-all-button:hover {
+ background-color: @accent-red;
+}
+
+/* ========================================================================
+ SCROLLBARS & SLIDERS
+======================================================================== */
+trough highlight {
+ background: @accent-blue;
+ border-radius: 4px;
+}
+
+scale trough {
+ margin: 0rem 1rem;
+ background-color: @bg-tertiary;
+ min-height: 8px;
+ min-width: 70px;
+ border-radius: 4px;
+}
+
+slider {
+ background-color: @fg-primary;
+ border-radius: 4px;
+}
+
+tooltip {
+ background-color: @bg-tertiary;
+ border-radius: 4px;
+}
+
+/* ========================================================================
+ WIDGET STYLES
+======================================================================== */
+
+/* ========================================================================
+ BUTTONS GRID WIDGET - Quick action buttons
+======================================================================== */
+.widget-buttons-grid {
+ font-size: 1rem;
+ background: @bg-secondary;
+}
+
+.widget-buttons-grid > flowbox {
+ column-spacing: 10px;
+}
+
+.widget-buttons-grid > flowbox > flowboxchild > button {
+ background: @bg-secondary;
+ /* border: 1px solid @accent-green; */
+ box-shadow: 0px 0px 10px @bg-primary;
+ border-radius: 4px;
+ padding: 12px 0px;
+ transition: background-color 0.15s ease, color 0.15s ease;
+}
+
+.widget-buttons-grid > flowbox > flowboxchild > button:hover {
+ background: @bg-selected;
+ color: @bg-primary;
+}
+
+.widget-buttons-grid > flowbox > flowboxchild > button:hover > label {
+ color: @bg-primary;
+}
+
+.widget-buttons-grid > flowbox > flowboxchild > button.toggle:checked {
+ background: @accent-green;
+ color: @bg-primary;
+}
+
+.widget-buttons-grid > flowbox > flowboxchild > button.toggle:checked > label {
+ color: @bg-primary;
+}
+
+.widget-buttons-grid > flowbox > flowboxchild > button.toggle:checked:hover {
+ background: @accent-green;
+ color: @bg-primary;
+}
+
+.widget-buttons-grid > flowbox > flowboxchild > button.toggle:checked:hover > label {
+ color: @bg-primary;
+}
+
+/* ========================================================================
+ MPRIS WIDGET - Media player controls
+======================================================================== */
+
+
+.widget-mpris .widget-mpris-player {
+ padding: 16px;
+ margin: 16px 5px;
+ background-color: @mpris-button-hover;
+ border-radius: 4px;
+ box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.65);
+}
+
+.widget-mpris .widget-mpris-player .widget-mpris-album-art {
+ border-radius: 4px;
+ box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.65);
+}
+
+.widget-mpris .widget-mpris-player .widget-mpris-title {
+ font-weight: bold;
+ font-size: 1.2rem;
+ color: @accent-purple;
+ margin: 0px 8px 8px 8px;
+}
+
+.widget-mpris .widget-mpris-player .widget-mpris-subtitle {
+ font-size: 1rem;
+ color: @accent-purple;
+}
+
+.widget-mpris .widget-mpris-player > box > button:hover {
+ background-color: @mpris-button-hover;
+}
+
+.widget-mpris > box > button:hover {
+ background: alpha(@bg-selected, 0.6);
+}
+
+.widget-mpris button:first-child,
+.widget-mpris button:last-child {
+ opacity: 0;
+ min-width: 0;
+ min-height: 0;
+ padding: 0;
+ margin: 0;
+}
+
+.widget-mpris .widget-mpris-player button:first-child,
+.widget-mpris .widget-mpris-player button:last-child {
+ opacity: 0;
+ min-width: 0;
+ min-height: 0;
+ padding: 0;
+ margin: 0;
+}
+
+/* ========================================================================
+ VOLUME WIDGET - Audio controls
+======================================================================== */
+.widget-volume {
+ padding: 6px 5px 5px 5px;
+ margin: unset;
+ font-size: 1.3rem;
+}
+
+.widget-volume > box > button {
+ border: none;
+ background-color: #3A372F;
+}
+.widget-volume > box > button:hover {
+ background-color: @accent-blue;
+ color: @fg-primary;
+}
+.widget-volume > box > button:active {
+ background-color: @accent-blue;
+}
+
+.per-app-volume {
+ padding: 4px 8px 8px 8px;
+ margin: 0px 8px 8px 8px;
+}
+
+/* ========================================================================
+ BACKLIGHT WIDGET - Brightness controls
+======================================================================== */
+.widget-backlight {
+ padding: 0 0 3px 16px;
+ margin: unset;
+ font-size: 1.1rem;
+}
+
+/* ========================================================================
+ DND WIDGET - Do Not Disturb toggle
+======================================================================== */
+
+/* DND text */
+.widget-dnd > label {
+ color: @accent-purple; /* Replace with your desired color */
+}
+.widget-dnd {
+ font-weight: bold;
+ margin: unset;
+ padding: 20px 15px 15px 15px;
+}
+
+.widget-dnd > switch {
+ font-size: initial;
+ border-radius: 4px;
+ background: @bg-tertiary;
+ border: none;
+ box-shadow: none;
+ padding: 3px;
+}
+
+.widget-dnd > switch:checked {
+ background: @accent-purple;
+}
+
+.widget-dnd > switch slider {
+ background: @bg-primary;
+ border-radius: 4px;
+ min-width: 18px;
+ min-height: 18px;
+}
+
+/* ========================================================================
+ TITLE WIDGET - Header with clear all button
+======================================================================== */
+.widget-title {
+ padding: unset;
+ margin: unset;
+ font-weight: bold;
+ padding: 15px;
+}
+
+.widget-title > label {
+ font-size: 1.5rem;
+}
+
+.widget-title > button {
+ padding: unset;
+ margin: unset;
+ text-shadow: none;
+ background: @accent-red;
+ border: none;
+ box-shadow: none;
+ border-radius: 4px;
+ padding: 0px 6px;
+ transition: all .7s ease;
+}
+
+.widget-title > button:hover {
+ background: @accent-red;
+ box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.65);
+}
diff --git a/Configs/waybar/.config/waybar/config.jsonc b/Configs/waybar/.config/waybar/config.jsonc
index b0dfe6f..8198ba9 100644
--- a/Configs/waybar/.config/waybar/config.jsonc
+++ b/Configs/waybar/.config/waybar/config.jsonc
@@ -14,11 +14,12 @@
"modules-right": [
"tray",
"idle_inhibitor",
-// "network",
+ // "network",
"bluetooth",
"backlight",
"wireplumber",
"battery",
+ "custom/notification",
"custom/power"
],
@@ -129,5 +130,25 @@
},
"tray": {
"show-passive-items": true
+ },
+ "custom/notification": {
+ "tooltip": false,
+ "format": "{} {icon}",
+ "format-icons": {
+ "notification": "",
+ "none": "",
+ "dnd-notification": "",
+ "dnd-none": "",
+ "inhibited-notification": "",
+ "inhibited-none": "",
+ "dnd-inhibited-notification": "",
+ "dnd-inhibited-none": ""
+ },
+ "return-type": "json",
+ "exec-if": "which swaync-client",
+ "exec": "swaync-client -swb",
+ "on-click": "swaync-client -t -sw",
+ "on-click-right": "swaync-client -d -sw",
+ "escape": true
}
}