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 * ----------------------------------------------------- */