diff --git a/.config/swaync/config.json b/.config/swaync/config.json
new file mode 100644
index 0000000..f7d6b02
--- /dev/null
+++ b/.config/swaync/config.json
@@ -0,0 +1,93 @@
+{
+ "$schema": "/etc/xdg/swaync/configSchema.json",
+ "positionX": "right",
+ "positionY": "top",
+ "layer": "overlay",
+ "control-center-layer": "top",
+ "layer-shell": true,
+ "layer-shell-cover-screen": true,
+ "cssPriority": "application",
+ "control-center-margin-top": 20,
+ "control-center-margin-bottom": 400,
+ "control-center-margin-right": 20,
+ "control-center-margin-left": 0,
+ "notification-2fa-action": true,
+ "notification-inline-replies": false,
+ "notification-icon-size": 64,
+ "notification-body-image-height": 100,
+ "notification-body-image-width": 200,
+ "timeout": 10,
+ "timeout-low": 5,
+ "timeout-critical": 0,
+ "fit-to-screen": true,
+ "relative-timestamps": true,
+ "control-center-width": 500,
+ "control-center-height": 600,
+ "notification-window-width": 500,
+ "keyboard-shortcuts": true,
+ "image-visibility": "when-available",
+ "transition-time": 200,
+ "hide-on-clear": false,
+ "hide-on-action": true,
+ "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": [
+ "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"
+ },
+ "mpris": {
+ "image-size": 96,
+ "image-radius": 12,
+ "blacklist": []
+ },
+ "buttons-grid": {
+ "actions": [
+ {
+ "label": "直",
+ "type": "toggle",
+ "active": true,
+ "command": "sh -c '[[ $SWAYNC_TOGGLE_STATE == true ]] && nmcli radio wifi on || nmcli radio wifi off'",
+ "update-command": "sh -c '[[ $(nmcli radio wifi) == \"enabled\" ]] && echo true || echo false'"
+ }
+ ]
+ }
+ }
+}
diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc
index 1a2dde2..8346c96 100644
--- a/.config/waybar/config.jsonc
+++ b/.config/waybar/config.jsonc
@@ -33,6 +33,7 @@
// Modules Right
"modules-right": [
"hyprland/language",
+ "custom/notification",
"keyboard-state",
"pulseaudio",
"battery",
diff --git a/.config/waybar/modules.jsonc b/.config/waybar/modules.jsonc
index 87f4704..a60ab66 100644
--- a/.config/waybar/modules.jsonc
+++ b/.config/waybar/modules.jsonc
@@ -122,6 +122,27 @@
"default": [" ", " ", " "]
},
"on-click": "pavucontrol"
+ },
+
+ "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
}
}
diff --git a/.config/waybar/style.css b/.config/waybar/style.css
index 5441344..bd3689f 100644
--- a/.config/waybar/style.css
+++ b/.config/waybar/style.css
@@ -199,10 +199,20 @@ window#waybar.empty #window {
* ----------------------------------------------------- */
#keyboard-state {
- margin-right: 15px;
+ margin-right: 10px;
+ margin-left: 10px;
font-size: 20px;
}
+/* -----------------------------------------------------
+ * Notifications
+ * ----------------------------------------------------- */
+
+#custom-notification {
+ padding-right: 10px;
+ font-size: 16px;
+}
+
/* -----------------------------------------------------
* Pulseaudio
* ----------------------------------------------------- */