replace top bar with eww bar
This commit is contained in:
parent
fcb7c0cd68
commit
ac3df09b6b
8 changed files with 172 additions and 194 deletions
|
@ -1,85 +1 @@
|
|||
(defwindow topBar
|
||||
:monitor 0
|
||||
:stacking "fg"
|
||||
:windowtype "normal"
|
||||
:wm-ignore true
|
||||
:exclusive true
|
||||
:geometry (geometry
|
||||
:width "100%"
|
||||
:height "32px"
|
||||
:anchor "top center")
|
||||
(topBar))
|
||||
|
||||
(defwidget topBar []
|
||||
(overlay
|
||||
:class "topBar"
|
||||
(centerbox
|
||||
(box
|
||||
:halign "start"
|
||||
:spacing 12
|
||||
:space-evenly false
|
||||
(label :text " ")
|
||||
(cpu)
|
||||
(sep)
|
||||
(mem)
|
||||
)
|
||||
(box
|
||||
:halign "center"
|
||||
(label :text "Hi, jade! :3")
|
||||
)
|
||||
(box
|
||||
:halign "end"
|
||||
(time)
|
||||
)
|
||||
)
|
||||
(box
|
||||
:class "transFlag"
|
||||
:height 1
|
||||
( flagEl :color "#5BCEFA")
|
||||
( flagEl :color "#F5A9B8")
|
||||
( flagEl :color "#FFFFFF")
|
||||
( flagEl :color "#F5A9B8")
|
||||
( flagEl :color "#5BCEFA")
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defwidget sep []
|
||||
(label :text "|")
|
||||
)
|
||||
|
||||
(defwidget time []
|
||||
(label
|
||||
:markup {
|
||||
formattime(
|
||||
EWW_TIME,
|
||||
"<span foreground=\"#d65d0e\"></span> %Y<span foreground=\"#7c6f64\">-</span>%m<span foreground=\"#7c6f64\">-</span>%d <span foreground=\"#d65d0e\"></span> %H<span foreground=\"#7c6f64\">:</span>%M<span foreground=\"#7c6f64\">:</span>%S "
|
||||
)
|
||||
}
|
||||
)
|
||||
)
|
||||
|
||||
(defwidget cpu []
|
||||
(box
|
||||
:class "cpuIndicator"
|
||||
(label
|
||||
:markup "<span foreground=\"#d65d0e\"></span> ${strlength(round(EWW_CPU.avg, 0)) == 1 ? " ${round(EWW_CPU.avg, 0)}" : round(EWW_CPU.avg, 0)}<span foreground=\"#7c6f64\">%</span>"
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defwidget mem []
|
||||
(box
|
||||
:class "memIndicator"
|
||||
(label
|
||||
:markup "<span foreground=\"#d65d0e\"> </span> ${round(EWW_RAM.used_mem_perc, 0)}<span foreground=\"#7c6f64\">%</span>"
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defwidget flagEl [color]
|
||||
(box
|
||||
:style "border-bottom: 2px solid ${color}"
|
||||
:halign "fill"
|
||||
)
|
||||
)
|
||||
(include "topBar/topBar.yuck")
|
||||
|
|
55
modules/desktop-environment/home/panels/eww/configDir/scripts/bat.nu
Executable file
55
modules/desktop-environment/home/panels/eww/configDir/scripts/bat.nu
Executable file
|
@ -0,0 +1,55 @@
|
|||
#!/usr/bin/env nu
|
||||
|
||||
const ICONS = [
|
||||
[ normal charging];
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
];
|
||||
|
||||
def main [ path: string ] {
|
||||
loop {
|
||||
let fract = get_bat_charge_fraction $path;
|
||||
let is_charging = get_bat_charging_status $path;
|
||||
let percent = ($fract * 100) | math round;
|
||||
|
||||
print $"<span foreground=\"#d65d0e\">(get_bat_icon $fract $is_charging)</span> ($percent)<span foreground=\"#7c6f64\">%</span>";
|
||||
sleep 2sec;
|
||||
}
|
||||
}
|
||||
|
||||
def get_bat_charge_fraction [
|
||||
path: string
|
||||
] {
|
||||
let energy_full = open $"/sys/class/power_supply/($path)/energy_full" | into float;
|
||||
let energy_now = open $"/sys/class/power_supply/($path)/energy_now" | into float;
|
||||
|
||||
$energy_now / $energy_full
|
||||
}
|
||||
|
||||
def get_bat_charging_status [
|
||||
path: string
|
||||
] {
|
||||
let status = open $"/sys/class/power_supply/($path)/status";
|
||||
|
||||
if ($status == Charging) {
|
||||
true
|
||||
} else {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
def get_bat_icon [
|
||||
frac: float
|
||||
is_charging = false
|
||||
] {
|
||||
$ICONS | get (($frac * 10) | math round) | get (if ($is_charging) { "charging" } else { "normal" })
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
(deflisten bat0
|
||||
:initial "<span foreground=\"#cc241d\">BAT0 ERR</span>"
|
||||
{ "~/.config/eww/scripts/bat.nu BAT0"}
|
||||
)
|
||||
(deflisten bat1
|
||||
:initial "<span foreground=\"#cc241d\">BAT1 ERR</span>"
|
||||
{ "~/.config/eww/scripts/bat.nu BAT1"}
|
||||
)
|
||||
|
||||
(defwidget cpu []
|
||||
(box
|
||||
:class "cpuIndicator"
|
||||
(label
|
||||
:markup "<span foreground=\"#d65d0e\"></span> ${strlength(round(EWW_CPU.avg, 0)) == 1 ? " ${round(EWW_CPU.avg, 0)}" : round(EWW_CPU.avg, 0)}<span foreground=\"#7c6f64\">%</span>"
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defwidget mem []
|
||||
(box
|
||||
:class "memIndicator"
|
||||
(label
|
||||
:markup "<span foreground=\"#d65d0e\"> </span> ${round(EWW_RAM.used_mem_perc, 0)}<span foreground=\"#7c6f64\">%</span>"
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
(defwidget time []
|
||||
(label
|
||||
:markup {
|
||||
formattime(
|
||||
EWW_TIME,
|
||||
"<span foreground=\"#d65d0e\"></span> %Y<span foreground=\"#7c6f64\">-</span>%m<span foreground=\"#7c6f64\">-</span>%d <span foreground=\"#d65d0e\"></span> %H<span foreground=\"#7c6f64\">:</span>%M<span foreground=\"#7c6f64\">:</span>%S "
|
||||
)
|
||||
}
|
||||
)
|
||||
)
|
|
@ -0,0 +1,56 @@
|
|||
(include "topBar/time.yuck")
|
||||
(include "topBar/sysinfo.yuck")
|
||||
(include "util.yuck")
|
||||
|
||||
(defwindow topBar
|
||||
:monitor 0
|
||||
:stacking "fg"
|
||||
:windowtype "normal"
|
||||
:wm-ignore true
|
||||
:exclusive true
|
||||
:geometry (geometry
|
||||
:width "100%"
|
||||
:height "32px"
|
||||
:anchor "top center")
|
||||
(topBar))
|
||||
|
||||
(defwidget topBar []
|
||||
(overlay
|
||||
:class "topBar"
|
||||
(centerbox
|
||||
(box
|
||||
:halign "start"
|
||||
:spacing 12
|
||||
:space-evenly false
|
||||
(label :text " ")
|
||||
(cpu)
|
||||
(sep)
|
||||
(mem)
|
||||
(sep)
|
||||
(label :markup bat0)
|
||||
(sep)
|
||||
(label :markup bat1)
|
||||
)
|
||||
(box
|
||||
:halign "center"
|
||||
(systray
|
||||
:icon-size 18
|
||||
:spacing 3
|
||||
)
|
||||
)
|
||||
(box
|
||||
:halign "end"
|
||||
(time)
|
||||
)
|
||||
)
|
||||
(box
|
||||
:class "transFlag"
|
||||
:height 1
|
||||
( flagEl :color "#5BCEFA")
|
||||
( flagEl :color "#F5A9B8")
|
||||
( flagEl :color "#FFFFFF")
|
||||
( flagEl :color "#F5A9B8")
|
||||
( flagEl :color "#5BCEFA")
|
||||
)
|
||||
)
|
||||
)
|
|
@ -0,0 +1,11 @@
|
|||
(defwidget flagEl [color]
|
||||
(box
|
||||
:style "border-bottom: 3px solid ${color}"
|
||||
:halign "fill"
|
||||
)
|
||||
)
|
||||
|
||||
(defwidget sep []
|
||||
(label :text "|")
|
||||
)
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
#!/usr/bin/env nu
|
||||
|
||||
const ICONS = [
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
];
|
||||
|
||||
def get_bat_percent [path: string] {
|
||||
let energy_full = open $"/sys/class/power_supply/($path)/energy_full" | into float;
|
||||
let energy_now = open $"/sys/class/power_supply/($path)/energy_now" | into float;
|
||||
|
||||
($energy_now / $energy_full) * 100
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue