diff --git a/desktopenvs/hyprland/eww/eww.yuck b/desktopenvs/hyprland/eww/eww.yuck index 945a67b..5f5859a 100644 --- a/desktopenvs/hyprland/eww/eww.yuck +++ b/desktopenvs/hyprland/eww/eww.yuck @@ -15,20 +15,22 @@ (defwidget bar [monitor_] (centerbox :orientation "h" - (workspaceWidget :monitor monitor_) + (winsworks :monitor monitor_) (music) (sidestuff))) - +(defwidget winsworks [monitor] + (box :orientation "h" :space-evenly false :halign "start" + (workspaceWidget :monitor monitor) + (box :class "music" activewindow) + ) +) (defwidget sidestuff [] (box :class "sidestuff" :orientation "h" :space-evenly false :halign "end" (metric :label "󰓃" :value volume - :onchange "amixer -D pulse sset Master {}%") - (metric :label "" - :value {EWW_RAM.used_mem_perc} - :onchange "") + :onchange "pactl set-sink-volume @DEFAULT_SINK@ {}%") (metric :label "" :value {round((1 - (EWW_DISK["/"].free / EWW_DISK["/"].total)) * 100, 0)} :onchange "") @@ -74,9 +76,13 @@ (literal :content workspace-old)) (deflisten music :initial "" - "playerctl --follow metadata --format '{{ artist }} - {{ title }}' || true") + "playerctl --follow metadata --format '{{ title }}' || true") -(defpoll volume :interval "1s" + +(defpoll activewindow :interval "0.5s" + "scripts/activewindow") + +(defpoll volume :interval "0.5s" "scripts/getvol") (defpoll time :interval "1s" diff --git a/desktopenvs/hyprland/eww/scripts/activewindow b/desktopenvs/hyprland/eww/scripts/activewindow new file mode 100755 index 0000000..4698da1 --- /dev/null +++ b/desktopenvs/hyprland/eww/scripts/activewindow @@ -0,0 +1,18 @@ +#!/bin/bash +trunc=32 +sample=$(hyprctl activewindow | grep title: | awk -F: '{print $2}') + +#echo ${sample} + +if [ ${#sample} -gt $trunc ]; then + echo $sample | head -c $trunc | sed 's/$/.../' +else + if [ ${#sample} -ne 0 ]; then + echo $sample + else + echo None + fi +fi + +#hyprctl activewindow | grep title: | awk -F: '{print $2}' | head -c $trunc | sed 's/$/.../' +