From 25a07767cfa8602303ef985dcd7a9ecad5be696b Mon Sep 17 00:00:00 2001 From: Uyanide Date: Sun, 3 Aug 2025 23:23:59 +0200 Subject: [PATCH] waybar: organize config --- .scripts/change-colortheme.py | 16 +- README.md | 4 - waybar/config.jsonc | 244 +++------------------------ waybar/modules/publicip.sh | 25 +-- waybar/style.css | 308 ++++++---------------------------- waybar/style.css.template | 308 ++++++---------------------------- 6 files changed, 160 insertions(+), 745 deletions(-) diff --git a/.scripts/change-colortheme.py b/.scripts/change-colortheme.py index 85a73ef..f696f08 100755 --- a/.scripts/change-colortheme.py +++ b/.scripts/change-colortheme.py @@ -287,10 +287,18 @@ def main(): os.system(f'notify-send "Color theme changed" "Catppuccin Mocha - {flavor}"') - if not app or app == 'fastfetch': - ans = input("execute \"exec fish\"? [y/N]: ").strip().lower() - if ans in ('y', 'yes'): - os.system('fish') + # def is_interactive_shell() -> bool: + # return sys.stdin.isatty() and sys.stdout.isatty() + + # def is_fish() -> bool: + # import psutil + # parent = psutil.Process().parent() + # return parent is not None and 'fish' in parent.name().lower() + + # if not app or app == 'fastfetch' \ + # and is_interactive_shell() \ + # and is_fish(): + # os.system('fish') if __name__ == "__main__": diff --git a/README.md b/README.md index 1416903..921f5ea 100644 --- a/README.md +++ b/README.md @@ -42,10 +42,6 @@ Based on [codeopshq/dotfiles](https://github.com/codeopshq/dotfiles), also serve Based on [vinceliuice/Elegant-grub2-themes](https://github.com/vinceliuice/Elegant-grub2-themes) with [illustration from 紺屋鴉江](https://www.pixiv.net/artworks/119683453). -## Waybar - -Gathered from internet, based on I don't know who (such config files had been laying in my .config folder before I could even notice) (and I'm sure they were not the default config files shipped with the waybar package). - ## MPV Based on [noelsimbolon/mpv-config](https://github.com/noelsimbolon/mpv-config.git). diff --git a/waybar/config.jsonc b/waybar/config.jsonc index 92f8bf6..63512f7 100644 --- a/waybar/config.jsonc +++ b/waybar/config.jsonc @@ -2,39 +2,23 @@ // ------------------------------------------------------------------------- // Global configuration // ------------------------------------------------------------------------- - "layer": "top", + "layer": "bottom", "position": "top", - "height": 55, "margin-left": 0, "margin-bottom": 0, "margin-right": 0, "spacing": 2, // Gaps between modules (px) "modules-left": [ "custom/rofi", - // "hyprland/workspaces", - // "custom/workspacenew", "group/workspaceactions", - "hyprland/window", - //"hyprland/submap", - //"idle_inhibitor", - //"mpd" - "custom/mediaplayer" + "custom/mediaplayer", + "hyprland/window" ], "modules-center": [ - "clock#date" - //"custom/gammastep" + "clock" ], "modules-right": [ - // "network#speed", - // "memory", - // "cpu", - // "battery", - // //"pulseaudio", - // "backlight", - // "wireplumber", "group/monitors", - // "bluetooth", - // "network", "tray", "custom/caffeine", "custom/power" @@ -42,15 +26,6 @@ // ------------------------------------------------------------------------- // Modules // ------------------------------------------------------------------------- - // Separators - "custom/sp1": { - "format": " | ", - "tooltip": false - }, - "custom/sp2": { - "format": " |", - "tooltip": false - }, // Buttons "custom/power": { "format": "󰐥", @@ -88,35 +63,10 @@ }, // Time and Date "clock": { - "format": " {:%H:%M  %e %b}", - "tooltip-format": "{:%Y %B}\n{calendar}", - "today-format": "{}" - }, - "clock#date": { "format": "󰥔 {:%H:%M |  %e %b}", "tooltip-format": "{:%Y %B}\n{calendar}", "today-format": "{}" }, - "clock#1": { - "format": " {:%a}", - "tooltip": false, - "on-click": "gsimplecal" - }, - "clock#2": { - "format": " {:%d-%h-%Y}", - "tooltip": false, - "on-click": "gsimplecal" - }, - "clock#3": { - "format": " {:%H:%M:%S %p}", - "tooltip": false, - "on-click": "gsimplecal" - }, - "custom/screenshot_t": { - "format": " ", - "on-click": "~/.config/hypr/scripts/screenshot_full", - "on-click-right": "~/.config/hypr/scripts/screenshot_area" - }, // System monitors "group/monitors": { "modules": ["network#speed", "custom/publicip", "temperature", "memory", "cpu", "battery", "backlight", "wireplumber"], @@ -227,11 +177,20 @@ }, "hyprland/workspaces": { "all-outputs": true, - "format": "{name}", + "format": "{id}", "on-scroll-up": "hyprctl dispatch workspace e+1 1>/dev/null", "on-scroll-down": "hyprctl dispatch workspace e-1 1>/dev/null", "sort-by-number": true, - "active-only": false + "active-only": false//, + // "window-rewrite-default": "", + // "window-rewrite": { + // "class": "", + // "class": "󰨞", + // "class": "󰈹", + // "class": "󰈹", + // "class": "", + // "class": "󰓇" + // } }, "hyprland/workspaces#special": { "persistent-workspaces": { @@ -240,7 +199,16 @@ "persistent-only": true, "show-special": true, "special-visible-only": false, - "format": "S" + "format": "S", + "window-rewrite-default": ""//, + // "window-rewrite": { + // "class": "", + // "class": "󰨞", + // "class": "󰈹", + // "class": "󰈹", + // "class": "", + // "class": "󰓇" + // } }, "custom/workspacenew": { "format": "+", @@ -250,7 +218,8 @@ "hyprland/window": { "max-length": 100, "separate-outputs": true, - "hide-empty-text": true + "icon": true, + "icon-size": 15 }, "custom/mediaplayer": { "format": "{text}", @@ -270,164 +239,5 @@ "tray": { "icon-size": 15, "spacing": 5 - }, - // Not used - "network": { - "format-wifi": " {essid} ({signalStrength}%)", - "format-ethernet": "{ifname}: {ipaddr}/{cidr} ", - "format-linked": "{ifname} (No IP)", - "format": "", - "format-disconnected": "󰌙", - "format-alt": "{ifname}: {ipaddr}/{cidr}", - "on-click": "wl-copy $(ip address show up scope global | grep inet | head -n1 | cut -d/ -f 1 | tr -d [:space:] | cut -c5-)", - "on-click-right": "wl-copy $(ip address show up scope global | grep inet6 | head -n1 | cut -d/ -f 1 | tr -d [:space:] | cut -c6-)", - "tooltip-format": " {bandwidthUpBits}  {bandwidthDownBits}\n{ifname}\n{ipaddr}/{cidr}\n", - "tooltip-format-wifi": " {essid} {frequency}MHz\nStrength: {signaldBm}dBm ({signalStrength}%)\nIP: {ipaddr}/{cidr}\n {bandwidthUpBits}  {bandwidthDownBits}", - "interval": 10, - "max-length": 12 - }, - "custom/storage": { - "format": " {}", - "format-alt": "{percentage}% ", - "format-alt-click": "click-right", - "return-type": "json", - "interval": 60, - "exec": "~/.config/waybar/modules/storage.sh" - }, - "idle_inhibitor": { - "format": "{icon}", - "format-icons": { - "activated": "", - "deactivated": "" - }, - "tooltip": "true" - }, - "custom/weather": { - "format": "{}", - "format-alt": "{alt}: {}", - "format-alt-click": "click-right", - "interval": 3600, - "exec": "curl -s 'https://wttr.in/?format=1'", - //"return-type": "json", - //"exec": "~/.config/waybar/modules/weather.sh", - "exec-if": "ping wttr.in -c1" - }, - "custom/pacman": { - "format": "􏆲 {}", - "interval": 3600, // every hour - "exec": "checkupdates | wc -l", // # of updates - "exec-if": "exit 0", // always run; consider advanced run conditions - "on-click": "ghostty -e 'paru'; pkill -SIGRTMIN+8 waybar", // update system - "signal": 8, - "max-length": 7, - "min-length": 3 - }, - "custom/spotify": { - "exec": "~/.config/waybar/mediaplayer.py --player spotify", - "format": "{} ", - "return-type": "json", - "on-click": "playerctl play-pause", - "on-scroll-up": "playerctl next", - "on-scroll-down": "playerctl previous" - }, - "custom/media": { - "format": "{0} {1}", - "return-type": "json", - "max-length": 40, - "format-icons": { - "spotify": "", - "default": "🎜" - }, - "escape": true - //"exec": "~/.config/waybar/mediaplayer.py" // Script in resources folder - // "exec": "~/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name - }, - "custom/gammastep": { - "interval": 5, - "return-type": "json", - "exec": { - "pre": "if unit_status=\"$(systemctl --user is-active gammastep)\"; then\nstatus=\"$unit_status ($(journalctl --user -u gammastep.service -g 'Period: ' | tail -1 | cut -d ':' -f6 | xargs))\"\nelse\nstatus=\"$unit_status\"\nfi", - "alt": "${status:-inactive}", - "tooltip": "Gammastep is $status" - }, - "format": "{icon}", - "format-icons": { - "activating": "󰁪 ", - "deactivating": "󰁪 ", - "inactive": "? ", - "active (Night)": " ", - "active (Nighttime)": " ", - "active (Transition (Night)": " ", - "active (Transition (Nighttime)": " ", - "active (Day)": " ", - "active (Daytime)": " ", - "active (Transition (Day)": " ", - "active (Transition (Daytime)": " " - }, - "on-click": "systemctl --user is-active gammastep && systemctl --user stop gammastep || systemctl --user start gammastep" - }, - "mpd": { - "max-length": 25, - "format": " {title}", - "format-paused": " {title}", - "format-stopped": "", - "format-disconnected": "", - "on-click": "mpc --quiet toggle", - "on-click-right": "mpc update; mpc ls | mpc add", - "on-click-middle": "ghostty -e ncmpcpp", - "on-scroll-up": "mpc --quiet prev", - "on-scroll-down": "mpc --quiet next", - "smooth-scrolling-threshold": 5, - "tooltip-format": "{title} - {artist} ({elapsedTime:%M:%S}/{totalTime:%H:%M:%S})" - }, - "custom/title": { - "format": "{}", - "interval": 0, - "return-type": "json", - //"max-length": 35, - "tooltip": false - }, - "custom/title#name": { - "format": "{}", - "interval": 0, - "return-type": "json", - "max-length": 35, - "exec": "$HOME/.scripts/title" - }, - /*"custom/keyboard": { - "format": " {}", - "interval": 1, - "exec": "$HOME/.config/waybar/get_kbdlayout.sh" - },*/ - "pulseaudio": { - "scroll-step": 3, // %, can be a float - "format": "{icon} {volume}% {format_source}", - "format-bluetooth": "{volume}% {icon} {format_source}", - "format-bluetooth-muted": " {icon} {format_source}", - "format-muted": " {format_source}", - //"format-source": "{volume}% ", - //"format-source-muted": "", - "format-source": "", - "format-source-muted": "", - "format-icons": { - "headphone": "", - "phone": "", - "portable": "", - "car": "", - "default": ["", "", ""] - }, - "on-click": "pavucontrol", - "on-click-right": "amixer sset Master toggle" - }, - "bluetooth": { - "format-on": "󰂯", - "format-off": "󰂲", - "format-disabled": "", // an empty format will hide the module - "format-connected": "󰂱 {num_connections}", - "tooltip-format-connected": "{device_enumerate}", - "tooltip-format-enumerate-connected": "{device_alias}\t{device_address}", - "on-click": "blueberry", - "max-length": 3, - "min-length": 3 } } diff --git a/waybar/modules/publicip.sh b/waybar/modules/publicip.sh index 21ac3fe..b0ad44c 100755 --- a/waybar/modules/publicip.sh +++ b/waybar/modules/publicip.sh @@ -1,5 +1,5 @@ #!/bin/env bash -# shellcheck disable=SC1091 +# shellcheck disable=SC1091,SC1090 # Entries in publicip.conf: # IP_QUERY_URL: URL to query public IP of the system. @@ -25,23 +25,24 @@ time_log="$path/publicip.log" [ "$1" == "force" ] && rm -f "$cache_file" [ -f "$cache_file" ] && . "$cache_file" - -ip_current=$(curl -s -L "$IP_QUERY_URL" | jq -r '.ip') +ip_current=$(curl -s -L -4 "$IP_QUERY_URL" | jq -r '.ip') [ -z "$ip_current" ] && exit 1 if [ "$ip_current" != "$CACHED_IP" ]; then - echo "$(date +%Y-%m-%dT%H:%M:%S) - IP changed: $CACHED_IP -> $ip_current" >> "$time_log" - CACHED_IP="$ip_current" + echo "$(date +%Y-%m-%dT%H:%M:%S) - IP changed: $CACHED_IP -> $ip_current" >>"$time_log" + CACHED_IP="$ip_current" - ip_info_url=${IP_INFO_URL///$ip_current} - CACHED_CODE=$(curl -s -L "$ip_info_url" | jq -r '.country_code') - [ -z "$CACHED_CODE" ] && CACHED_CODE="N/A" - echo "CACHED_IP=$CACHED_IP" > "$cache_file" - echo "CACHED_CODE=$CACHED_CODE" >> "$cache_file" - notify-send "New Public IP detected" "New IP: $ip_current\nCountry: $CACHED_CODE" + ip_info_url=${IP_INFO_URL///$ip_current} + CACHED_CODE=$(curl -s -L "$ip_info_url" | jq -r '.country_code') + [ -z "$CACHED_CODE" ] && CACHED_CODE="N/A" + + echo "CACHED_IP=$CACHED_IP" >"$cache_file" + echo "CACHED_CODE=$CACHED_CODE" >>"$cache_file" + notify-send "New Public IP detected" "New IP: $ip_current\nCountry: $CACHED_CODE" fi jq -n --unbuffered --compact-output \ --arg ip "$CACHED_IP" \ --arg country "$CACHED_CODE" \ - '{alt: $ip, text: $country}' \ No newline at end of file + '{alt: $ip, text: $country}' + diff --git a/waybar/style.css b/waybar/style.css index 724c938..8badab8 100644 --- a/waybar/style.css +++ b/waybar/style.css @@ -1,72 +1,88 @@ @import 'mocha.css'; -@define-color accent #f5c2e7; +@define-color flavor #f5c2e7; +/* Font(s) */ * { - /* main font icons CJK Fallback */ + /* main font icons CJK fallback */ font-family: 'Sour Gummy Light', 'Meslo LGM Nerd Font Mono', 'WenQuanYi Micro Hei', 'Noto Sans', sans-serif; font-size: 16px; - margin: 0; - padding: 0; - transition-property: background-color; - transition-duration: 0.5s; } /* Reset all styles */ * { border: none; - border-radius: 3px; + border-radius: 14px; min-height: 0; margin: 2px 1px 2px 1px; + padding: 0; + transition-property: background-color; + transition-duration: 0.5s; } /* The whole bar */ #waybar { background-color: transparent; - color: #ffffff; - transition-property: background-color; - transition-duration: 0.5s; + color: @text; border-radius: 0px; margin: 0px; } -window#waybar.hidden { - opacity: 0.2; -} - tooltip { background: @base; border: 2px solid @overlay0; } +#workspaceactions, +#window, +#clock, +#monitors, +#custom-mediaplayer, +#custom-power-menu, +#tray, +#custom-rofi, +#custom-caffeine, +#custom-power { + background-color: alpha(@base, 0.6); + border-radius: 14px; + padding: 3px 10px; +} + +#custom-rofi, +#custom-caffeine, +#custom-power { + padding-left: 6px; + padding-right: 6px; +} + #custom-workspacenew, #workspaces button { - padding: 0px 5px; /* Adjusted padding to reduce height */ - margin: 3px 5px; /* Reduced margin slightly */ - border-radius: 6px; - color: @foreground; - background-color: alpha(@base, 0); + padding: 0px 5px; + margin: 3px 3px; + border-radius: 8px; + color: @text; + background-color: transparent; transition: all 0.3s ease-in-out; } #workspaces button:hover { - background: @surface0; + background-color: alpha(@flavor, 0.3); } #workspaces button.active { - color: @foreground; - background: @accent; + color: @base; + background: @flavor; } #workspaces button.urgent { + color: @base; background-color: @red; } #workspaceactions { - background-color: alpha(@base, 0.6); - border-radius: 14px; - padding: 3px 6px; /* Adjusted padding to reduce height */ - border: 2px solid @accent; + padding-left: 3px; + padding-right: 3px; + border: 2px solid @flavor; } #workspaces { @@ -74,105 +90,40 @@ tooltip { margin: 0px; } -#custom-workspacenew:hover { - background-color: alpha(@accent, 0.3); -} - -#custom-workspacespecial:hover { - background-color: alpha(@accent, 0.3); -} - #window { - background-color: alpha(@base, 0.6); - color: @subtext1; - border-radius: 14px; - padding: 3px 6px; /* Reduced padding */ - margin: 2px; - opacity: 1; + transition: none; /* Disable background transition */ +} + +window#waybar.empty #window{ + background-color: transparent; } #custom-mediaplayer { - background-color: alpha(@base, 0.6); - border-radius: 14px; - padding: 3px 12px; - color: @accent; -} - -#clock, -#battery, -#cpu, -#memory, -#disk, -#temperature, -#backlight, -#network, -#pulseaudio, -#wireplumber, -#custom-media, -#mode, -#idle_inhibitor, -#mpd, -#bluetooth, -#custom-hyprPicker, -#custom-power-menu, -#custom-spotify, -#custom-publicip, -#custom-weather, -#custom-weather.severe, -#custom-weather.sunnyDay, -#custom-weather.clearNight, -#custom-weather.cloudyFoggyDay, -#custom-weather.cloudyFoggyNight, -#custom-weather.rainyDay, -#custom-weather.rainyNight, -#custom-weather.showyIcyDay, -#custom-weather.snowyIcyNight, -#custom-weather.default { - background-color: alpha(@base, 0.6); - border-radius: 14px; - padding: 6px; /* Adjusted padding */ -} - -#monitors { - background-color: alpha(@base, 0.6); - border-radius: 14px; - padding: 6px; + color: @flavor; } #network.speed { - background: transparent; - color: @accent; - padding: 0; + color: @flavor; } #custom-publicip { - background: transparent; color: @peach; - padding: 0; } #temperature { - background: transparent; color: @yellow; - padding: 0px; } #memory { color: @green; - background: transparent; - padding: 0px; } #cpu { color: @teal; - background: transparent; - padding: 0px; } #battery { - background: transparent; color: @sapphire; - padding: 0; } #battery.charging, @@ -182,40 +133,18 @@ tooltip { } #backlight { - background: transparent; color: @blue; - padding: 0; } #wireplumber { - background: transparent; color: @lavender; - padding: 0; -} - -#custom-screenshot_t { - background-color: alpha(@base, 0.6); - border-radius: 14px; - padding: 6px; -} - -#custom-spotify { - background-color: alpha(@base, 0.6); - border-radius: 14px; - padding: 3px 12px; } #tray { - background-color: alpha(@base, 0.6); - border-radius: 14px; - padding: 6px; /* Adjusted padding */ - border: 2px solid @accent; + border: 2px solid @flavor; } #custom-power { - background-color: alpha(@base, 0.6); - border-radius: 14px; - padding: 6px; border: 3px solid @maroon; } @@ -224,9 +153,6 @@ tooltip { } #custom-rofi { - background-color: alpha(@base, 0.6); - border-radius: 14px; - padding: 6px; border: 3px solid @teal; } @@ -235,9 +161,6 @@ tooltip { } #custom-caffeine { - background-color: alpha(@base, 0.6); - border-radius: 14px; - padding: 6px; border: 3px solid @yellow; } @@ -249,119 +172,29 @@ tooltip { border: 3px solid @peach; } -#custom-storage { - background-color: alpha(@base, 0.6); - border-radius: 14px; - padding: 6px; -} - -#custom-launcher { - background-color: #1b242b; - color: #6a92d7; - border-radius: 7.5px; - padding: 3px 6px; /* Adjusted padding */ -} - -#custom-weather.severe { - color: #eb937d; -} - -#custom-weather.sunnyDay { - color: #c2ca76; -} - -#custom-weather.clearNight { - color: #cad3f5; -} - -#custom-weather.cloudyFoggyDay, -#custom-weather.cloudyFoggyNight { - color: #c2ddda; -} - -#custom-weather.rainyDay, -#custom-weather.rainyNight { - color: #5aaca5; -} - -#custom-weather.showyIcyDay, -#custom-weather.snowyIcyNight { - color: #d6e7e5; -} - -#custom-weather.default { - color: #dbd9d8; -} - -/* If workspaces is the leftmost module, omit left margin */ -.modules-left > widget:first-child > #workspaces { - margin-left: 0; -} - -/* If workspaces is the rightmost module, omit right margin */ -.modules-right > widget:last-child > #workspaces { - margin-right: 0; -} - -#pulseaudio { - color: #7d9bba; -} - #clock { - color: #c8d2e0; - border: 2px solid @accent; + border: 2px solid @flavor; } @keyframes blink { to { - background-color: rgba(30, 34, 42, 0.5); - color: #abb2bf; + background-color: alpha(@red, 0.5); } } #battery.critical:not(.charging) { color: @red; animation-name: blink; - animation-duration: 0.5s; + animation-duration: 1s; animation-timing-function: linear; animation-iteration-count: infinite; animation-direction: alternate; } -label:focus { - background-color: #000000; -} - -#disk { - background-color: #964b00; -} - -#bluetooth { - color: @sapphire; -} - -#bluetooth.disconnected { - color: @red; -} - #network.disconnected { color: @red; } -#custom-media { - background-color: #66cc99; - color: #2a5c45; - min-width: 100px; -} - -#custom-media.custom-spotify { - background-color: #66cc99; -} - -#custom-media.custom-vlc { - background-color: #ffa000; -} - #temperature.critical { background-color: #eb4d4b; } @@ -373,37 +206,4 @@ label:focus { #tray > .needs-attention { -gtk-icon-effect: highlight; background-color: #eb4d4b; -} - -#idle_inhibitor { - background-color: #2d3436; -} - -#idle_inhibitor.activated { - background-color: #ecf0f1; - color: #2d3436; -} - -#language { - background: #00b093; - color: #740864; - padding: 0 0px; - margin: 0 5px; - min-width: 16px; -} - -#keyboard-state { - background: #97e1ad; - color: #000000; - padding: 0 0px; - margin: 0 5px; - min-width: 16px; -} - -#keyboard-state > label { - padding: 0 0px; -} - -#keyboard-state > label.locked { - background: rgba(0, 0, 0, 0.2); -} +} \ No newline at end of file diff --git a/waybar/style.css.template b/waybar/style.css.template index 8eb22ec..9e9af27 100644 --- a/waybar/style.css.template +++ b/waybar/style.css.template @@ -1,72 +1,88 @@ @import 'mocha.css'; -@define-color accent #; +@define-color flavor #; +/* Font(s) */ * { - /* main font icons CJK Fallback */ + /* main font icons CJK fallback */ font-family: 'Sour Gummy Light', 'Meslo LGM Nerd Font Mono', 'WenQuanYi Micro Hei', 'Noto Sans', sans-serif; font-size: 16px; - margin: 0; - padding: 0; - transition-property: background-color; - transition-duration: 0.5s; } /* Reset all styles */ * { border: none; - border-radius: 3px; + border-radius: 14px; min-height: 0; margin: 2px 1px 2px 1px; + padding: 0; + transition-property: background-color; + transition-duration: 0.5s; } /* The whole bar */ #waybar { background-color: transparent; - color: #ffffff; - transition-property: background-color; - transition-duration: 0.5s; + color: @text; border-radius: 0px; margin: 0px; } -window#waybar.hidden { - opacity: 0.2; -} - tooltip { background: @base; border: 2px solid @overlay0; } +#workspaceactions, +#window, +#clock, +#monitors, +#custom-mediaplayer, +#custom-power-menu, +#tray, +#custom-rofi, +#custom-caffeine, +#custom-power { + background-color: alpha(@base, 0.6); + border-radius: 14px; + padding: 3px 10px; +} + +#custom-rofi, +#custom-caffeine, +#custom-power { + padding-left: 6px; + padding-right: 6px; +} + #custom-workspacenew, #workspaces button { - padding: 0px 5px; /* Adjusted padding to reduce height */ - margin: 3px 5px; /* Reduced margin slightly */ - border-radius: 6px; - color: @foreground; - background-color: alpha(@base, 0); + padding: 0px 5px; + margin: 3px 3px; + border-radius: 8px; + color: @text; + background-color: transparent; transition: all 0.3s ease-in-out; } #workspaces button:hover { - background: @surface0; + background-color: alpha(@flavor, 0.3); } #workspaces button.active { - color: @foreground; - background: @accent; + color: @base; + background: @flavor; } #workspaces button.urgent { + color: @base; background-color: @red; } #workspaceactions { - background-color: alpha(@base, 0.6); - border-radius: 14px; - padding: 3px 6px; /* Adjusted padding to reduce height */ - border: 2px solid @accent; + padding-left: 3px; + padding-right: 3px; + border: 2px solid @flavor; } #workspaces { @@ -74,105 +90,40 @@ tooltip { margin: 0px; } -#custom-workspacenew:hover { - background-color: alpha(@accent, 0.3); -} - -#custom-workspacespecial:hover { - background-color: alpha(@accent, 0.3); -} - #window { - background-color: alpha(@base, 0.6); - color: @subtext1; - border-radius: 14px; - padding: 3px 6px; /* Reduced padding */ - margin: 2px; - opacity: 1; + transition: none; /* Disable background transition */ +} + +window#waybar.empty #window{ + background-color: transparent; } #custom-mediaplayer { - background-color: alpha(@base, 0.6); - border-radius: 14px; - padding: 3px 12px; - color: @accent; -} - -#clock, -#battery, -#cpu, -#memory, -#disk, -#temperature, -#backlight, -#network, -#pulseaudio, -#wireplumber, -#custom-media, -#mode, -#idle_inhibitor, -#mpd, -#bluetooth, -#custom-hyprPicker, -#custom-power-menu, -#custom-spotify, -#custom-publicip, -#custom-weather, -#custom-weather.severe, -#custom-weather.sunnyDay, -#custom-weather.clearNight, -#custom-weather.cloudyFoggyDay, -#custom-weather.cloudyFoggyNight, -#custom-weather.rainyDay, -#custom-weather.rainyNight, -#custom-weather.showyIcyDay, -#custom-weather.snowyIcyNight, -#custom-weather.default { - background-color: alpha(@base, 0.6); - border-radius: 14px; - padding: 6px; /* Adjusted padding */ -} - -#monitors { - background-color: alpha(@base, 0.6); - border-radius: 14px; - padding: 6px; + color: @flavor; } #network.speed { - background: transparent; - color: @accent; - padding: 0; + color: @flavor; } #custom-publicip { - background: transparent; color: @peach; - padding: 0; } #temperature { - background: transparent; color: @yellow; - padding: 0px; } #memory { color: @green; - background: transparent; - padding: 0px; } #cpu { color: @teal; - background: transparent; - padding: 0px; } #battery { - background: transparent; color: @sapphire; - padding: 0; } #battery.charging, @@ -182,40 +133,18 @@ tooltip { } #backlight { - background: transparent; color: @blue; - padding: 0; } #wireplumber { - background: transparent; color: @lavender; - padding: 0; -} - -#custom-screenshot_t { - background-color: alpha(@base, 0.6); - border-radius: 14px; - padding: 6px; -} - -#custom-spotify { - background-color: alpha(@base, 0.6); - border-radius: 14px; - padding: 3px 12px; } #tray { - background-color: alpha(@base, 0.6); - border-radius: 14px; - padding: 6px; /* Adjusted padding */ - border: 2px solid @accent; + border: 2px solid @flavor; } #custom-power { - background-color: alpha(@base, 0.6); - border-radius: 14px; - padding: 6px; border: 3px solid @maroon; } @@ -224,9 +153,6 @@ tooltip { } #custom-rofi { - background-color: alpha(@base, 0.6); - border-radius: 14px; - padding: 6px; border: 3px solid @teal; } @@ -235,9 +161,6 @@ tooltip { } #custom-caffeine { - background-color: alpha(@base, 0.6); - border-radius: 14px; - padding: 6px; border: 3px solid @yellow; } @@ -249,119 +172,29 @@ tooltip { border: 3px solid @peach; } -#custom-storage { - background-color: alpha(@base, 0.6); - border-radius: 14px; - padding: 6px; -} - -#custom-launcher { - background-color: #1b242b; - color: #6a92d7; - border-radius: 7.5px; - padding: 3px 6px; /* Adjusted padding */ -} - -#custom-weather.severe { - color: #eb937d; -} - -#custom-weather.sunnyDay { - color: #c2ca76; -} - -#custom-weather.clearNight { - color: #cad3f5; -} - -#custom-weather.cloudyFoggyDay, -#custom-weather.cloudyFoggyNight { - color: #c2ddda; -} - -#custom-weather.rainyDay, -#custom-weather.rainyNight { - color: #5aaca5; -} - -#custom-weather.showyIcyDay, -#custom-weather.snowyIcyNight { - color: #d6e7e5; -} - -#custom-weather.default { - color: #dbd9d8; -} - -/* If workspaces is the leftmost module, omit left margin */ -.modules-left > widget:first-child > #workspaces { - margin-left: 0; -} - -/* If workspaces is the rightmost module, omit right margin */ -.modules-right > widget:last-child > #workspaces { - margin-right: 0; -} - -#pulseaudio { - color: #7d9bba; -} - #clock { - color: #c8d2e0; - border: 2px solid @accent; + border: 2px solid @flavor; } @keyframes blink { to { - background-color: rgba(30, 34, 42, 0.5); - color: #abb2bf; + background-color: alpha(@red, 0.5); } } #battery.critical:not(.charging) { color: @red; animation-name: blink; - animation-duration: 0.5s; + animation-duration: 1s; animation-timing-function: linear; animation-iteration-count: infinite; animation-direction: alternate; } -label:focus { - background-color: #000000; -} - -#disk { - background-color: #964b00; -} - -#bluetooth { - color: @sapphire; -} - -#bluetooth.disconnected { - color: @red; -} - #network.disconnected { color: @red; } -#custom-media { - background-color: #66cc99; - color: #2a5c45; - min-width: 100px; -} - -#custom-media.custom-spotify { - background-color: #66cc99; -} - -#custom-media.custom-vlc { - background-color: #ffa000; -} - #temperature.critical { background-color: #eb4d4b; } @@ -373,37 +206,4 @@ label:focus { #tray > .needs-attention { -gtk-icon-effect: highlight; background-color: #eb4d4b; -} - -#idle_inhibitor { - background-color: #2d3436; -} - -#idle_inhibitor.activated { - background-color: #ecf0f1; - color: #2d3436; -} - -#language { - background: #00b093; - color: #740864; - padding: 0 0px; - margin: 0 5px; - min-width: 16px; -} - -#keyboard-state { - background: #97e1ad; - color: #000000; - padding: 0 0px; - margin: 0 5px; - min-width: 16px; -} - -#keyboard-state > label { - padding: 0 0px; -} - -#keyboard-state > label.locked { - background: rgba(0, 0, 0, 0.2); -} +} \ No newline at end of file