From ff1b96d01ecd059a7627038c408d8dca5115a120 Mon Sep 17 00:00:00 2001 From: goodhumored Date: Fri, 2 Aug 2024 01:33:42 +0300 Subject: [PATCH] waybar config --- .config/waybar/a.txt | 2 + .config/waybar/config.jsonc | 15 ++ .config/waybar/config.jsonc.bak | 215 +++++++++++++++++ .config/waybar/get_layout.sh | 30 +++ .config/waybar/modules.json | 299 +++++++++++++++++++++++ .config/waybar/modules_old.json | 164 +++++++++++++ .config/waybar/style.css | 412 ++++++++++++++++++++++++++++++++ .config/waybar/style.css.bak | 327 +++++++++++++++++++++++++ 8 files changed, 1464 insertions(+) create mode 100644 .config/waybar/a.txt create mode 100644 .config/waybar/config.jsonc create mode 100644 .config/waybar/config.jsonc.bak create mode 100755 .config/waybar/get_layout.sh create mode 100644 .config/waybar/modules.json create mode 100644 .config/waybar/modules_old.json create mode 100644 .config/waybar/style.css create mode 100644 .config/waybar/style.css.bak diff --git a/.config/waybar/a.txt b/.config/waybar/a.txt new file mode 100644 index 0000000..3789f50 --- /dev/null +++ b/.config/waybar/a.txt @@ -0,0 +1,2 @@ +🇪🇳 +🇷🇺 diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc new file mode 100644 index 0000000..294940d --- /dev/null +++ b/.config/waybar/config.jsonc @@ -0,0 +1,15 @@ +// -*- mode: jsonc -*- +{ + "layer": "top", // Waybar at top layer + "height": 20, // Waybar height (to be removed for auto height) + "spacing": 4, // Gaps between modules (4px) + // Choose the order of the modules + "modules-left": ["custom/appmenuicon","wlr/taskbar", + ], + "modules-center": [ + "hyprland/workspaces", + ], + "modules-right": ["bluetooth","pulseaudio","network","tray","backlight","battery","clock","custom/layout", "custom/exit" + ], + "include": ["~/.config/waybar/modules.json"], +} diff --git a/.config/waybar/config.jsonc.bak b/.config/waybar/config.jsonc.bak new file mode 100644 index 0000000..73cda41 --- /dev/null +++ b/.config/waybar/config.jsonc.bak @@ -0,0 +1,215 @@ +// -*- mode: jsonc -*- +{ + "layer": "top", // Waybar at top layer + // "position": "bottom", // Waybar position (top|bottom|left|right) + "height": 30, // Waybar height (to be removed for auto height) + // "width": 1280, // Waybar width + "spacing": 4, // Gaps between modules (4px) + // Choose the order of the modules + "modules-left": [ + "sway/workspaces", + "sway/mode", + "sway/scratchpad", + "custom/media" + ], + "modules-center": [ + "sway/window" + ], + "modules-right": [ + "mpd", + "idle_inhibitor", + "pulseaudio", + "network", + "power-profiles-daemon", + "cpu", + "memory", + "temperature", + "backlight", + "keyboard-state", + "sway/language", + "battery", + "battery#bat2", + "clock", + "tray", + "custom/power" + ], + // Modules configuration + // "sway/workspaces": { + // "disable-scroll": true, + // "all-outputs": true, + // "warp-on-scroll": false, + // "format": "{name}: {icon}", + // "format-icons": { + // "1": "", + // "2": "", + // "3": "", + // "4": "", + // "5": "", + // "urgent": "", + // "focused": "", + // "default": "" + // } + // }, + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + "sway/mode": { + "format": "{}" + }, + "sway/scratchpad": { + "format": "{icon} {count}", + "show-empty": false, + "format-icons": ["", ""], + "tooltip": true, + "tooltip-format": "{app}: {title}" + }, + "mpd": { + "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", + "format-disconnected": "Disconnected ", + "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "unknown-tag": "N/A", + "interval": 5, + "consume-icons": { + "on": " " + }, + "random-icons": { + "off": " ", + "on": " " + }, + "repeat-icons": { + "on": " " + }, + "single-icons": { + "on": "1 " + }, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + // "icon-size": 21, + "spacing": 10 + }, + "clock": { + // "timezone": "America/New_York", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + // "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", "", "", "", "", "", "", "", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-full": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "power-profiles-daemon": { + "format": "{icon}", + "tooltip-format": "Power profile: {profile}\nDriver: {driver}", + "tooltip": true, + "format-icons": { + "default": "", + "performance": "", + "balanced": "", + "power-saver": "" + } + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {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-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder + // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + }, + "custom/power": { + "format" : "⏻ ", + "tooltip": false, + "menu": "on-click", + "menu-file": "$HOME/.config/waybar/power_menu.xml", // Menu file in resources folder + "menu-actions": { + "shutdown": "shutdown", + "reboot": "reboot", + "suspend": "systemctl suspend", + "hibernate": "systemctl hibernate" + } + } +} diff --git a/.config/waybar/get_layout.sh b/.config/waybar/get_layout.sh new file mode 100755 index 0000000..a651977 --- /dev/null +++ b/.config/waybar/get_layout.sh @@ -0,0 +1,30 @@ +getFlagEmoji() { + local countryCode=$1 + local flag="" + + # Convert country code to uppercase + countryCode=$(echo "$countryCode" | tr '[:lower:]' '[:upper:]') + + # Iterate over each character in the country code + for (( i=0; i<${#countryCode}; i++ )); do + char="${countryCode:$i:1}" + # Calculate the code point for the flag emoji + codePoint=$((127397 + $(printf "%d" "'$char"))) + # Convert code point to the corresponding Unicode character + flag+=$(printf "\\U$(printf '%08x' $codePoint)") + done + + echo "$flag" +} +# TODO: get keyboard name dynamically +countryCode=$(hyprctl devices -j | + jq -r '.keyboards[] | select(.name == "at-translated-set-2-keyboard") | .active_keymap' | + cut -c1-2 | + tr 'a-z' 'A-Z') + +if [ "$countryCode" = "EN" ]; then + flagEmoji="🇺🇸" +else + flagEmoji=$(getFlagEmoji "$countryCode") +fi +echo "$flagEmoji" diff --git a/.config/waybar/modules.json b/.config/waybar/modules.json new file mode 100644 index 0000000..0eeeb00 --- /dev/null +++ b/.config/waybar/modules.json @@ -0,0 +1,299 @@ +{ + // Workspaces + "hyprland/workspaces": { + "on-scroll-up": "hyprctl dispatch workspace r-1", + "on-scroll-down": "hyprctl dispatch workspace r+1", + "on-click": "activate", + "active-only": true, + "all-outputs": true, + "format": "{icon}", + "format-icons": { + "1": "", + "2": "", + "3": "", + "urgent": "", + "focused": "", + "default": "" + }, + // "format": "{icon}", + // "format-icons": { + // "urgent": "!", + // "active": "*", + // "default": "0" + //}, + "persistent-workspaces": { + "*": 5 + } + }, + // Taskbar + "wlr/taskbar": { + "format": "{icon}", + "icon-size": 18, + "tooltip-format": "{title}", + "on-click": "activate", + "on-click-middle": "close", + "ignore-list": ["Alacritty", "kitty"], + "app_ids-mapping": { + "firefoxdeveloperedition": "firefox-developer-edition" + }, + "rewrite": { + "Firefox Web Browser": "Firefox", + "Foot Server": "Terminal" + } + }, + + // Hyprland Window + "hyprland/window": { + "rewrite": { + "(.*) - Brave": "$1", + "(.*) - Chromium": "$1", + "(.*) - Brave Search": "$1", + "(.*) - Outlook": "$1", + "(.*) Microsoft Teams": "$1" + }, + "separate-outputs": true + }, + "custom/layout": { + "exec": "./get_layout.sh", + "on-click": "hyprctl switchxkblayout at-translated-set-2-keyboard next", + "on-click-right": "hyprctl switchxkblayout at-translated-set-2-keyboard prev", + "interval": 1 + }, + + // ML4W Welcome App + // Empty + "custom/empty": { + "format": "" + }, + + // Empty + "custom/tools": { + "format": "", + "tooltip-format": "Tools" + }, + + // Rofi Application Launcher + "custom/appmenu": { + // START APPS LABEL + "format": "", + // END APPS LABEL + "on-click": "sleep 0.2;rofi -show drun -replace", + "on-click-right": "~/dotfiles/hypr/scripts/keybindings.sh", + "tooltip-format": "Left: Open the application launcher\nRight: Show all keybindings" + }, + + // Rofi Application Launcher + "custom/appmenuicon": { + "format": "", + "on-click": "wofi --show drun", + "on-click-right": "~/dotfiles/hypr/scripts/keybindings.sh", + "tooltip-format": "Left: Open the application launcher\nRight: Show all keybindings" + }, + + // Power Menu + "custom/exit": { + "format": "", + "on-click": "wlogout", + "tooltip-format": "Power Menu" + }, + + // Keyboard State + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + + // System tray + "tray": { + "icon-size": 21, + "spacing": 10 + }, + + // Clock + "clock": { + "format": "{:%H:%M %a}", + // "timezone": "Russia/Moscow", + "tooltip-format": "{:%Y %B}\n{calendar}", + // START CLOCK FORMAT + "format-alt": "{:%Y-%m-%d}" + // END CLOCK FORMAT + }, + + // System + "custom/system": { + "format": "", + "tooltip": false + }, + + // CPU + "cpu": { + "format": "/ C {usage}% ", + "on-click": "~/dotfiles/.settings/systeminfo.sh" + }, + + // Memory + "memory": { + "format": "/ M {}% ", + "on-click": "~/dotfiles/.settings/systeminfo.sh" + }, + + // Harddisc space used + "disk": { + "interval": 30, + "format": "D {percentage_used}% ", + "path": "/", + "on-click": "~/dotfiles/.settings/systeminfo.sh" + }, + + "hyprland/language": { + "format": "/ K {short}" + }, + + // Group Hardware + "group/hardware": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": false + }, + "modules": ["custom/system", "disk", "cpu", "memory", "hyprland/language"] + }, + + // Group Tools + "group/tools": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": false + }, + "modules": [ + "custom/tools", + "custom/cliphist", + "custom/hypridle", + "custom/hyprshade" + ] + }, + + // Group Links + "group/links": { + "orientation": "horizontal", + "modules": [ + "custom/chatgpt", + "custom/empty" + ] + }, + + // Group Settings + "group/settings": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "children-class": "not-memory", + "transition-left-to-right": true + }, + "modules": [ + "custom/settings", + "custom/waybarthemes", + "custom/wallpaper" + ] + }, + + // Network + "network": { + "format": "{ifname}", + "format-wifi": " {signalStrength}%", + "format-ethernet": " {ifname}", + "format-disconnected": "Disconnected", + "tooltip-format": " {ifname} via {gwaddri}", + "tooltip-format-wifi": " {ifname} @ {essid}\nIP: {ipaddr}\nStrength: {signalStrength}%\nFreq: {frequency}MHz\nUp: {bandwidthUpBits} Down: {bandwidthDownBits}", + "tooltip-format-ethernet": " {ifname}\nIP: {ipaddr}\n up: {bandwidthUpBits} down: {bandwidthDownBits}", + "tooltip-format-disconnected": "Disconnected", + "max-length": 50, + "on-click": "alacritty --class=cursor-float -e nmtui", + "on-click-right": "~/dotfiles/.settings/networkmanager.sh" + }, + + // Battery + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{icon} {capacity}%", + "format-charging": " {capacity}%", + "format-plugged": " {capacity}%", + "format-alt": "{icon} {time}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": [" ", " ", " ", " ", " "] + }, + + // Pulseaudio + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{icon} {volume}%", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": " ", + "hands-free": " ", + "headset": " ", + "phone": " ", + "portable": " ", + "car": " ", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + + // Bluetooth + "bluetooth": { + "format": " {status}", + "format-disabled": "", + "format-off": "", + "interval": 30, + "on-click": "blueman-manager", + "format-no-controller": "" + }, + + // Other + "user": { + "format": "{user}", + "interval": 60, + "icon": false + }, + + // backlight: + "backlight": { + "format": "{icon} {percent}%", + "format-icons": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "scroll-step": 1 + } +} diff --git a/.config/waybar/modules_old.json b/.config/waybar/modules_old.json new file mode 100644 index 0000000..1020efc --- /dev/null +++ b/.config/waybar/modules_old.json @@ -0,0 +1,164 @@ +{ + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + "sway/mode": { + "format": "{}" + }, + "sway/scratchpad": { + "format": "{icon} {count}", + "show-empty": false, + "format-icons": ["", ""], + "tooltip": true, + "tooltip-format": "{app}: {title}" + }, + "mpd": { + "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", + "format-disconnected": "Disconnected ", + "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "unknown-tag": "N/A", + "interval": 5, + "consume-icons": { + "on": " " + }, + "random-icons": { + "off": " ", + "on": " " + }, + "repeat-icons": { + "on": " " + }, + "single-icons": { + "on": "1 " + }, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + // "icon-size": 21, + "spacing": 10 + }, + "clock": { + // "timezone": "America/New_York", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + // "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", "", "", "", "", "", "", "", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-full": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "power-profiles-daemon": { + "format": "{icon}", + "tooltip-format": "Power profile: {profile}\nDriver: {driver}", + "tooltip": true, + "format-icons": { + "default": "", + "performance": "", + "balanced": "", + "power-saver": "" + } + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {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-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder + // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + }, + "custom/power": { + "format" : "⏻ ", + "tooltip": false, + "menu": "on-click", + "menu-file": "$HOME/.config/waybar/power_menu.xml", // Menu file in resources folder + "menu-actions": { + "shutdown": "shutdown", + "reboot": "reboot", + "suspend": "systemctl suspend", + "hibernate": "systemctl hibernate" + } + } +} diff --git a/.config/waybar/style.css b/.config/waybar/style.css new file mode 100644 index 0000000..b684a70 --- /dev/null +++ b/.config/waybar/style.css @@ -0,0 +1,412 @@ +@define-color backgroundlight #FFFFFF; +@define-color backgrounddark #FFFFFF; +@define-color workspacesbackground1 #FFFFFF; +@define-color workspacesbackground2 #CCCCCC; +@define-color bordercolor #FFFFFF; +@define-color textcolor1 #000000; +@define-color textcolor2 #000000; +@define-color textcolor3 #FFFFFF; +@define-color iconcolor #FFFFFF; + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.4); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + transition-property: background-color; + transition-duration: .5s; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + + #workspaces { + margin: 3px 7px 3px 3px; + border: 0px; + font-size: 14px; + color: @textcolor1; +} + +#workspaces button { + border: 0px; + margin:4px 5px 4px 0px; + padding:0px 4px 0px 4px; + color: @textcolor3; + transition: all 0.5s ease-in-out; +} + +#workspaces button.active { + color: @textcolor1; + background: @workspacesbackground2; +} + +#workspaces button:hover { + color: @textcolor1; + background: @workspacesbackground2; + border-radius: 15px; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 10px; + background-color: @backgroundlight; + opacity:0.8; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + margin: 0px 15px 0px 0px; + border-radius: 12px; + color:@textcolor; + font-size:14px; + font-weight:normal; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, +#custom-browser, +#custom-keybindings, +#custom-outlook, +#custom-filemanager, +#custom-teams, +#custom-chatgpt, +#custom-calculator, +#custom-windowsvm, +#custom-cliphist, +#custom-wallpaper, +#custom-settings, +#custom-wallpaper, +#custom-system, +#custom-hyprshade, +#custom-hypridle, +#custom-tools, +#custom-layout, +#custom-quicklink1, +#custom-quicklink2, +#custom-quicklink3, +#custom-quicklink4, +#custom-quicklink5, +#custom-quicklink6, +#custom-quicklink7, +#custom-quicklink8, +#custom-quicklink9, +#custom-quicklink10, +#custom-waybarthemes { + margin-right: 16px; + font-size: 14px; + font-weight: bold; + color: @iconcolor; +} + +#custom-tools { + margin-right:12px; +} + +#custom-hyprshade { + margin-right:12px; +} + +#custom-hypridle { + margin-right:16px; +} + +#custom-hypridle.active { + color: @iconcolor; +} + +#custom-hypridle.notactive { + color: #dc2f2f; +} + +#custom-settings { + margin-right: 15px; +} + +#custom-browser { + margin-right: 12px; +} + +#custom-wallpaper { + margin-right: 14px; +} + +#custom-chatgpt { + margin-right: 10px; + background-image: url("../assets/ai-icon-20.png"); + background-repeat: no-repeat; + background-position: center; + padding-right: 23px; +} + +#custom-waybarthemes,#custom-system { + margin-right:15px; +} + + +#custom-ml4w-welcome { + margin-right: 12px; + background-image: url("../assets/ml4w-icon.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + padding-right: 20px; +} + +#custom-ml4w-hyprland-settings { + margin-right: 12px; + background-image: url("../assets/hyprland-icon-20.png"); + background-repeat: no-repeat; + background-position: center; + padding-right: 16px; +} + + +/* ----------------------------------------------------- + * Idle Inhibator + * ----------------------------------------------------- */ + + #idle_inhibitor { + margin-right: 15px; + font-size: 16px; + font-weight: bold; + color: @iconcolor; +} + +#idle_inhibitor.activated { + margin-right: 15px; + font-size: 14px; + font-weight: bold; + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenuicon { + font-size: 20px; + color: @textcolor; + margin: 0px 15px 0px 10px; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 20px 0px 0px; + padding:0px; + font-size:16px; + color: @iconcolor; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 0px 15px 0px 0px; +} + +#custom-updates.green { +} + +#custom-updates.yellow { + color: #ff9a3c; +} + +#custom-updates.red { + color: #dc2f2f; +} + +/* ----------------------------------------------------- + * Custom Youtube + * ----------------------------------------------------- */ + +#custom-youtube { + background-color: @backgroundlight; + font-size: 14px; + color: @textcolor2; + border-radius: 15px; + margin: 0px 15px 0px 0px; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + + #disk,#memory,#cpu,#language { + margin:0px; + padding:0px; + font-size:14px; + color:@iconcolor; +} + +#language { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + font-size: 15px; + color: @textcolor; + margin: 0px 15px 0px 0px; +} + +/* ----------------------------------------------------- + * Backlight + * ----------------------------------------------------- */ + + #backlight { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 0px 15px 0px 0px; + background-color: transparent; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + + #pulseaudio { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 0px 15px 0px 0px; +} + +#pulseaudio.muted { + color: @textcolor; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 0px 15px 0px 0px; +} + +#network.ethernet { + color: @textcolor; +} + +#network.wifi { + color: @textcolor; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + + #bluetooth, #bluetooth.on, #bluetooth.connected { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 10px 15px 10px 0px; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + font-size: 14px; + color: @textcolor; + border-radius: 15px; + margin: 10px 15px 10px 0px; +} + +#battery.charging, #battery.plugged { + color: @textcolor; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + color: #f53c3c; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + margin:0px 10px 0px 0px; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} diff --git a/.config/waybar/style.css.bak b/.config/waybar/style.css.bak new file mode 100644 index 0000000..7e83028 --- /dev/null +++ b/.config/waybar/style.css.bak @@ -0,0 +1,327 @@ +* { + /* `otf-font-awesome` is required to be installed for icons */ + font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; + font-size: 13px; +} + +window#waybar { + background-color: rgba(43, 48, 59, 0.5); + border-bottom: 3px solid rgba(100, 114, 125, 0.5); + color: #ffffff; + transition-property: background-color; + transition-duration: .5s; +} + +window#waybar.hidden { + opacity: 0.2; +} + +/* +window#waybar.empty { + background-color: transparent; +} +window#waybar.solo { + background-color: #FFFFFF; +} +*/ + +window#waybar.termite { + background-color: #3F3F3F; +} + +window#waybar.chromium { + background-color: #000000; + border: none; +} + +button { + /* Use box-shadow instead of border so the text isn't offset */ + box-shadow: inset 0 -3px transparent; + /* Avoid rounded borders under each button name */ + border: none; + border-radius: 0; +} + +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ +button:hover { + background: inherit; + box-shadow: inset 0 -3px #ffffff; +} + +/* you can set a style on hover for any module like this */ +#pulseaudio:hover { + background-color: #a37800; +} + +#workspaces button { + padding: 0 5px; + background-color: transparent; + color: #ffffff; +} + +#workspaces button:hover { + background: rgba(0, 0, 0, 0.2); +} + +#workspaces button.focused { + background-color: #64727D; + box-shadow: inset 0 -3px #ffffff; +} + +#workspaces button.urgent { + background-color: #eb4d4b; +} + +#mode { + background-color: #64727D; + box-shadow: inset 0 -3px #ffffff; +} + +#clock, +#battery, +#cpu, +#memory, +#disk, +#temperature, +#backlight, +#network, +#pulseaudio, +#wireplumber, +#custom-media, +#tray, +#mode, +#idle_inhibitor, +#scratchpad, +#power-profiles-daemon, +#mpd { + padding: 0 10px; + color: #ffffff; +} + +#window, +#workspaces { + margin: 0 4px; +} + +/* 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; +} + +#clock { + background-color: #64727D; +} + +#battery { + background-color: #ffffff; + color: #000000; +} + +#battery.charging, #battery.plugged { + color: #ffffff; + background-color: #26A65B; +} + +@keyframes blink { + to { + background-color: #ffffff; + color: #000000; + } +} + +/* Using steps() instead of linear as a timing function to limit cpu usage */ +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: #ffffff; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: steps(12); + animation-iteration-count: infinite; + animation-direction: alternate; +} + +#power-profiles-daemon { + padding-right: 15px; +} + +#power-profiles-daemon.performance { + background-color: #f53c3c; + color: #ffffff; +} + +#power-profiles-daemon.balanced { + background-color: #2980b9; + color: #ffffff; +} + +#power-profiles-daemon.power-saver { + background-color: #2ecc71; + color: #000000; +} + +label:focus { + background-color: #000000; +} + +#cpu { + background-color: #2ecc71; + color: #000000; +} + +#memory { + background-color: #9b59b6; +} + +#disk { + background-color: #964B00; +} + +#backlight { + background-color: #90b1b1; +} + +#network { + background-color: #2980b9; +} + +#network.disconnected { + background-color: #f53c3c; +} + +#pulseaudio { + background-color: #f1c40f; + color: #000000; +} + +#pulseaudio.muted { + background-color: #90b1b1; + color: #2a5c45; +} + +#wireplumber { + background-color: #fff0f5; + color: #000000; +} + +#wireplumber.muted { + background-color: #f53c3c; +} + +#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 { + background-color: #f0932b; +} + +#temperature.critical { + background-color: #eb4d4b; +} + +#tray { + background-color: #2980b9; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} + +#idle_inhibitor { + background-color: #2d3436; +} + +#idle_inhibitor.activated { + background-color: #ecf0f1; + color: #2d3436; +} + +#mpd { + background-color: #66cc99; + color: #2a5c45; +} + +#mpd.disconnected { + background-color: #f53c3c; +} + +#mpd.stopped { + background-color: #90b1b1; +} + +#mpd.paused { + background-color: #51a37a; +} + +#language { + background: #00b093; + color: #740864; + padding: 0 5px; + 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 5px; +} + +#keyboard-state > label.locked { + background: rgba(0, 0, 0, 0.2); +} + +#scratchpad { + background: rgba(0, 0, 0, 0.2); +} + +#scratchpad.empty { + background-color: transparent; +} + +#privacy { + padding: 0; +} + +#privacy-item { + padding: 0 5px; + color: white; +} + +#privacy-item.screenshare { + background-color: #cf5700; +} + +#privacy-item.audio-in { + background-color: #1ca000; +} + +#privacy-item.audio-out { + background-color: #0069d4; +}