big refactoring
This commit is contained in:
@@ -1,92 +1,221 @@
|
||||
;; /-- Variables -->
|
||||
(defpoll windows
|
||||
:interval "1s"
|
||||
:initial "-"
|
||||
`sh ~/.config/eww/scripts/xmonad_logs.sh`)
|
||||
;; /-- Bar -->
|
||||
|
||||
(defpoll micClass
|
||||
:interval "1s"
|
||||
:initial "micOff"
|
||||
`sh ~/.config/eww/scripts/mic_class.sh`)
|
||||
(defwindow bar []
|
||||
:geometry (geometry
|
||||
:x "0px"
|
||||
:y "0px"
|
||||
:width "100%"
|
||||
:height "25px"
|
||||
:anchor "top center"
|
||||
)
|
||||
:reserve (struts
|
||||
:distance "25px"
|
||||
:side "top")
|
||||
:exclusive true
|
||||
:layer "top"
|
||||
:windowtype "dock"
|
||||
(box
|
||||
:orientation "horizontal"
|
||||
:space-evenly false
|
||||
:class "bar"
|
||||
;;(widgetWorkspaces)
|
||||
;;(widgetLogSeperator)
|
||||
;;(widgetLayouts)
|
||||
;;(widgetLogSeperator)
|
||||
;;(widgetWindows)
|
||||
(box :hexpand true)
|
||||
(idle_inhibitor)
|
||||
(widSep)
|
||||
(WidgetAudio)
|
||||
(widSep)
|
||||
(widgetBacklight)
|
||||
(widSep)
|
||||
(widgetCpu)
|
||||
(widSep)
|
||||
(widgetMemory)
|
||||
(widSep)
|
||||
(widgetBattery)
|
||||
(widSep)
|
||||
(widgetNetwork)
|
||||
(widSep)
|
||||
(widgetTime)
|
||||
)
|
||||
)
|
||||
|
||||
(defpoll micIcon
|
||||
:interval "1s"
|
||||
:initial ""
|
||||
`sh ~/.config/eww/scripts/mic_icon.sh`)
|
||||
;; /-- Widget Separator -->
|
||||
|
||||
(defpoll speakerClass
|
||||
:interval "1s"
|
||||
:initial "speakerOff"
|
||||
`sh ~/.config/eww/scripts/speaker_class.sh`)
|
||||
(defwidget widSep []
|
||||
(label
|
||||
:class "text separator"
|
||||
:text "|"))
|
||||
|
||||
(defpoll speakerIcon
|
||||
:interval "1s"
|
||||
:initial ""
|
||||
`sh ~/.config/eww/scripts/speaker_icon.sh`)
|
||||
;; /-- Idle Inhibitor -->
|
||||
|
||||
(defpoll speakerVolume
|
||||
:interval "1s"
|
||||
:initial "0"
|
||||
`sh ~/.config/eww/scripts/speaker_volume.sh`)
|
||||
(deflisten idle_inhibitor "journalctl --output=cat --output-fields=JOB_TYPE --user --follow --unit=idle-inhibitor")
|
||||
|
||||
(defpoll backlight
|
||||
:interval "1s"
|
||||
:initial "0"
|
||||
`xbacklight -get`)
|
||||
(defwidget idle_inhibitor []
|
||||
(box
|
||||
:space-evenly false
|
||||
(button
|
||||
:class "${idle_inhibitor == 'start' ? 'idleOn' : 'idleOff' }"
|
||||
:onclick "systemctl --user is-active idle-inhibitor.service && systemctl --user stop idle-inhibitor.service || systemctl --user start idle-inhibitor.service"
|
||||
(label :text "${idle_inhibitor == 'start' ? '' : '' }"))))
|
||||
|
||||
(defpoll cpu
|
||||
:interval "1s"
|
||||
:initial "0"
|
||||
`sh ~/.config/eww/scripts/cpu.sh`)
|
||||
;; /-- Audio -->
|
||||
|
||||
(defpoll memory
|
||||
:interval "1s"
|
||||
:initial "0"
|
||||
`sh ~/.config/eww/scripts/memory.sh`)
|
||||
(defvar micClass "micOff")
|
||||
(defvar micIcon "")
|
||||
(defvar speakerClass "speakerOff")
|
||||
(defvar speakerIcon "")
|
||||
(defpoll speakerVolume
|
||||
:interval "1s"
|
||||
:initial "0"
|
||||
`sh ~/.config/eww/scripts/audio.sh`)
|
||||
|
||||
(defpoll batteryClass
|
||||
:interval "1s"
|
||||
:initial "speakerOff"
|
||||
`sh ~/.config/eww/scripts/battery_class.sh`)
|
||||
(defwidget WidgetAudio []
|
||||
(box
|
||||
:space-evenly false
|
||||
(label
|
||||
:class speakerClass
|
||||
:text "${speakerIcon} ")
|
||||
(label
|
||||
:class "text"
|
||||
:text "${speakerVolume}% ")
|
||||
(label
|
||||
:class micClass
|
||||
:text "${micIcon}")))
|
||||
|
||||
(defpoll batteryIcon
|
||||
:interval "1s"
|
||||
:initial ""
|
||||
`sh ~/.config/eww/scripts/battery_icon.sh`)
|
||||
;; /-- Backlight -->
|
||||
|
||||
(defpoll batteryVolume
|
||||
:interval "1s"
|
||||
:initial "0"
|
||||
`sh ~/.config/eww/scripts/battery_volume.sh`)
|
||||
(defpoll backlight
|
||||
:interval "1s"
|
||||
:initial "0"
|
||||
`xbacklight -get`)
|
||||
|
||||
(defpoll networkDown
|
||||
:interval "1s"
|
||||
:initial "0"
|
||||
`sh ~/.config/eww/scripts/network_down.sh`)
|
||||
(defwidget widgetBacklight []
|
||||
(box
|
||||
:space-evenly false
|
||||
(label
|
||||
:class "backlight"
|
||||
:text " ")
|
||||
(label
|
||||
:class "text"
|
||||
:text "${backlight}%")))
|
||||
|
||||
(defpoll networkUp
|
||||
:interval "1s"
|
||||
:initial "0"
|
||||
`sh ~/.config/eww/scripts/network_up.sh`)
|
||||
;; /-- CPU -->
|
||||
|
||||
(defpoll date
|
||||
:interval "1s"
|
||||
:initial "-"
|
||||
`date '+ %a %d.%m.%y %H:%M'`)
|
||||
(defpoll cpu
|
||||
:interval "1s"
|
||||
:initial "0"
|
||||
`sh ~/.config/eww/scripts/cpu.sh`)
|
||||
|
||||
(defvar ws1 "ws-empty")
|
||||
(defvar ws2 "ws-empty")
|
||||
(defvar ws3 "ws-empty")
|
||||
(defvar ws4 "ws-empty")
|
||||
(defvar ws5 "ws-empty")
|
||||
(defvar ws6 "ws-empty")
|
||||
(defvar ws7 "ws-empty")
|
||||
(defvar ws8 "ws-empty")
|
||||
(defvar ws9 "ws-empty")
|
||||
(defwidget widgetCpu []
|
||||
(box
|
||||
:space-evenly false
|
||||
(label
|
||||
:class "cpu"
|
||||
:text " ")
|
||||
(label
|
||||
:class "text"
|
||||
:text "${cpu}%")))
|
||||
|
||||
(defvar layouts "")
|
||||
;; /-- Memory -->
|
||||
|
||||
(defpoll memory
|
||||
:interval "1s"
|
||||
:initial "0"
|
||||
`sh ~/.config/eww/scripts/memory.sh`)
|
||||
|
||||
(defwidget widgetMemory []
|
||||
(box
|
||||
:space-evenly false
|
||||
(label
|
||||
:class "memory"
|
||||
:text " ")
|
||||
(label
|
||||
:class "text"
|
||||
:text "${memory}%")))
|
||||
|
||||
;; /-- Battery -->
|
||||
|
||||
(defvar batteryClass "speakerOff")
|
||||
(defvar batteryIcon "")
|
||||
(defpoll batteryVolume
|
||||
:interval "1s"
|
||||
:initial "0"
|
||||
`sh ~/.config/eww/scripts/battery.sh`)
|
||||
|
||||
(defwidget widgetBattery []
|
||||
(box
|
||||
:space-evenly false
|
||||
(label
|
||||
:class batteryClass
|
||||
:text "${batteryIcon} ")
|
||||
(label
|
||||
:class "text"
|
||||
:text "${batteryVolume}%")))
|
||||
|
||||
;; /-- Network -->
|
||||
|
||||
(defvar networkDown "0")
|
||||
(defpoll networkUp
|
||||
:interval "1s"
|
||||
:initial "0"
|
||||
`sh ~/.config/eww/scripts/network.sh`)
|
||||
|
||||
(defwidget widgetNetwork []
|
||||
(box
|
||||
:space-evenly false
|
||||
(label
|
||||
:class "networkDown"
|
||||
:text " ")
|
||||
(label
|
||||
:class "text"
|
||||
:text "${networkDown} ")
|
||||
(label
|
||||
:class "networkUp"
|
||||
:text " ")
|
||||
(label
|
||||
:class "text"
|
||||
:text "${networkUp}")))
|
||||
|
||||
;; /-- Time -->
|
||||
|
||||
(defpoll date
|
||||
:interval "1s"
|
||||
:initial "-"
|
||||
`date '+ %a %d.%m.%y %H:%M'`)
|
||||
|
||||
(defwidget widgetTime []
|
||||
(box
|
||||
:space-evenly false
|
||||
(label
|
||||
:class "time"
|
||||
:text " ")
|
||||
(label
|
||||
:class "text"
|
||||
:text "${date}")))
|
||||
|
||||
|
||||
|
||||
|
||||
;; /-- XMonad Logs | Old -->
|
||||
|
||||
(defvar ws1 "ws-empty")
|
||||
(defvar ws2 "ws-empty")
|
||||
(defvar ws3 "ws-empty")
|
||||
(defvar ws4 "ws-empty")
|
||||
(defvar ws5 "ws-empty")
|
||||
(defvar ws6 "ws-empty")
|
||||
(defvar ws7 "ws-empty")
|
||||
(defvar ws8 "ws-empty")
|
||||
(defvar ws9 "ws-empty")
|
||||
(defvar layouts "")
|
||||
(defpoll windows
|
||||
:interval "1s"
|
||||
:initial "-"
|
||||
`sh ~/.config/eww/scripts/xmonad_logs.sh`)
|
||||
|
||||
;; /-- Blocks -->
|
||||
(defwidget widgetWorkspaces []
|
||||
(box
|
||||
:orientation "horizontal"
|
||||
@@ -166,141 +295,5 @@
|
||||
:class "text separator"
|
||||
:text "⦁"))
|
||||
|
||||
(defwidget widgetSpeaker []
|
||||
(box
|
||||
:space-evenly false
|
||||
(label
|
||||
:class speakerClass
|
||||
:text "${speakerIcon} ")
|
||||
(label
|
||||
:class "text"
|
||||
:text "${speakerVolume}% ")
|
||||
(label
|
||||
:class micClass
|
||||
:text "${micIcon}")))
|
||||
|
||||
(defwidget widgetBacklight []
|
||||
(box
|
||||
:space-evenly false
|
||||
(label
|
||||
:class "backlight"
|
||||
:text " ")
|
||||
(label
|
||||
:class "text"
|
||||
:text "${backlight}%")))
|
||||
|
||||
(defwidget widgetCpu []
|
||||
(box
|
||||
:space-evenly false
|
||||
(label
|
||||
:class "cpu"
|
||||
:text " ")
|
||||
(label
|
||||
:class "text"
|
||||
:text "${cpu}%")))
|
||||
|
||||
(defwidget widgetMemory []
|
||||
(box
|
||||
:space-evenly false
|
||||
(label
|
||||
:class "memory"
|
||||
:text " ")
|
||||
(label
|
||||
:class "text"
|
||||
:text "${memory}%")))
|
||||
|
||||
(defwidget widgetBattery []
|
||||
(box
|
||||
:space-evenly false
|
||||
(label
|
||||
:class batteryClass
|
||||
:text "${batteryIcon} ")
|
||||
(label
|
||||
:class "text"
|
||||
:text "${batteryVolume}%")))
|
||||
|
||||
(defwidget widgetNetworkDown []
|
||||
(box
|
||||
:space-evenly false
|
||||
(label
|
||||
:class "networkDown"
|
||||
:text " ")
|
||||
(label
|
||||
:class "text"
|
||||
:text "${networkDown}")))
|
||||
|
||||
(defwidget widgetNetworkUp []
|
||||
(box
|
||||
:space-evenly false
|
||||
(label
|
||||
:class "networkUp"
|
||||
:text " ")
|
||||
(label
|
||||
:class "text"
|
||||
:text "${networkUp}")))
|
||||
|
||||
(defwidget widgetTime []
|
||||
(box
|
||||
:space-evenly false
|
||||
(label
|
||||
:class "time"
|
||||
:text " ")
|
||||
(label
|
||||
:class "text"
|
||||
:text "${date}")))
|
||||
|
||||
(defwidget widgetSeperator []
|
||||
(label
|
||||
:class "text separator"
|
||||
:text "|"))
|
||||
|
||||
(defwidget idle_inhibitor []
|
||||
(box :class "idle_inhibitor"
|
||||
:space-evenly false
|
||||
(button :class "icon"
|
||||
:onclick "systemctl --user is-active idle-inhibitor.service && systemctl --user stop idle-inhibitor.service || systemctl --user start idle-inhibitor.service"
|
||||
(label :text "${idle_inhibitor == 'start' ? '' : '' }"))))
|
||||
|
||||
;; /-- Bar -->
|
||||
(defwindow bar []
|
||||
:geometry (geometry
|
||||
:x "0px"
|
||||
:y "0px"
|
||||
:width "100%"
|
||||
:height "25px"
|
||||
:anchor "top center"
|
||||
)
|
||||
:reserve (struts
|
||||
:distance "25px"
|
||||
:side "top")
|
||||
:exclusive true
|
||||
:layer "top"
|
||||
:windowtype "dock"
|
||||
(box
|
||||
:orientation "horizontal"
|
||||
:space-evenly false
|
||||
:class "bar"
|
||||
(widgetWorkspaces)
|
||||
(widgetLogSeperator)
|
||||
(widgetLayouts)
|
||||
(widgetLogSeperator)
|
||||
(widgetWindows)
|
||||
(box :hexpand true)
|
||||
(idle_inhibitor)
|
||||
(widgetSpeaker)
|
||||
(widgetSeperator)
|
||||
(widgetBacklight)
|
||||
(widgetSeperator)
|
||||
(widgetCpu)
|
||||
(widgetSeperator)
|
||||
(widgetMemory)
|
||||
(widgetSeperator)
|
||||
(widgetBattery)
|
||||
(widgetSeperator)
|
||||
(widgetNetworkDown)
|
||||
(widgetSeperator)
|
||||
(widgetNetworkUp)
|
||||
(widgetSeperator)
|
||||
(widgetTime)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// <-- Preamble -->
|
||||
// <-- Colors -->
|
||||
// /-- Preamble -->
|
||||
// /-- Colors -->
|
||||
$white-text: #f5e0dc;
|
||||
$grey-text: #6c7086;
|
||||
$grey-background: #1e1e2e;
|
||||
@@ -10,38 +10,41 @@
|
||||
$blue: #89b4fa;
|
||||
$gold: #fab387;
|
||||
$orange: #fab387;
|
||||
// <-- Prepare all -->
|
||||
// /-- Prepare all -->
|
||||
* {all: unset;}
|
||||
.text {color: $white-text;}
|
||||
.separator {padding: 0px 4px;}
|
||||
// <-- Bar -->
|
||||
// <-- Widgets -->
|
||||
// <-- Audio -->
|
||||
// /-- Bar -->
|
||||
// /-- Widgets -->
|
||||
// /-- Idle Inhibtor -->
|
||||
.idleOn {color: $green;}
|
||||
.idleOff {color: $green;}
|
||||
// /-- Audio -->
|
||||
.micOn {color: $green;}
|
||||
.micOff {color: $red;}
|
||||
.speakerOn {color: $green;}
|
||||
.speakerOff {color: $red;}
|
||||
// <-- Backlight -->
|
||||
// /-- Backlight -->
|
||||
.backlight {color: $yellow;}
|
||||
// <-- CPU & Memory -->
|
||||
// /-- CPU & Memory -->
|
||||
.cpu {color: $violet;}
|
||||
.memory {color: $blue;}
|
||||
// <-- Battery -->
|
||||
// /-- Battery -->
|
||||
.batteryFull {color: $gold;}
|
||||
.batteryHalf {color: $green;}
|
||||
.batteryEmpty {color: $red;}
|
||||
.batteryCharging {color: $violet;}
|
||||
.networkDown {color: $red;}
|
||||
// <-- Network -->
|
||||
// /-- Network -->
|
||||
.networkUp {color: $blue;}
|
||||
// <-- Workspaces -->
|
||||
// /-- Workspaces -->
|
||||
.workspace-button {background: $grey-background;}
|
||||
.ws-current {color: $green;}
|
||||
.ws-visible {color: $red;}
|
||||
.ws-hidden {color: $white-text;}
|
||||
.ws-empty {color: $grey-text;}
|
||||
.time {color: $orange;}
|
||||
// <-- Window -->
|
||||
// /-- Window -->
|
||||
.bar {
|
||||
padding: 0.2em 1em;
|
||||
background: $grey-background;
|
||||
@@ -49,7 +52,7 @@
|
||||
font-family: "Fira Code";
|
||||
font-size: 12px;
|
||||
}
|
||||
// <-- Powermenu -->
|
||||
// /-- Powermenu -->
|
||||
.powermenu-button {
|
||||
background-color: #313244;
|
||||
color: $white-text;
|
||||
@@ -58,7 +61,7 @@
|
||||
border-radius: 6px;
|
||||
font-size: 14px;
|
||||
}
|
||||
// <-- Window -->
|
||||
// /-- Window -->
|
||||
.powermenu {
|
||||
background-color: $grey-background;
|
||||
padding: 20px;
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
(label
|
||||
:text " ")
|
||||
(button
|
||||
:onclick "close eww power; ./scripts/blur-lock.sh"
|
||||
:onclick "close eww power; /home/elias/.config/helperscripts/lock.sh"
|
||||
:class "powermenu-button"
|
||||
(label
|
||||
:text ""))
|
||||
@@ -23,7 +23,7 @@
|
||||
(label
|
||||
:text "")
|
||||
(button
|
||||
:onclick "close eww power; ./scripts/logout.sh"
|
||||
:onclick "close eww power; /home/elias/.config/helperscripts/logout.sh"
|
||||
:class "powermenu-button"
|
||||
(label
|
||||
:text ""))))
|
||||
|
||||
27
home/programs/eww/src/scripts/audio.sh
Executable file
27
home/programs/eww/src/scripts/audio.sh
Executable file
@@ -0,0 +1,27 @@
|
||||
mute=$(pactl get-sink-mute @DEFAULT_SINK@ | awk '{print $2}')
|
||||
volume=$(pactl get-sink-volume @DEFAULT_SINK@ | awk '{print $5}' | tr -d '%')
|
||||
|
||||
# /-- Mic -->
|
||||
|
||||
if pactl get-source-mute @DEFAULT_SOURCE@ | grep -q "yes"; then
|
||||
eww update micClass="micOff"
|
||||
eww update micIcon=""
|
||||
else
|
||||
eww update micClass="micOn"
|
||||
eww update micIcon=""
|
||||
fi
|
||||
|
||||
# /-- Speaker -->
|
||||
|
||||
if [[ "$mute" == "yes" ]]; then
|
||||
eww update speakerClass="speakerOff"
|
||||
eww update speakerIcon=""
|
||||
elif [[ "$volume" -le 100 ]]; then
|
||||
eww update speakerClass="speakerOn"
|
||||
eww update speakerIcon=""
|
||||
else
|
||||
eww update speakerClass="speakerOn"
|
||||
eww update speakerIcon=""
|
||||
fi
|
||||
|
||||
echo "$volume"
|
||||
25
home/programs/eww/src/scripts/battery.sh
Executable file
25
home/programs/eww/src/scripts/battery.sh
Executable file
@@ -0,0 +1,25 @@
|
||||
bat=$(cat /sys/class/power_supply/BAT0/capacity)
|
||||
stat=$(cat /sys/class/power_supply/AC/online)
|
||||
|
||||
if [ ! -d "/sys/class/power_supply/BAT0" ]; then
|
||||
bat="100"
|
||||
eww update batteryClass="batteryFull"
|
||||
eww update batteryIcon=""
|
||||
elif [[ $stat == 1 ]]; then
|
||||
eww update batteryClass="batteryCharging"
|
||||
eww update batteryIcon=""
|
||||
elif [[ $bat -le 10 ]]; then
|
||||
eww update batteryClass="batteryEmpty"
|
||||
eww update batteryIcon=""
|
||||
elif [[ $bat -le 50 ]]; then
|
||||
eww update batteryClass="batteryHalf"
|
||||
eww update batteryIcon=""
|
||||
elif [[ $bat -le 80 ]]; then
|
||||
eww update batteryClass="batteryHalf"
|
||||
eww update batteryIcon=""
|
||||
else
|
||||
eww update batteryClass="batteryFull"
|
||||
eww update batteryIcon=""
|
||||
fi
|
||||
|
||||
echo "$bat"
|
||||
@@ -1,16 +0,0 @@
|
||||
bat=$(cat /sys/class/power_supply/BAT0/capacity)
|
||||
stat=$(cat /sys/class/power_supply/AC/online)
|
||||
|
||||
class="batteryFull"
|
||||
|
||||
if [ ! -d "/sys/class/power_supply/BAT0" ]; then
|
||||
class="batteryFull"
|
||||
elif [[ $stat == 1 ]]; then
|
||||
class="batteryCharging"
|
||||
elif [[ $bat -le 10 ]]; then
|
||||
class="batteryEmpty"
|
||||
elif [[ $bat -le 80 ]]; then
|
||||
class="batteryHalf"
|
||||
fi
|
||||
|
||||
echo "$class"
|
||||
@@ -1,18 +0,0 @@
|
||||
bat=$(cat /sys/class/power_supply/BAT0/capacity)
|
||||
stat=$(cat /sys/class/power_supply/AC/online)
|
||||
|
||||
icon=""
|
||||
|
||||
if [ ! -d "/sys/class/power_supply/BAT0" ]; then
|
||||
icon=""
|
||||
elif [[ $stat == 1 ]]; then
|
||||
icon=""
|
||||
elif [[ $bat -le 10 ]]; then
|
||||
icon=""
|
||||
elif [[ $bat -le 50 ]]; then
|
||||
icon=""
|
||||
elif [[ $bat -le 80 ]]; then
|
||||
icon=""
|
||||
fi
|
||||
|
||||
echo "$icon"
|
||||
@@ -1,7 +0,0 @@
|
||||
bat=$(cat /sys/class/power_supply/BAT0/capacity)
|
||||
|
||||
if [ ! -d "/sys/class/power_supply/BAT0" ]; then
|
||||
bat="100"
|
||||
fi
|
||||
|
||||
echo "$bat"
|
||||
@@ -1 +0,0 @@
|
||||
betterlockscreen --lock blur
|
||||
@@ -1,5 +1,4 @@
|
||||
cpu_idle=$(top -bn1 | awk '/Cpu\(s\)/ {print $8}')
|
||||
cpu_used=$(awk "BEGIN {print 100 - $cpu_idle}")
|
||||
|
||||
# Print only the numeric result
|
||||
printf "%.0f\n" "$cpu_used"
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
pkill river
|
||||
@@ -1,5 +0,0 @@
|
||||
if pactl get-source-mute @DEFAULT_SOURCE@ | grep -q "yes"; then
|
||||
echo "micOff"
|
||||
else
|
||||
echo "micOn"
|
||||
fi
|
||||
@@ -1,5 +0,0 @@
|
||||
if pactl get-source-mute @DEFAULT_SOURCE@ | grep -q "yes"; then
|
||||
echo "" # muted
|
||||
else
|
||||
echo "" # unmuted
|
||||
fi
|
||||
16
home/programs/eww/src/scripts/network.sh
Executable file
16
home/programs/eww/src/scripts/network.sh
Executable file
@@ -0,0 +1,16 @@
|
||||
# You can change this if your interface is named differently (e.g., eth0, enp3s0)
|
||||
INTERFACE=$(ip route get 1.1.1.1 | awk '{print $5; exit}')
|
||||
|
||||
# /-- Uprate -->
|
||||
TX_PREV=$(cat /sys/class/net/"$INTERFACE"/statistics/tx_bytes)
|
||||
sleep 1
|
||||
TX_CUR=$(cat /sys/class/net/"$INTERFACE"/statistics/tx_bytes)
|
||||
TX_RATE=$(((TX_CUR - TX_PREV) / 1024))
|
||||
|
||||
# /-- Downrate -->
|
||||
RX_PREV=$(cat /sys/class/net/"$INTERFACE"/statistics/rx_bytes)
|
||||
sleep 1
|
||||
RX_CUR=$(cat /sys/class/net/"$INTERFACE"/statistics/rx_bytes)
|
||||
eww update networkDown=$(((RX_CUR - RX_PREV) / 1024))
|
||||
|
||||
echo "${TX_RATE}"
|
||||
@@ -1,11 +0,0 @@
|
||||
# You can change this if your interface is named differently (e.g., eth0, enp3s0)
|
||||
INTERFACE=$(ip route get 1.1.1.1 | awk '{print $5; exit}')
|
||||
RX_PREV=$(cat /sys/class/net/$INTERFACE/statistics/rx_bytes)
|
||||
sleep 1
|
||||
RX_CUR=$(cat /sys/class/net/$INTERFACE/statistics/rx_bytes)
|
||||
|
||||
# Calculate download/upload in KiB/s
|
||||
RX_RATE=$(((RX_CUR - RX_PREV) / 1024))
|
||||
|
||||
# Output formatted for Eww
|
||||
echo "${RX_RATE}"
|
||||
@@ -1,8 +0,0 @@
|
||||
# You can change this if your interface is named differently (e.g., eth0, enp3s0)
|
||||
INTERFACE=$(ip route get 1.1.1.1 | awk '{print $5; exit}')
|
||||
TX_PREV=$(cat /sys/class/net/$INTERFACE/statistics/tx_bytes)
|
||||
sleep 1
|
||||
TX_CUR=$(cat /sys/class/net/$INTERFACE/statistics/tx_bytes)
|
||||
TX_RATE=$(((TX_CUR - TX_PREV) / 1024))
|
||||
|
||||
echo "${TX_RATE}"
|
||||
@@ -1,8 +0,0 @@
|
||||
mute=$(pactl get-sink-mute @DEFAULT_SINK@ | awk '{print $2}')
|
||||
volume=$(pactl get-sink-volume @DEFAULT_SINK@ | awk '{print $5}' | tr -d '%')
|
||||
|
||||
if [[ "$mute" == "yes" ]]; then
|
||||
echo "speakerOff" # muted icon
|
||||
else
|
||||
echo "speakerOn" # high volume
|
||||
fi
|
||||
@@ -1,10 +0,0 @@
|
||||
mute=$(pactl get-sink-mute @DEFAULT_SINK@ | awk '{print $2}')
|
||||
volume=$(pactl get-sink-volume @DEFAULT_SINK@ | awk '{print $5}' | tr -d '%')
|
||||
|
||||
if [[ "$mute" == "yes" ]]; then
|
||||
echo "" # muted icon
|
||||
elif [[ "$volume" -le 100 ]]; then
|
||||
echo "" # low volume
|
||||
else
|
||||
echo "" # high volume
|
||||
fi
|
||||
@@ -1,4 +0,0 @@
|
||||
volume=$(pactl get-sink-volume @DEFAULT_SINK@ | awk '{print $5}' | tr -d '%')
|
||||
half_volume=$((volume / 2))
|
||||
|
||||
echo "$half_volume"
|
||||
Reference in New Issue
Block a user