Clean and polish Eww bar
This commit is contained in:
parent
68d4d48276
commit
c5d23666a5
34
eww/eww.scss
34
eww/eww.scss
|
@ -29,20 +29,19 @@
|
|||
color: #1d1f21;
|
||||
}
|
||||
|
||||
.right_status button {
|
||||
.powermenu {
|
||||
all: unset;
|
||||
color: #1d2594;
|
||||
margin-right: 23px;
|
||||
font-size: 30px;
|
||||
}
|
||||
|
||||
} .metric scale trough highlight {
|
||||
} .zero scale trough highlight {
|
||||
all: unset;
|
||||
background-color: #cc6666;
|
||||
background-image: linear-gradient(to right, #81a2be, #8abeb7, #b294bb);
|
||||
background-color: #373b41;
|
||||
border-radius: 10px;
|
||||
min-width: 7px;
|
||||
} .metric scale trough {
|
||||
min-width: 100px;
|
||||
} .zero scale trough {
|
||||
all: unset;
|
||||
background-color: #373b41;
|
||||
border-radius: 50px;
|
||||
|
@ -52,6 +51,29 @@
|
|||
margin-right: 15px;
|
||||
}
|
||||
|
||||
} .non-zero scale trough highlight {
|
||||
all: unset;
|
||||
background-color: #cc6666;
|
||||
background-image: linear-gradient(to right, #81a2be, #8abeb7, #b294bb);
|
||||
border-radius: 10px;
|
||||
min-width: 7px;
|
||||
} .non-zero scale trough {
|
||||
all: unset;
|
||||
background-color: #373b41;
|
||||
border-radius: 50px;
|
||||
min-height: 10px;
|
||||
min-width: 100px;
|
||||
margin-left: 13px;
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
.label {
|
||||
color: #c5c8c6;
|
||||
}
|
||||
.label:hover {
|
||||
color: #cc6666;
|
||||
}
|
||||
|
||||
.workspaces button {
|
||||
color: #c5c8c6;
|
||||
font-size: 17px;
|
||||
|
|
59
eww/eww.yuck
59
eww/eww.yuck
|
@ -1,14 +1,16 @@
|
|||
;; Bars
|
||||
|
||||
;; Variables
|
||||
(defpoll volume :interval "1s"
|
||||
"pactl get-sink-volume $(pactl get-default-sink) | awk '{print $5}' | head -n1")
|
||||
(defvar volume "100")
|
||||
(defvar brightness "100")
|
||||
|
||||
;; Minimum width for sliders start at 7px. If the value is zero, then the slider is made empty.
|
||||
(defvar metric-volume "non-zero")
|
||||
(defvar metric-brightness "non-zero")
|
||||
|
||||
(defpoll time :interval "10s"
|
||||
"date '+%H:%M %b %d, %Y'")
|
||||
|
||||
(defvar logo "")
|
||||
|
||||
(deflisten music :initial ""
|
||||
"playerctl --follow metadata --format '{{ artist }} - {{ title }}' || true")
|
||||
|
||||
|
@ -61,16 +63,19 @@
|
|||
;; right
|
||||
(defwidget right_status []
|
||||
(box :class "right_status" :orientation "h" :space-evenly false :halign "end"
|
||||
(metric :label ""
|
||||
:value volume
|
||||
:onchange "pactl set-sink-volume $(pactl get-default-sink) {}%")
|
||||
(metric :label ""
|
||||
:value {EWW_RAM.used_mem_perc}
|
||||
:onchange "")
|
||||
(metric :label ""
|
||||
:value {EWW_CPU.avg}
|
||||
:onchange "")
|
||||
(button :onclick "echo" "")))
|
||||
(metric-volume :label ""
|
||||
:value volume
|
||||
:onchange "scripts/change-volume.sh {}%")
|
||||
(metric-brightness :label ""
|
||||
:value brightness
|
||||
:onchange "scripts/change-brightness.sh {}%")
|
||||
;(metric :label ""
|
||||
; :value {EWW_RAM.used_mem_perc}
|
||||
; :onchange "")
|
||||
;(metric :label ""
|
||||
; :value {EWW_CPU.avg}
|
||||
; :onchange "")
|
||||
(button :class "powermenu" :onclick "echo" "")))
|
||||
|
||||
;; monitor 0
|
||||
(defwidget workspaces_monitor_0 []
|
||||
|
@ -114,24 +119,30 @@
|
|||
:halign "center"
|
||||
{music != "" ? "🎵${music}" : ""}))
|
||||
|
||||
(defwidget metric [label value onchange]
|
||||
;; Volume slider
|
||||
(defwidget metric-volume [label value onchange]
|
||||
(box :orientation "h"
|
||||
:class "metric"
|
||||
:class metric-volume
|
||||
:space-evenly false
|
||||
(box :class "label" label)
|
||||
(button :class "label" :onclick "scripts/toggle-volume.sh" label)
|
||||
(scale :min 0
|
||||
:max 100
|
||||
:active {onchange != ""}
|
||||
:value value
|
||||
:onchange onchange)))
|
||||
|
||||
;; Brightness slider
|
||||
(defwidget metric-brightness [label value onchange]
|
||||
(box :orientation "h"
|
||||
:class metric-brightness
|
||||
:space-evenly false
|
||||
(button :class "label" :onclick "scripts/toggle-brightness.sh" label)
|
||||
(scale :min 0
|
||||
:max 101
|
||||
:active {onchange != ""}
|
||||
:value value
|
||||
:onchange onchange)))
|
||||
|
||||
;; logo
|
||||
(defwidget logo [text]
|
||||
(box :orientation "h"
|
||||
:class "logo"
|
||||
(scale :min 0
|
||||
:max 101)))
|
||||
|
||||
;; Total Window definitions
|
||||
;; monitor 0
|
||||
(defwindow bar0
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
true
|
|
@ -0,0 +1 @@
|
|||
0
|
|
@ -0,0 +1 @@
|
|||
63
|
|
@ -0,0 +1,13 @@
|
|||
#!/bin/sh
|
||||
doas /usr/bin/brightnessctl s $1
|
||||
|
||||
BRIGHTNESS=$(echo $1 | sed 's/%//')
|
||||
|
||||
eww update brightness=$BRIGHTNESS
|
||||
|
||||
if [ $BRIGHTNESS -le 1 ]; then
|
||||
eww update metric-brightness="zero"
|
||||
else
|
||||
eww update metric-brightness="non-zero"
|
||||
fi
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
#!/bin/sh
|
||||
SINK=$(pactl get-default-sink)
|
||||
|
||||
pactl set-sink-volume $SINK $1
|
||||
|
||||
VOLUME=$(pactl get-sink-volume $SINK | awk '{print $5}' | head -n1 | sed 's/%//')
|
||||
|
||||
eww update volume=$VOLUME
|
||||
|
||||
if [ $VOLUME -eq 0 ]; then
|
||||
eww update metric-volume="zero"
|
||||
else
|
||||
eww update metric-volume="non-zero"
|
||||
fi
|
|
@ -0,0 +1,19 @@
|
|||
#!/bin/sh
|
||||
STATUS_FILE="$HOME/.config/eww/scripts/.previous-brightness"
|
||||
STATUS_FILE2="$HOME/.config/eww/scripts/.brightness-off"
|
||||
BRIGHTNESS=$(brightnessctl | head -2 | tail +2 | awk '{print $4}' | tr -cd '[[:digit:]]')
|
||||
|
||||
if $(cat $STATUS_FILE2); then
|
||||
doas /usr/bin/brightnessctl s $(cat $STATUS_FILE)%
|
||||
eww update brightness=$(cat $STATUS_FILE)
|
||||
if [ $(eww get brightness) -ne 0 ]; then
|
||||
eww update metric-brightness="non-zero"
|
||||
fi
|
||||
echo false > $STATUS_FILE2
|
||||
else
|
||||
eww update brightness=0
|
||||
eww update metric-brightness="zero"
|
||||
echo $BRIGHTNESS > $STATUS_FILE
|
||||
echo true > $STATUS_FILE2
|
||||
doas /usr/bin/brightnessctl s 0%
|
||||
fi
|
|
@ -0,0 +1,15 @@
|
|||
#!/bin/sh
|
||||
STATUS_FILE="$HOME/.config/eww/scripts/.previous-volume"
|
||||
SINK=$(pactl get-default-sink)
|
||||
VOLUME=$(pactl get-sink-volume $SINK | awk '{print $5}' | head -n1 | sed 's/%//')
|
||||
|
||||
if [ $VOLUME -eq 0 ]; then
|
||||
pactl set-sink-volume $SINK $(cat $STATUS_FILE)%
|
||||
if [ $(eww get volume) -ne 0 ]; then
|
||||
eww update metric-volume="non-zero"
|
||||
fi
|
||||
else
|
||||
pactl set-sink-volume $SINK 0%
|
||||
echo $VOLUME > $STATUS_FILE
|
||||
eww update metric-volume="zero"
|
||||
fi
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
SINK=$(pactl get-default-sink)
|
||||
pactl get-sink-volume $SINK | awk '{print $5}' | head -n1 | sed 's/%//'
|
Loading…
Reference in New Issue