aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.dotter/global.toml6
-rw-r--r--.dotter/local.toml4
-rw-r--r--kitty/kitty.conf51
-rw-r--r--waybar/config143
-rwxr-xr-xwaybar/custom_modules/cpugovernor.sh16
-rwxr-xr-xwaybar/custom_modules/custom-gpu-lite.sh8
-rwxr-xr-xwaybar/custom_modules/custom-gpu.sh12
-rwxr-xr-xwaybar/custom_modules/custom-kdeconnect.sh85
-rwxr-xr-xwaybar/custom_modules/media-player-status.py123
-rwxr-xr-xwaybar/launch.sh2
-rw-r--r--waybar/style.css341
-rw-r--r--waybar/waybar.zipbin0 -> 7383 bytes
12 files changed, 790 insertions, 1 deletions
diff --git a/.dotter/global.toml b/.dotter/global.toml
index 0b47b62..6660427 100644
--- a/.dotter/global.toml
+++ b/.dotter/global.toml
@@ -6,6 +6,9 @@ depends = []
[alacritty.files]
"alacritty" = "~/.config/alacritty"
+[kitty.files]
+"kitty" = "~/.config/kitty"
+
[conky.files]
"conky" = "~/.config/conky"
@@ -35,5 +38,8 @@ depends = []
[polybar.files]
"polybar" = "~/.config/polybar"
+[waybar.files]
+"waybar" = "~/.config/waybar"
+
[rofi.files]
"rofi" = "~/.config/rofi"
diff --git a/.dotter/local.toml b/.dotter/local.toml
index 0bcd0dc..88cd0c9 100644
--- a/.dotter/local.toml
+++ b/.dotter/local.toml
@@ -2,15 +2,17 @@ includes = []
packages = [
"alacritty",
+ "kitty",
"conky",
"dunst",
"gtk",
- "hyprland"
+ "hyprland",
"i3",
"mpd",
"neomutt",
"nvim",
"polybar",
+ "waybar",
"rofi"
]
diff --git a/kitty/kitty.conf b/kitty/kitty.conf
new file mode 100644
index 0000000..7c84a35
--- /dev/null
+++ b/kitty/kitty.conf
@@ -0,0 +1,51 @@
+# gruvbox-dark colorscheme for kitty
+# snazzy theme used as base
+
+font_family JetBrainsMono Nerd Font Mono
+bold_font JetBrainsMono Nerd Font Mono Extra Bold
+bold_italic_font JetBrainsMono Nerd Font Mono Extra Bold Italic
+font_size 16.0
+
+# term xterm-256color
+enable_audio_bell false
+
+foreground #ebdbb2
+background #1d2021
+selection_foreground #655b53
+selection_background #ebdbb2
+url_color #d65c0d
+
+# black
+color0 #1d2021
+color8 #1d2021
+
+# red
+color1 #cc231c
+color9 #fb4833
+
+# green
+color2 #989719
+color10 #b8ba25
+
+# yellow
+color3 #d79920
+color11 #fabc2e
+
+# blue
+color4 #448488
+color12 #83a597
+
+# magenta
+color5 #b16185
+color13 #d3859a
+
+# cyan
+color6 #689d69
+color14 #8ec07b
+
+# white
+color7 #a89983
+color15 #ebdbb2
+
+mouse_map left click ungrabbed mouse_handle_click prompt
+mouse_map ctrl+left click ungrabbed mouse_handle_click link
diff --git a/waybar/config b/waybar/config
new file mode 100644
index 0000000..d3daf39
--- /dev/null
+++ b/waybar/config
@@ -0,0 +1,143 @@
+{
+ "layer": "top", // Waybar at top layer
+ "exclusive": false,
+ //"mode": "overlay",
+ //"passthrough": false,
+ "start_hidden": true,
+ "position": "top", // Waybar position (top|bottom|left|right)
+ // "width": 1280, // Waybar width
+ "spacing": 2, // Gaps between modules (4px)
+ // Choose the order of the modules
+ // "margin-left":25,
+ // "margin-right":25,
+ "margin-bottom":-5,
+ //"margin-top":5,
+ "modules-left": ["hyprland/workspaces","custom/audio_idle_inhibitor"],
+ "modules-right": ["cpu","memory","pulseaudio","tray"],
+ "modules-center": [ "clock"],
+ // Modules configuration
+
+
+ // custom modules //
+ "custom/cycle_wall":{
+ "format":" 󰊠 ",
+ // "interval": 1,
+ "on-click": "~/.config/hypr/scripts/wall",
+ "tooltip": false
+
+ },
+
+ "custom/spotify": {
+ "exec": "/usr/bin/python3 .config/hypr/scripts//mediaplayer.py --player spotify",
+ "format": "{} 󰓇",
+ "return-type": "json",
+ "on-click": "playerctl next",
+ "on-scroll-up": "playerctl previous",
+ "on-click-right": "playerctl stop"
+ },
+
+ "custom/audio_idle_inhibitor": {
+ "format": "{icon}",
+ "exec": "sway-audio-idle-inhibit --dry-print-both-waybar",
+ "exec-if": "which sway-audio-idle-inhibit",
+ "on-click": "playerctl stop",
+ "return-type": "json",
+ "tooltip": false,
+ "format-icons": {
+ "output": "󰝚",
+ "input": "󰍬",
+ "output-input": "󰐌 󰍬",
+ "none": ""
+ }
+ },
+ "custom/weather": {
+ "exec": "python ~/.config/hypr/scripts/weather.py",
+ "restart-interval": 300,
+ "return-type": "json",
+ "on-click": "xdg-open https://weather.com/en-IN/weather/today/l/$(location_id)"
+ // "format-alt": "{alt}",
+ },
+
+ // End of custom modules //
+ "wlr/workspaces": {
+ "format": "{icon}",
+ "format-active": " {icon} ",
+ "on-click": "activate"
+ // "format-icons":{
+ // "10":"10"
+ // }
+ },
+ "tray": {
+ "icon-size": 18,
+ "spacing": 8,
+ "show-passive-items": false
+ },
+ "clock": {
+ // "timezone": "America/New_York",
+ "tooltip": false,
+ "interval": 60,
+ "format": "{:%H:%M}",
+ "max-length": 25,
+ "on-click": "kitty --class calendar -e calcure"
+ },
+ "cpu": {
+ "interval":1,
+ "format": "{icon0} {icon1} {icon2} {icon3}",
+ "format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"],
+ "on-click": "kitty --class system_monitor -e htop"
+
+ },
+ "memory": {
+ "format": "{percentage}% 󰇖",
+ "interval": 1,
+ "on-click": "kitty --class system_monitor -e htop",
+ "max-lenght": 35
+ },
+ "backlight": {
+ // "device": "acpi_video1",
+ "format": "{percent}% {icon}",
+ "on-scroll-down": "swayosd-client --brightness raise",
+ "on-scroll-up": "swayosd-client --brightness lower",
+ "format-icons": ["󰃚", "󰃚", "󰃛", "󰃜", "󰃜", "󰃝", "󰃞", "󰃟", "󰃠"]
+ },
+ "battery": {
+ "states": {
+ "warning": 50,
+ "critical": 20
+ },
+ "format": "{capacity}% {icon}",
+ "format-charging": "{capacity}% 󰂅",
+ "format-plugged": "{capacity}% {icon}",
+ "format-good": "", // An empty format will hide the module
+ "format-full": "󰁹",
+ "format-icons": ["󰂎","󰁺","󰁻","󰁼","󰁽","󰁾","󰁿", "󰂀", "󰂁", "󰂂", "󰁹"],
+ "on-click": ".config/rofi/powermenu/type-5/powermenu.sh",
+ },
+ "pulseaudio": {
+ "format": "{volume}% {icon}",
+ "format-bluetooth": "{volume}% {icon}",
+ "format-bluetooth-muted": "婢  muted",
+ "format-muted": "󰖁 muted",
+ "format-icons": {
+ "headphone": "󰋋",
+ "hands-free": "",
+ "headset": "󰋋",
+ "phone": "󰄜",
+ "portable": "",
+ "car": "󰸛",
+ "default": ["󰕿", "󰖀", "󰕾"]
+ },
+ "on-click-right": "pavucontrol",
+ "on-click": "swayosd-client --output-volume mute-toggle",
+ "on-scroll-down": "swayosd-client --output-volume raise",
+ "on-scroll-up": "swayosd-client --output-volume lower",
+ },
+ "network": {
+ "interface": "wlan0",
+ "format-wifi": " {signalStrength}% 󰤨 ",
+ "format-disconnected": " Offline 󰤭 ",
+ "tooltip-format": "{ifname} via {gwaddr} 󰱶",
+ "tooltip-format-wifi": "{essid}",
+ //"on-click": "~/.config/hypr/scripts/rofi-wifi-menu"
+ }
+}
diff --git a/waybar/custom_modules/cpugovernor.sh b/waybar/custom_modules/cpugovernor.sh
new file mode 100755
index 0000000..2f75469
--- /dev/null
+++ b/waybar/custom_modules/cpugovernor.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+GOVERNOR=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor)
+
+if [ $GOVERNOR = performance ]; then
+ echo '{"text": "perf", "alt": "perf", "class": "performance", "tooltip": "<b>Governor</b> Performance"}'
+ if [[ $1 = switch ]]; then
+ sudo cpupower frequency-set -g ondemand;pkill -RTMIN+8 waybar;
+ fi
+ #echo ''
+elif [ $GOVERNOR = ondemand ]; then
+ echo '{"text": "ondemand", "alt": "ondemand", "class": "ondemand", "tooltip": "<b>Governor</b> On Demand"}'
+ if [[ $1 = switch ]]; then
+ sudo cpupower frequency-set -g performance;pkill -RTMIN+8 waybar;
+ fi
+fi \ No newline at end of file
diff --git a/waybar/custom_modules/custom-gpu-lite.sh b/waybar/custom_modules/custom-gpu-lite.sh
new file mode 100755
index 0000000..d2821c1
--- /dev/null
+++ b/waybar/custom_modules/custom-gpu-lite.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+raw_temp=$(cat /sys/class/drm/card0/device/hwmon/hwmon5/temp1_input)
+temperature=$(($raw_temp/1000))
+deviceinfo=$(glxinfo -B | grep 'Device:' | sed 's/^.*: //')
+driverinfo=$(glxinfo -B | grep "OpenGL version")
+
+echo '{"text": "  '$temperature'°C", "class": "custom-gpu", "tooltip": "<b>'$deviceinfo'</b>\n'$driverinfo'"}' \ No newline at end of file
diff --git a/waybar/custom_modules/custom-gpu.sh b/waybar/custom_modules/custom-gpu.sh
new file mode 100755
index 0000000..e87374d
--- /dev/null
+++ b/waybar/custom_modules/custom-gpu.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+raw_clock=$(cat /sys/class/drm/card0/device/pp_dpm_sclk | egrep -o '[0-9]{0,4}Mhz \W' | sed "s/Mhz \*//")
+clock=$(echo "scale=1;$raw_clock/1000" | bc | sed -e 's/^-\./-0./' -e 's/^\./0./')
+
+raw_temp=$(cat /sys/class/drm/card0/device/hwmon/hwmon5/temp1_input)
+temperature=$(($raw_temp/1000))
+busypercent=$(cat /sys/class/hwmon/hwmon5/device/gpu_busy_percent)
+deviceinfo=$(glxinfo -B | grep 'Device:' | sed 's/^.*: //')
+driverinfo=$(glxinfo -B | grep "OpenGL version")
+
+echo '{"text": "'$clock'GHz |  '$temperature'°C <span color=\"darkgray\">| '$busypercent'%</span>", "class": "custom-gpu", "tooltip": "<b>'$deviceinfo'</b>\n'$driverinfo'"}' \ No newline at end of file
diff --git a/waybar/custom_modules/custom-kdeconnect.sh b/waybar/custom_modules/custom-kdeconnect.sh
new file mode 100755
index 0000000..5b2c3a8
--- /dev/null
+++ b/waybar/custom_modules/custom-kdeconnect.sh
@@ -0,0 +1,85 @@
+#
+# Shamefully massacred from haideralipunjabi's polybar-kdeconnect
+# (https://github.com/haideralipunjabi/polybar-kdeconnect/)
+#
+
+# Color Settings of Icon shown in Waybar
+COLOR_DISCONNECTED='#655b53' # Device Disconnected
+COLOR_BATTERY_90='#ebdbb2' # Battery >= 90
+COLOR_BATTERY_80='#a89985' # Battery >= 80
+COLOR_BATTERY_70='#448488' # Battery >= 70
+COLOR_BATTERY_60='#83a597' # Battery >= 60
+COLOR_BATTERY_50='#b16185' # Battery >= 50
+COLOR_BATTERY_LOW='#BF616A' # Battery < 50
+
+# Icons shown in Polybar
+ICON_SMARTPHONE=''
+ICON_TABLET=''
+
+devices=""
+
+get_icon () {
+ if [ "$2" = "tablet" ]
+ then
+ icon=$ICON_TABLET
+ else
+ icon=$ICON_SMARTPHONE
+ fi
+ case $1 in
+ "-1") ICON="<span foreground=\"$COLOR_DISCONNECTED\">$icon</span>" ;;
+ "-2") ICON="<span foreground=\"$COLOR_NEWDEVICE\">$icon</span>" ;;
+ 5*) ICON="<span foreground=\"$COLOR_BATTERY_50\">$icon</span>" ;;
+ 6*) ICON="<span foreground=\"$COLOR_BATTERY_60\">$icon</span>" ;;
+ 7*) ICON="<span foreground=\"$COLOR_BATTERY_70\">$icon</span>" ;;
+ 8*) ICON="<span foreground=\"$COLOR_BATTERY_80\">$icon</span>" ;;
+ 9*|100) ICON="<span foreground=\"$COLOR_BATTERY_90\">$icon</span>" ;;
+ *) ICON="<span foreground=\"$COLOR_BATTERY_LOW\">$icon</span>" ;;
+ esac
+ echo $ICON
+}
+
+get_status() {
+ for device in $(qdbus --literal org.kde.kdeconnect /modules/kdeconnect org.kde.kdeconnect.daemon.devices); do
+ deviceid=$(echo "$device" | awk -F'["|"]' '{print $2}')
+ isreach="$(qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$deviceid" org.kde.kdeconnect.device.isReachable)"
+ istrust="$(qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$deviceid" org.kde.kdeconnect.device.isTrusted)"
+ if [ "$isreach" = "true" ] && [ "$istrust" = "true" ]
+ then
+ battery="$(qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$deviceid/battery" org.kde.kdeconnect.device.battery.charge)%"
+ icon=$(get_icon "$battery" "$devicetype")
+ devices+="$battery $icon"
+ elif [ "$isreach" = "false" ] && [ "$istrust" = "true" ]
+ then
+ devices+="$(get_icon -1 "$devicetype")"
+ fi
+ done
+
+ echo $devices
+}
+
+send_ring() {
+ for device in $(qdbus --literal org.kde.kdeconnect /modules/kdeconnect org.kde.kdeconnect.daemon.devices); do
+ deviceid=$(echo "$device" | awk -F'["|"]' '{print $2}')
+ isreach="$(qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$deviceid" org.kde.kdeconnect.device.isReachable)"
+ istrust="$(qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$deviceid" org.kde.kdeconnect.device.isTrusted)"
+ if [ "$isreach" = "true" ] && [ "$istrust" = "true" ]
+ then
+ $(qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$deviceid/findmyphone" org.kde.kdeconnect.device.findmyphone.ring)
+ fi
+ done
+
+ echo $devices
+}
+
+
+option="${1}"
+ case "${option}" in
+ ring) send_ring
+ ;;
+ battery) get_status
+ ;;
+ *) echo "Use with ./custom-kdeconnect.sh battery or ring"
+ ;;
+ esac
+
+exit 0 \ No newline at end of file
diff --git a/waybar/custom_modules/media-player-status.py b/waybar/custom_modules/media-player-status.py
new file mode 100755
index 0000000..df348c7
--- /dev/null
+++ b/waybar/custom_modules/media-player-status.py
@@ -0,0 +1,123 @@
+#!/usr/bin/env python
+
+import html
+import json
+import gi
+import sys
+gi.require_version('Playerctl', '2.0')
+from gi.repository import Playerctl, GLib # noqa: E402
+
+ARTIST = 'xesam:artist'
+TITLE = 'xesam:title'
+ICONS = {
+ 'spotify': '阮 ',
+ 'ncspot': '阮 ',
+ 'vlc': '嗢 ',
+ 'firefox': ' ',
+ 'default': '契 ',
+ 'paused': ' '
+}
+
+last_status = None
+
+
+def find_active_player(manager, vanished_player):
+ for player in manager.props.players:
+ if player == vanished_player:
+ continue
+ if player.props.playback_status != Playerctl.PlaybackStatus.STOPPED:
+ return player
+ return None
+
+
+def get_status(manager, vanished_player):
+ player = find_active_player(manager, vanished_player)
+ if player is None:
+ return '', '', 'stopped'
+ name = player.props.player_name
+ metadata = player.props.metadata
+ title = metadata[TITLE] if TITLE in metadata.keys() else None
+ artist = metadata[ARTIST][0] if ARTIST in metadata.keys() else None
+ if name == 'firefox' and title == 'Firefox' and artist == 'Mozilla':
+ title = None
+ artist = None
+ if player.props.playback_status == Playerctl.PlaybackStatus.PAUSED:
+ css_class = 'paused'
+ else:
+ css_class = 'playing'
+ if title is None and artist is None:
+ if css_class == 'paused':
+ icon = ICONS['paused']
+ else:
+ icon = ICONS['default']
+ app_icon = ICONS.get(name, None)
+ if app_icon is None:
+ label = icon
+ else:
+ label = f'{icon} {app_icon}'
+ return label, f'{name.title()}: {css_class.title()}', css_class
+ if css_class == 'paused':
+ icon = ICONS['paused']
+ else:
+ # Added override for icon
+ #icon = ICONS.get(name, ICONS['default'])
+ icon = ICONS['default']
+ if title is None or title == '':
+ song = artist or name.title()
+ elif artist is None or artist == '':
+ song = f'{title}'
+ else:
+ song = f'{artist} – {title}'
+ html_song = html.escape(song)
+ return f'{icon} {html_song}', f'{name.title()}: {song}', css_class
+
+
+def print_status(manager, vanished_player=None):
+ text, tooltip, css_class = get_status(manager, vanished_player)
+ status = json.dumps({'text': text, 'tooltip': tooltip, 'class': css_class})
+ global last_status
+ if last_status != status:
+ print(status)
+ sys.stdout.flush()
+ last_status = status
+
+
+def on_playback_status(player, status, manager):
+ manager.move_player_to_top(player)
+ print_status(manager)
+
+
+def on_metadata(player, metadata, manager):
+ manager.move_player_to_top(player)
+ print_status(manager)
+
+
+def init_player(manager, name):
+ player = Playerctl.Player.new_from_name(name)
+ player.connect('playback-status', on_playback_status, manager)
+ player.connect('metadata', on_metadata, manager)
+ manager.manage_player(player)
+
+
+def on_name_appeared(manager, name, _):
+ init_player(manager, name)
+ print_status(manager)
+
+
+def on_player_vanished(manager, player, _):
+ print_status(manager, player)
+
+
+def init_manager():
+ manager = Playerctl.PlayerManager()
+ manager.connect('name-appeared', on_name_appeared, manager)
+ manager.connect('player-vanished', on_player_vanished, manager)
+ for name in manager.props.player_names:
+ init_player(manager, name)
+ print_status(manager)
+
+
+if __name__ == '__main__':
+ init_manager()
+ main = GLib.MainLoop()
+ main.run()
diff --git a/waybar/launch.sh b/waybar/launch.sh
new file mode 100755
index 0000000..128b011
--- /dev/null
+++ b/waybar/launch.sh
@@ -0,0 +1,2 @@
+killall waybar
+waybar & \ No newline at end of file
diff --git a/waybar/style.css b/waybar/style.css
new file mode 100644
index 0000000..f8b0ecb
--- /dev/null
+++ b/waybar/style.css
@@ -0,0 +1,341 @@
+* {
+ font-family:
+ Iosevka,
+ Material Design Icons;
+ font-size: 14px;
+}
+
+@define-color dark #3c3836;
+@define-color blue #458588;
+@define-color green #98971A;
+@define-color green2 #B8BB26;
+@define-color yellow #FABD2F;
+@define-color red #FB4934;
+@define-color magenta #D3869B;
+@define-color aqua #689D6A;
+@define-color lightblue #83A598;
+@define-color white #EBDBB2;
+@define-color black #282828;
+
+window#waybar {
+ background-color: transparent;
+}
+
+#workspaces {
+ background-color: transparent;
+ margin-top: 10px;
+ margin-bottom: 10px;
+ margin-right: 10px;
+ margin-left: 25px;
+}
+
+#workspaces button {
+ box-shadow: rgba(0, 0, 0, 0.116) 2 2 5 2px;
+ background-color: @white;
+ border-radius: 15px;
+ margin-right: 10px;
+ padding-top: 4px;
+ padding-bottom: 2px;
+ padding-right: 10px;
+ font-weight: bolder;
+ color: @black;
+}
+
+#workspaces button.active {
+ padding-right: 20px;
+ box-shadow: rgba(0, 0, 0, 0.288) 2 2 5 2px;
+ text-shadow: 0 0 5px rgba(0, 0, 0, 0.377);
+ padding-left: 20px;
+ padding-bottom: 3px;
+ background: linear-gradient(45deg, @green2, @lightblue);
+ /* animation: gradient 40s ease infinite; */
+ background-size: 300% 300%;
+ color: @black;
+ font-weight: bolder;
+}
+
+@keyframes gradient {
+ 0% {
+ background-position: 0% 50%;
+ }
+ 50% {
+ background-position: 100% 50%;
+ }
+ 100% {
+ background-position: 0% 50%;
+ }
+}
+#custom-weather,
+#custom-audio_idle_inhibitor,
+#custom-spotify,
+#clock,
+#battery,
+#cpu,
+#memory,
+#disk,
+#temperature,
+#backlight,
+#network,
+#pulseaudio,
+#custom-media,
+#tray,
+#mode,
+#idle_inhibitor,
+#custom-expand,
+#custom-cycle_wall,
+#custom-ss,
+#custom-dynamic_pill,
+#mpd {
+ padding: 0 10px;
+ border-radius: 15px;
+ background-color: @green;
+ color: @black;
+ box-shadow: rgba(0, 0, 0, 0.116) 2 2 5 2px;
+ margin-top: 10px;
+ margin-bottom: 10px;
+ margin-right: 10px;
+ font-weight: bolder;
+}
+
+#custom-cycle_wall {
+ background: @red;
+ color: #141111;
+ background-size: 500% 500%;
+ font-weight: bolder;
+ padding: 5px;
+ border-radius: 15px;
+}
+
+#custom-audio_idle_inhibitor {
+ background: @yellow;
+}
+
+#custom-weather {
+ background: @aqua;
+}
+#custom-weather.severe {
+ color: #eb937d;
+}
+
+#custom-weather.sunnyDay {
+ color: @black;
+}
+
+#custom-weather.clearNight {
+ color: @black;
+}
+
+#custom-weather.cloudyFoggyDay,
+#custom-weather.cloudyFoggyNight {
+ color: @black;
+}
+
+#custom-weather.rainyDay,
+#custom-weather.rainyNight {
+ color: @black;
+}
+
+#custom-weather.showyIcyDay,
+#custom-weather.snowyIcyNight {
+ color: @black;
+}
+
+#custom-weather.default {
+ color: @black;
+}
+
+#clock {
+ background: linear-gradient(45deg, @lightblue, @green2);
+ margin-right: 25px;
+ color: @black;
+ background-size: 300% 300%;
+ text-shadow: 0 0 5px rgba(0, 0, 0, 0.577);
+ /* animation: gradient 20s ease infinite; */
+ font-size: 16px;
+ padding-top: 2px;
+ padding-right: 21px;
+ font-weight: bolder;
+ padding-left: 20px;
+}
+
+#battery.charging,
+#battery.plugged {
+ background-color: @lightblue;
+ color: #32302f;
+}
+
+#battery {
+ background-color: @green2;
+ color: @black;
+ font-weight: bolder;
+ font-size: 15px;
+ padding-left: 15px;
+ padding-right: 15px;
+}
+
+@keyframes blink {
+ to {
+ background-color: @red;
+ color: @black;
+ }
+}
+
+#battery.critical:not(.charging) {
+ background-color: @yellow;
+ color: @black;
+ /* animation-name: blink; */
+ /* animation-duration: 0.5s; */
+ /* animation-timing-function: linear; */
+ /* animation-iteration-count: infinite; */
+ /* animation-direction: alternate; */
+}
+
+#cpu {
+ background: @magenta;
+ background-size: 300% 300%;
+ text-shadow: 0 0 5px rgba(0, 0, 0, 0.377);
+ /* background-color: #b4befe; */
+ color: @black;
+}
+
+#memory {
+ background-color: #fecb53;
+ color: #32302f;
+ font-weight: bolder;
+}
+
+#disk {
+ color: #964b00;
+}
+
+#backlight {
+ color: #101212;
+ background-color: @yellow;
+ font-weight: bolder;
+}
+
+#network {
+ color: rgb(74, 77, 75);
+ font-weight: bolder;
+}
+
+#network.disabled {
+ background-color: @aqua;
+}
+
+#network.disconnected {
+ background: @aqua;
+ color: @black;
+ font-weight: bolder;
+ padding-top: 3px;
+ padding-right: 11px;
+}
+
+#network.linked,
+#network.wifi {
+ background-color: @aqua;
+ color: #32302f;
+}
+
+#network.ethernet {
+ background-color: #f9e2af;
+}
+
+#pulseaudio {
+ background-color: @blue;
+ color: @dark;
+ font-weight: bolder;
+}
+
+#pulseaudio.muted {
+ background-color: @blue;
+ font-weight: bolder;
+}
+
+#custom-media {
+ color: #66cc99;
+ font-weight: bolder;
+}
+
+#custom-media.custom-spotify {
+ background-color: #66cc99;
+ font-weight: bolder;
+}
+
+#custom-media.custom-vlc {
+ background-color: #ffa000;
+}
+
+#temperature {
+ background-color: #f9e2af;
+ color: #96804e;
+}
+
+#temperature.critical {
+ background-color: #f38ba8;
+ color: #bf5673;
+}
+
+#tray {
+ background-color: @black;
+}
+
+#tray > .passive {
+ -gtk-icon-effect: dim;
+}
+
+#tray > .needs-attention {
+ -gtk-icon-effect: highlight;
+ background-color: @red;
+}
+
+#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);
+}
+
diff --git a/waybar/waybar.zip b/waybar/waybar.zip
new file mode 100644
index 0000000..0bfc651
--- /dev/null
+++ b/waybar/waybar.zip
Binary files differ