From d4c2587fcde68de2f375ccb5dd569a1e10691927 Mon Sep 17 00:00:00 2001 From: Alfie King Date: Sun, 16 Feb 2025 19:01:28 +0000 Subject: [PATCH] update uwu --- fish/config.fish | 2 +- hypr/hyprland.conf | 19 +- waybar/animation.css | 216 ---------------- waybar/config.jsonc | 299 ++++------------------ waybar/scripts/brightness-control.sh | 92 ------- waybar/scripts/cpu-temp.sh | 64 ----- waybar/scripts/cpu-usage.sh | 33 --- waybar/scripts/media-player.py | 2 +- waybar/scripts/system-update.sh | 86 ------- waybar/style.css | 354 ++++++--------------------- waybar/theme.css | 4 - 11 files changed, 132 insertions(+), 1039 deletions(-) delete mode 100644 waybar/animation.css delete mode 100755 waybar/scripts/brightness-control.sh delete mode 100755 waybar/scripts/cpu-temp.sh delete mode 100755 waybar/scripts/cpu-usage.sh delete mode 100755 waybar/scripts/system-update.sh diff --git a/fish/config.fish b/fish/config.fish index 9945ae7..3b5ec7c 100644 --- a/fish/config.fish +++ b/fish/config.fish @@ -3,7 +3,7 @@ if status is-interactive end function fish_greeting - owoii (random choice "hello there" "owo" ">w<" "I use Arch BTW") + owoii (random choice "hello" "owo" ">w<" "I use Arch BTW") end function owoii diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index 62b80da..d3ca7dc 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -16,8 +16,8 @@ ################ # See https://wiki.hyprland.org/Configuring/Monitors/ -monitor= eDP-1, 2256x1504@60, 0x0, 1 - +monitor = eDP-1, 2256x1504@60, 0x0, 1 +# monitor = DP-1, 1920x1080@60, 0x1504, 1 ################### ### MY PROGRAMS ### @@ -40,11 +40,12 @@ $menu = rofi -show drun # exec-once = $terminal # exec-once = nm-applet & -exec-once = waybar & hyprpaper & nm-applet +exec-once = launch-waybar & hyprpaper & nm-applet exec-once = dbus-update-activation-environment --systemd --all exec-once = kdeconnect-indicator exec-once = hypridle exec-once = wl-paste --watch cliphist store +exec-once = qpwgraph exec-once = XDG_MENU_PREFIX=arch- kbuildsycoca6 ############################# @@ -199,8 +200,9 @@ gestures { # Example per-device config # See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more device { - name = epic-mouse-v1 - sensitivity = -0.5 + name = huion-huion-tablet_gs1161-pen + transform = 0 + output = DP-1 } @@ -214,11 +216,12 @@ $mainMod = SUPER # Sets "Windows" key as main modifier # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, Q, exec, $terminal bind = Control_L&Shift_L, Q, killactive +bind = Control_L&alt, Q, forcekillactive bind = $mainMod, L, exec, hyprlock bind = alt&$mainMod, L, exit bind = $mainMod, F, exec, $fileManager bind = $mainMod&Shift_L, V, togglefloating, -bind = $mainMod, R, exec, $menu +bind = $mainMod, R, exec, rofi -show run bind = alt, space, exec, $menu bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, J, togglesplit, # dwindle @@ -268,6 +271,8 @@ bindl=,switch:Lid Switch, exec, hyprlock bind = SUPER, V, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy bind = , PRINT, exec, hyprshot -m region --clipboard-only bind = $shiftMod, PRINT, exec, hyprshot -m region +bind = Control_L&alt, space, exec, rofi -show calc -modi calc -no-show-match -no-sort +bind = Control_L&Shift_L, space, exec, flatpak run io.github.nokse22.minitext ############################## ### WINDOWS AND WORKSPACES ### @@ -287,3 +292,5 @@ windowrulev2 = suppressevent maximize, class:.* # Fix some dragging issues with XWayland windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 + +windowrulev2 = float, class:io.github.nokse22.minitext diff --git a/waybar/animation.css b/waybar/animation.css deleted file mode 100644 index 0384233..0000000 --- a/waybar/animation.css +++ /dev/null @@ -1,216 +0,0 @@ -/* <<--< PHASE 1 >-->> */ - -#custom-ws { - color: transparent; - text-shadow: none; - animation: module_in 0.25s ease-in 0.5s forwards; -} - -#custom-distro { - color: transparent; - font-size: 0; - text-shadow: none; - animation: distro_expand 0.25s ease-in 0.25s forwards, - distro_in 0.25s ease-in 0.5s forwards; -} - -#custom-power { - font-size: 0; - text-shadow: none; - animation: power_expand 0.25s ease-in 0.25s forwards, - power_in 0.25s ease-in 0.5s forwards; -} - -/* <<--< PHASE 2 >-->> */ - -#workspaces label { - opacity: 0; - animation: hoverable_in 0.25s ease-in 1s forwards; -} - -#cpu, -#clock.time, -#idle_inhibitor, -#battery, -#battery.warning, -#battery.critical, -#battery.charging { - font-size: 0; - text-shadow: none; - animation: module_expand 0.25s ease-in 0.75s forwards, - module_in 0.25s ease-in 1s forwards; -} - -#cpu { - animation: module_expand 0.25s ease-in 0.75s forwards, - module_in 0.25s ease-in 1s forwards; -} - -#clock.time { - animation: module_expand 0.25s ease-in 0.75s forwards, - module_in 0.25s ease-in 1s forwards; -} - -#idle_inhibitor { - animation: module_expand 0.25s ease-in 0.75s forwards, - hoverable_in 0.25s ease-in 1s forwards; -} - -#battery { - animation: module_expand 0.25s ease-in 0.75s forwards, - battery_in 0.25s ease-in 1s forwards; -} - -#battery.warning { - animation: module_expand 0.25s ease-in 0.75s forwards, - state_warning_in 0.25s ease-in 1s forwards; -} - -#battery.critical { - animation: module_expand 0.25s ease-in 0.75s forwards, - state_critical_in 0.25s ease-in 1s forwards; -} - -#battery.charging { - animation: module_expand 0.25s ease-in 0.75s forwards, - state_charging_in 0.25s ease-in 1s forwards; -} - -/* <<--< PHASE 3 >-->> */ - -#memory, -#backlight { - color: transparent; - font-size: 0; - text-shadow: none; - animation: module_expand 0.25s ease-in 1.15s forwards, - module_in 0.25s ease-in 1.4s forwards; -} - -#memory.warning { - color: transparent; - font-size: 0; - text-shadow: none; - animation: module_expand 0.25s ease-in 1.15s forwards, - state_warning_in 0.25s ease-in 1.4s forwards; -} - -#memory.critical { - color: transparent; - font-size: 0; - text-shadow: none; - animation: module_expand 0.25s ease-in 1.15s forwards, - state_critical_in 0.25s ease-in 1.4s forwards; -} - -#clock.date { - font-size: 0; - animation: module_expand 0.25s ease-in 1.15s forwards, - hoverable_in 0.25s ease-in 1.4s forwards; -} - -/* <<--< PHASE 4 >-->> */ - -#window, -#custom-media { - opacity: 0; - animation: hoverable_in 0.25s ease-in 1.75s forwards; -} - -#custom-cpuinfo, -#custom-wifi, -#bluetooth, -#custom-update, -#pulseaudio { - font-size: 0; - animation: module_expand 0.25s ease-in 1.5s forwards, - hoverable_in 0.25s ease-in 1.75s forwards; -} - -/* <<--< KEYFRAMES >-->> */ - -/* <<--< distro icon >-->> */ - -@keyframes distro_expand { - to { - font-size: 14.6px; - } -} - -@keyframes distro_in { - to { - color: @distro-fg; - text-shadow: 0 0 1.5px rgba(0, 0, 0, 1); - } -} - -/* <<--< power button >-->> */ - -@keyframes power_expand { - to { - font-size: 10px; - } -} - -@keyframes power_in { - to { - text-shadow: 0 0 2px rgba(0, 0, 0, 0.6); - } -} - -/* <<--< modules >-->> */ - -@keyframes module_expand { - to { - font-size: 10px; - } -} - -@keyframes module_in { - to { - color: @module-fg; - text-shadow: 0 0 2px rgba(0, 0, 0, 0.6); - } -} - -/* <<--< FIXES >-->> */ - -/* <<--< hoverables >-->> */ - -@keyframes hoverable_in { - to { - opacity: 1; - } -} - -/* <<--< battery >-->> */ - -@keyframes battery_in { - to { - color: @module-fg; - text-shadow: 0 0 2px rgba(0, 0, 0, 0.6); - } -} - -/* <<--< states >-->> */ - -@keyframes state_warning_in { - to { - color: @warning; - text-shadow: 0 0 2px rgba(0, 0, 0, 0.6); - } -} - -@keyframes state_critical_in { - to { - color: @critical; - text-shadow: 0 0 2px rgba(0, 0, 0, 0.6); - } -} - -@keyframes state_charging_in { - to { - color: @charging; - text-shadow: 0 0 2px rgba(0, 0, 0, 0.6); - } -} diff --git a/waybar/config.jsonc b/waybar/config.jsonc index 641f02b..4a0d176 100644 --- a/waybar/config.jsonc +++ b/waybar/config.jsonc @@ -8,78 +8,31 @@ // === Positions === "modules-left": [ - "custom/ws", // window icon - "custom/left1", - - "hyprland/workspaces", // workspaces - "custom/right1", - - "custom/paddw", - "hyprland/window" // window title + "hyprland/workspaces", + "clock", + "cava", + "custom/lyrics" ], "modules-center": [ - "custom/paddc", - "custom/left2", - "custom/cpuinfo", // temperature - - "custom/left3", - "memory", // memory - - "custom/left4", - // "custom/cpu", // cpu - "cpu", // cpu - "custom/leftin1", - - "custom/left5", - "custom/distro", // distro icon - "custom/right2", - - "custom/rightin1", - "idle_inhibitor", // idle inhibitor - "clock#time", // time - "custom/right3", - - "clock#date", // date - "custom/right4", - - "custom/wifi", // wi-fi - "bluetooth", // bluetooth - "custom/update", // system update - "custom/right5" + "hyprland/window" ], "modules-right": [ - "custom/media", // media info - + "custom/media", "tray", - - "custom/left6", - "pulseaudio", // output device - - "custom/left7", - // "custom/backlight", // brightness - "backlight", // brightness - - "custom/left8", - "battery", // battery - - "custom/leftin2", - "custom/power" // power button + "custom/wifi", + "bluetooth", + "pulseaudio", + "battery", + "custom/power" ], // === Modules === "tray": { "icon-size": 12, - "spacing": 10, - }, - - "custom/ws": { - "format": "  ", - "tooltip": false, - "min-length": 3, - "max-length": 3 + "spacing": 4 }, "hyprland/workspaces": { @@ -211,77 +164,8 @@ } }, - "custom/cpuinfo": { - "exec": "~/.config/waybar/scripts/cpu-temp.sh", - "return-type": "json", - "format": "{}", - "tooltip": true, - "interval": 5, - "min-length": 8, - "max-length": 8 - }, - - "memory": { - "states": { - "warning": 75, - "critical": 90 - }, - - "format": "󰘚 {percentage}%", - "format-critical": "󰀦 {percentage}%", - "tooltip": true, - "tooltip-format": "Memory Used: {used:0.1f} GB / {total:0.1f} GB", - "interval": 5, - "min-length": 7, - "max-length": 7 - }, - - // "custom/cpu": { - // "exec": "~/.config/waybar/scripts/cpu-usage.sh", - // "return-type": "json", - // "tooltip": true, - // "interval": 5, - // "min-length": 6, - // "max-length": 6 - // }, - - "cpu": { - "format": "󰻠 {usage}%", - "tooltip": false, - "interval": 5, - "min-length": 6, - "max-length": 6 - }, - - "custom/distro": { - "format": " ", - "tooltip": false - }, - - "idle_inhibitor": { - "format": "{icon}", - - "format-icons": { - "activated": "󱑎 ", - "deactivated": "󱑂 " - }, - - "tooltip": true, - "tooltip-format-activated": "Presentation Mode", - "tooltip-format-deactivated": "Idle Mode", - "start-activated": false - }, - - "clock#time": { - "format": "{:%H:%M}", - "tooltip": true, - "tooltip-format": "Standard Time: {:%I:%M %p}", - "min-length": 6, - "max-length": 6 - }, - - "clock#date": { - "format": "󰨳 {:%m-%d}", + "clock": { + "format": "{:%m-%d %H:%M}", "tooltip-format": "{calendar}", "calendar": { @@ -302,10 +186,7 @@ "actions": { "on-click": "mode", "on-click-right": "mode" - }, - - "min-length": 8, - "max-length": 8 + } }, "custom/wifi": { @@ -314,7 +195,7 @@ "format": "{}", "tooltip": true, "on-click": "~/.config/waybar/scripts/wifi-menu.sh", - "on-click-right": "kitty --title '󰤨 Network Manager TUI' bash -c nmtui", + "on-click-right": "kitty --title '󰤨 Network Manager TUI' bash -c nmtui", "interval": 1, "min-length": 1, "max-length": 1 @@ -344,17 +225,6 @@ "max-length": 1 }, - "custom/update": { - "exec": "~/.config/waybar/scripts/system-update.sh", - "return-type": "json", - "format": "{}", - "on-click": "hyprctl dispatch exec '~/.config/waybar/scripts/system-update.sh up'", - "interval": 30, - "tooltip": true, - "min-length": 1, - "max-length": 1 - }, - "custom/media": { "exec": "~/.config/waybar/scripts/media-player.py", "return-type": "json", @@ -362,7 +232,14 @@ "tooltip": "{tooltip}", "on-click": "playerctl play-pause", "min-length": 5, - "max-length": 35 + "max-length": 45 + }, + + "custom/lyrics": { + "exec": "sptlrx pipe", + "return-type": "text", + "format": "{}", + "tooltip": "{tooltip}" }, "pulseaudio": { @@ -384,28 +261,6 @@ "max-length": 6 }, - // "custom/backlight": { - // "exec": "~/.config/waybar/scripts/brightness-control.sh", - // "return-type": "json", - // "format": "{}", - // "tooltip": true, - // "on-scroll-up": "~/.config/waybar/scripts/brightness-control.sh -o i", - // "on-scroll-down": "~/.config/waybar/scripts/brightness-control.sh -o d", - // "interval": 1, - // "min-length": 6, - // "max-length": 6 - // }, - - "backlight": { - "format": "{icon} {percent}%", - "format-icons": ["", "", "", "", "", "", "", "", ""], - "tooltip": false, - "on-scroll-up": "brightnessctl set 2%+", - "on-scroll-down": "brightnessctl set 2%-", - "min-length": 6, - "max-length": 6 - }, - "battery": { "states": { "warning": 30, @@ -432,91 +287,23 @@ "on-click": "~/.config/waybar/scripts/power-menu.sh" }, - // === Padding === - - "custom/paddw": { - "format": " ", - "tooltip": false - }, - - "custom/paddc": { - "format": " ", - "tooltip": false - }, - - // == Left Arrows == - - "custom/left1": { - "format": "", - "tooltip": false - }, - "custom/left2": { - "format": "", - "tooltip": false - }, - "custom/left3": { - "format": "", - "tooltip": false - }, - "custom/left4": { - "format": "", - "tooltip": false - }, - "custom/left5": { - "format": "", - "tooltip": false - }, - "custom/left6": { - "format": "", - "tooltip": false - }, - "custom/left7": { - "format": "", - "tooltip": false - }, - "custom/left8": { - "format": "", - "tooltip": false - }, - - // == Right Arrows == - - "custom/right1": { - "format": "", - "tooltip": false - }, - "custom/right2": { - "format": "", - "tooltip": false - }, - "custom/right3": { - "format": "", - "tooltip": false - }, - "custom/right4": { - "format": "", - "tooltip": false - }, - "custom/right5": { - "format": "", - "tooltip": false - }, - - // == Left Inverse == - - "custom/leftin1": { - "format": "", - "tooltip": false - }, - "custom/leftin2": { - "format": "", - "tooltip": false - }, - - // == Right Inverse == - - "custom/rightin1": { - "format": "", - "tooltip": false - } + "cava": { + //"cava_config": "$XDG_CONFIG_HOME/cava/cava.conf", + "framerate": 60, + "autosens": 1, + //"sensitivity": 10, + "bars": 25, + "lower_cutoff_freq": 20, + "higher_cutoff_freq": 20000, + "method": "pulse", + "source": "auto", + "stereo": true, + "reverse": false, + "bar_delimiter": 0, + "monstercat": false, + "waves": false, + "noise_reduction": 0.2, + "input_delay": 1, + "format-icons" : ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█" ] + } } diff --git a/waybar/scripts/brightness-control.sh b/waybar/scripts/brightness-control.sh deleted file mode 100755 index 1a8b6fe..0000000 --- a/waybar/scripts/brightness-control.sh +++ /dev/null @@ -1,92 +0,0 @@ -#!/usr/bin/env bash - -# Print error message for invalid arguments -print_error() { - cat <<"EOF" -Usage: ./brightnesscontrol.sh -Valid actions are: - i -- ncrease brightness [+2%] - d -- ecrease brightness [-2%] -EOF -} - -# Send a notification with brightness info -send_notification() { - brightness=$(brightnessctl info | grep -oP "(?<=\()\d+(?=%)") - notify-send -r 91190 "Brightness: ${brightness}%" -} - -# Get the current brightness percentage and device name -get_brightness() { - brightness=$(brightnessctl -m | grep -o '[0-9]\+%' | head -c-2) - device=$(brightnessctl -m | head -n 1 | awk -F',' '{print $1}' | sed 's/_/ /g; s/\<./\U&/g') # Get device name - current_brightness=$(brightnessctl -m | head -n 1 | awk -F',' '{print $3}') # Get current brightness - max_brightness=$(brightnessctl -m | head -n 1 | awk -F',' '{print $5}') # Get max brightness -} -get_brightness - -# Handle options -while getopts o: opt; do - case "${opt}" in - o) - case $OPTARG in - i) # Increase brightness - if [[ $brightness -lt 10 ]]; then - brightnessctl set +1% - else - brightnessctl set +2% - fi - send_notification - ;; - d) # Decrease brightness - if [[ $brightness -le 1 ]]; then - brightnessctl set 1% - elif [[ $brightness -le 10 ]]; then - brightnessctl set 1%- - else - brightnessctl set 2%- - fi - send_notification - ;; - *) - print_error - ;; - esac - ;; - *) - print_error - ;; - esac -done - -# Determine the icon based on brightness level -get_icon() { - if ((brightness <= 5)); then - icon="" - elif ((brightness <= 15)); then - icon="" - elif ((brightness <= 30)); then - icon="" - elif ((brightness <= 45)); then - icon="" - elif ((brightness <= 55)); then - icon="" - elif ((brightness <= 65)); then - icon="" - elif ((brightness <= 80)); then - icon="" - elif ((brightness <= 95)); then - icon="" - else - icon="" - fi -} - -# Backlight module and tooltip -get_icon -module="${icon} ${brightness}%" - -tooltip="Device Name: ${device}" -tooltip+="\nBrightness: ${current_brightness} / ${max_brightness}" - -echo "{\"text\": \"${module}\", \"tooltip\": \"${tooltip}\"}" diff --git a/waybar/scripts/cpu-temp.sh b/waybar/scripts/cpu-temp.sh deleted file mode 100755 index 17afd40..0000000 --- a/waybar/scripts/cpu-temp.sh +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env bash - -model=$(awk -F ': ' '/model name/{print $2}' /proc/cpuinfo | head -n 1 | sed 's/@.*//; s/ *\((R)\|(TM)\)//g; s/^[ \t]*//; s/[ \t]*$//') - -# Get CPU clock speeds -get_cpu_frequency() { - freqlist=$(awk '/cpu MHz/ {print $4}' /proc/cpuinfo) - maxfreq=$(sed 's/...$//' /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq) - average_freq=$(echo "$freqlist" | tr ' ' '\n' | awk "{sum+=\$1} END {printf \"%.0f/%s MHz\", sum/NR, $maxfreq}") - echo "$average_freq" -} - -# Get CPU temperature -get_cpu_temperature() { - temp=$(sensors | awk '/Package id 0/ {print $4}' | awk -F '[+.]' '{print $2}') - if [[ -z "$temp" ]]; then - temp=$(sensors | awk '/Tctl/ {print $2}' | tr -d '+°C') - fi - if [[ -z "$temp" ]]; then - temp="N/A" - else - temp_f=$(awk "BEGIN {printf \"%.1f\", ($temp * 9 / 5) + 32}") - fi - echo "${temp:-N/A} ${temp_f:-N/A}" -} - -# Get the corresponding icon based on temperature -get_temperature_icon() { - temp_value=$1 - if [ "$temp_value" -ge 80 ]; then - icon="󰸁" # High temperature - elif [ "$temp_value" -ge 70 ]; then - icon="󱃂" # Medium temperature - elif [ "$temp_value" -ge 60 ]; then - icon="󰔏" # Normal temperature - else - icon="󱃃" # Low temperature - fi - echo "$icon" -} - -# Main script execution -cpu_frequency=$(get_cpu_frequency) -read -r temp_info < <(get_cpu_temperature) -temp=$(echo "$temp_info" | awk '{print $1}') # Celsius -temp_f=$(echo "$temp_info" | awk '{print $2}') # Fahrenheit - -# Determine the temperature icon -thermo_icon=$(get_temperature_icon "$temp") - -# Set color based on temperature -if [ "$temp" -ge 80 ]; then - # If temperature is >= 80%, set color to #f38ba8 - text_output="${thermo_icon} ${temp}°C" -else - # Default color - text_output="${thermo_icon} ${temp}°C" -fi - -tooltip="${model}\n" -tooltip+="Clock Speed: ${cpu_frequency}\nTemperature: ${temp_f}°F" - -# Module and tooltip -echo "{\"text\": \"$text_output\", \"tooltip\": \"$tooltip\"}" diff --git a/waybar/scripts/cpu-usage.sh b/waybar/scripts/cpu-usage.sh deleted file mode 100755 index b21e0d3..0000000 --- a/waybar/scripts/cpu-usage.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env bash - -# Get CPU model (removed "(R)", "(TM)", and clock speed) -model=$(awk -F ': ' '/model name/{print $2}' /proc/cpuinfo | head -n 1 | sed 's/@.*//; s/ *\((R)\|(TM)\)//g; s/^[ \t]*//; s/[ \t]*$//') - -# Get CPU usage percentage -load=$(vmstat 1 2 | tail -1 | awk '{print 100 - $15}') - -# Determine CPU state based on usage -if [ "$load" -ge 80 ]; then - state="Critical" -elif [ "$load" -ge 60 ]; then - state="High" -elif [ "$load" -ge 25 ]; then - state="Moderate" -else - state="Low" -fi - -# Set color based on CPU load -if [ "$load" -ge 80 ]; then - # If CPU usage is >= 80%, set color to #f38ba8 - text_output="󰀩 ${load}%" -else - # Default color - text_output="󰻠 ${load}%" -fi - -tooltip="${model}" -tooltip+="\nCPU Usage: ${state}" - -# Module and tooltip -echo "{\"text\": \"$text_output\", \"tooltip\": \"$tooltip\"}" diff --git a/waybar/scripts/media-player.py b/waybar/scripts/media-player.py index 73faf44..e2fe511 100755 --- a/waybar/scripts/media-player.py +++ b/waybar/scripts/media-player.py @@ -20,7 +20,7 @@ def signal_handler(sig, frame): sys.stdout.write("\n") sys.stdout.flush() sys.exit(0) - + class PlayerManager: def __init__(self, selected_player=None, excluded_players=[]): self.manager = Playerctl.PlayerManager() diff --git a/waybar/scripts/system-update.sh b/waybar/scripts/system-update.sh deleted file mode 100755 index 086a5dd..0000000 --- a/waybar/scripts/system-update.sh +++ /dev/null @@ -1,86 +0,0 @@ -#!/usr/bin/env bash - -# Check release -if [ ! -f /etc/arch-release ]; then - exit 0 -fi - -pkg_installed() { - local pkg=$1 - - if pacman -Qi "${pkg}" &>/dev/null; then - return 0 - elif pacman -Qi "flatpak" &>/dev/null && flatpak info "${pkg}" &>/dev/null; then - return 0 - elif command -v "${pkg}" &>/dev/null; then - return 0 - else - return 1 - fi -} - -get_aur_helper() { - if pkg_installed yay; then - aur_helper="yay" - elif pkg_installed paru; then - aur_helper="paru" - fi -} - -get_aur_helper -export -f pkg_installed - -# Trigger upgrade -if [ "$1" == "up" ]; then - trap 'pkill -RTMIN+20 waybar' EXIT - command=" - $0 upgrade - ${aur_helper} -Syu - if pkg_installed flatpak; then flatpak update; fi - printf '\n' - read -n 1 -p 'Press any key to continue...' - " - kitty --title "󰞒 System Update" sh -c "${command}" -fi - -# Check for AUR updates -if [ -n "$aur_helper" ]; then - aur_updates=$(${aur_helper} -Qua | grep -c '^') -else - aur_updates=0 -fi - -# Check for official repository updates -official_updates=$( - (while pgrep -x checkupdates >/dev/null; do sleep 1; done) - checkupdates | grep -c '^' -) - -# Check for Flatpak updates -if pkg_installed flatpak; then - flatpak_updates=$(flatpak remote-ls --updates | grep -c '^') -else - flatpak_updates=0 -fi - -# Calculate total available updates -total_updates=$((official_updates + aur_updates + flatpak_updates)) - -# Handle formatting based on AUR helper -if [ "$aur_helper" == "yay" ]; then - [ "${1}" == upgrade ] && printf "Official: %-10s\nAUR ($aur_helper): %-10s\nFlatpak: %-10s\n\n" "$official_updates" "$aur_updates" "$flatpak_updates" && exit - - tooltip="Official: $official_updates\nAUR ($aur_helper): $aur_updates\nFlatpak: $flatpak_updates" - -elif [ "$aur_helper" == "paru" ]; then - [ "${1}" == upgrade ] && printf "Official: %-10s\nAUR ($aur_helper): %-10s\nFlatpak: %-10s\n\n" "$official_updates" "$aur_updates" "$flatpak_updates" && exit - - tooltip="Official: $official_updates\nAUR ($aur_helper): $aur_updates\nFlatpak: $flatpak_updates" -fi - -# Module and tooltip -if [ $total_updates -eq 0 ]; then - echo "{\"text\":\"󰸟\", \"tooltip\":\"Packages are up to date\"}" -else - echo "{\"text\":\"󰞒\", \"tooltip\":\"${tooltip//\"/\\\"}\"}" -fi diff --git a/waybar/style.css b/waybar/style.css index ab814e8..0afdcc8 100644 --- a/waybar/style.css +++ b/waybar/style.css @@ -1,40 +1,30 @@ * { font-family: "JetBrainsMono Nerd Font"; font-weight: bold; - font-size: 16px; + font-size: 12px; min-height: 0; padding: 0; border: none; - margin: 0; + margin: 2px; } -@import "theme.css"; - /* === Main Background === */ window#waybar { - background: @main-bg; -} - -/* === Drop Shadow === */ - -window#waybar > box { - background-color: transparent; - box-shadow: 0 0 2px 1px rgba(0, 0, 0, 1); - margin: 2px; + background: transparent; } /* === Tooltip === */ tooltip { - background: @main-bg; + background: #11111b; border: solid; border-width: 1.5px; border-radius: 8px; - border-color: @main-br; + border-color: #cdd6f4; } tooltip label { - color: @main-fg; + color: #c7a4de; font-weight: normal; margin: -1.5px 3px; } @@ -42,7 +32,6 @@ tooltip label { /* === Workspace Buttons === */ #workspaces button { - color: @module-fg; border-radius: 8px; box-shadow: none; margin: 2px 0; @@ -50,334 +39,139 @@ tooltip label { transition: none; } #workspaces button:hover { - color: @hover-fg; - background: @hover-bg; + color: #11111b; + background: #c7a4de; text-shadow: none; box-shadow: none; } #workspaces button.active { - color: @active-fg; - background: @active-bg; - text-shadow: 0 0 2px rgba(0, 0, 0, 0.6); - box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.4); - margin: 2px; + color: #11111b; + background: #885ab0; + margin: 3px 0; padding: 0 6px; } -/* === General === */ - -#custom-ws, -#workspaces, -#window, -#custom-cpuinfo, -#memory, -#cpu, -#idle_inhibitor, -#clock, -#custom-wifi, -#bluetooth, -#custom-update, -#custom-media, -#pulseaudio, -#backlight, -#battery, -#custom-power { - opacity: 1; - color: @module-fg; - padding: 0 4px; - text-shadow: 0 0 2px rgba(0, 0, 0, 0.6); -} - -#custom-left1, -#custom-left2, -#custom-left3, -#custom-left4, -#custom-left5, -#custom-left6, -#custom-left7, -#custom-left8 { - font-size: 22.68px; - margin-bottom: 0; - text-shadow: -2px 0 2px rgba(0, 0, 0, 0.5); -} - -#custom-right1, -#custom-right2, -#custom-right3, -#custom-right4, -#custom-right5 { - font-size: 22.68px; - margin-bottom: 0; - padding-right: 3px; - text-shadow: 2px 0 2px rgba(0, 0, 0, 0.5); -} - -/* === Modules === */ - -/* == Window Icon == */ - -#custom-ws { - background: @main-bg; -} - /* == Workspaces == */ -#custom-left1 { - color: @workspaces; - background: @main-bg; - font-size: 22.68px; - margin-bottom: 0; - padding-left: 2px; -} #workspaces { - background: @workspaces; -} -#custom-right1 { - color: @workspaces; - background: @main-bg; - font-size: 22.68px; - text-shadow: 3px 0 2px rgba(0, 0, 0, 0.4); - margin-bottom: 0; -} - -/* == Temperature == */ - -#custom-paddc { - padding-right: 22px; -} -#custom-left2 { - color: @cpuinfo; - background: @main-bg; - padding-left: 3px; -} -#custom-cpuinfo { - background: @cpuinfo; - padding-left: 1px; - padding-right: 0; -} - -/* == Memory == */ - -#custom-left3 { - color: @memory; - background: @cpuinfo; - padding-left: 3px; -} -#memory { - background: @memory; - padding-left: 1px; - padding-right: 0; -} -#memory.warning { - color: @warning; -} -#memory.critical { - color: @critical; -} - -/* == CPU == */ - -#custom-left4 { - color: @cpu; - background: @memory; - padding-left: 3px; -} -#cpu { - background: @cpu; -} -#custom-leftin1 { - color: @cpu; - font-size: 23.5px; - margin-bottom: -1px; -} - -/* == Distro Icon == */ - -#custom-left5 { - color: @distro-bg; - background: @main-bg; - font-size: 22.68px; - text-shadow: -2px 0 2px rgba(0, 0, 0, 0.6); - margin-bottom: 0px; - padding-left: 3px; -} -#custom-distro { - color: @distro-fg; - background: @distro-bg; - font-size: 14.6px; - margin: 0 -1px -2px 0; - padding: 0 0 0 3px; - text-shadow: 0 0 1.5px rgba(0, 0, 0, 1); -} -#custom-right2 { - color: @distro-bg; - background: @main-bg; - font-size: 22.68px; - margin-bottom: 0px; + background: #11111b; + padding: 0 4px; + border-radius: 7px; } /* == Time == */ -#custom-rightin1 { - color: @time; - font-size: 23.5px; - margin-bottom: -1px; -} -#idle_inhibitor { - background: @time; - margin-right: -2px; - padding: 0 0 0 7px; -} -#idle_inhibitor:hover { - color: @hover-fg; - text-shadow: none; - box-shadow: none; -} -#clock.time { - background: @time; - padding: 0 3px 0 0; -} -#custom-right3 { - color: @time; - background: @date; -} - -/* == Date == */ - -#clock.date { - background: @date; -} -#clock.date:hover { - color: @hover-fg; - text-shadow: none; - box-shadow: none; -} -#custom-right4 { - color: @date; - background: @tray; +#clock { + background: #11111b; + padding: 0 8px; + border-radius: 7px; } /* == Tray == */ #custom-wifi { - padding-left: 5px; - padding-right: 8px; - background: @tray; + padding-left: 8px; + padding-right: 11px; + background: #11111b; + border-radius: 7px; } #custom-wifi:hover { - color: @hover-fg; + color: #c7a4de; text-shadow: none; box-shadow: none; } #bluetooth { - padding-right: 5px; - background: @tray; + padding-right: 8px; + padding-left: 8px; + background: #11111b; + border-radius: 7px; } #bluetooth:hover { - color: @hover-fg; + color: #c7a4de; text-shadow: none; box-shadow: none; } -#custom-update { - padding-right: 8px; - background: @tray; -} -#custom-update:hover { - color: @hover-fg; - text-shadow: none; - box-shadow: none; -} -#custom-right5 { - color: @tray; - background: @main-bg; -} - /* == Media Info == */ #custom-media { font-weight: normal; - background-color: @main-bg; + background-color: #11111b; padding-right: 8px; padding-left: 8px; + border-radius: 7px; } #custom-media:hover { - color: @hover-fg; + color: #c7a4de; text-shadow: none; box-shadow: none; } /* == Output Device == */ -#custom-left6 { - color: @pulseaudio; - background: @main-bg; - padding-left: 3px; -} #pulseaudio { - background: @pulseaudio; + background: #11111b; + padding: 0 8px; + border-radius: 7px; } + #pulseaudio:hover { - color: @hover-fg; + color: #c7a4de; text-shadow: none; box-shadow: none; } -/* == Brightness == */ - -#custom-left7 { - color: @backlight; - background: @pulseaudio; - padding-left: 2px; -} -#backlight { - background: @backlight; -} - /* == Battery == */ -#custom-left8 { - color: @battery; - background: @backlight; - padding-left: 2px; -} #battery { - color: @module-fg; - background: @battery; -} -#battery.warning { - color: @warning; -} -#battery.critical { - color: @critical; -} -#battery.charging { - color: @charging; + background: #11111b; + padding: 0 8px; + border-radius: 7px; } /* == Power Button == */ -#custom-leftin2 { - color: @battery; - background: @main-bg; - font-size: 23.5px; - margin-bottom: -1px; -} #custom-power { - color: @main-bg; - background: @power; - text-shadow: 0 0 2px rgba(0, 0, 0, 0.6); - box-shadow: 1px 0 2px 1px rgba(0, 0, 0, 0.6); - border-radius: 10px; - margin: 2px 4px 2px 0; + color: #11111b; + background: #885ab0; + border-radius: 7px; padding: 0 6px 0 9px; } #custom-power:hover { - color: @hover-fg; - background: @hover-bg; + background: #c7a4de; text-shadow: none; box-shadow: none; } -@import "animation.css"; +/* == Tray == */ + +#tray { + background: #11111b; + padding: 0 4px; + border-radius: 7px; +} + +/* == Lyrics == */ + +#custom-lyrics { + background: #11111b; + padding: 0 8px; + border-radius: 7px; +} + +/* == Cava == */ + +#cava { + background: #11111b; + padding: 0 8px; + border-radius: 7px; +} + +/* == Window == */ + +#window { + background: #11111b; + padding: 0 8px; + border-radius: 7px; +} \ No newline at end of file diff --git a/waybar/theme.css b/waybar/theme.css index 8710796..07986d8 100644 --- a/waybar/theme.css +++ b/waybar/theme.css @@ -6,10 +6,6 @@ /* Main Colors */ -@define-color main-fg #c7a4de; -@define-color main-bg #11111b; -@define-color main-br #cdd6f4; - @define-color active-bg #885ab0; @define-color active-fg #11111b;