move desktop shit again
This commit is contained in:
parent
df0ffea214
commit
500c18b76a
41 changed files with 69 additions and 69 deletions
77
modules/desktop/home/eww/configDir/bottomBar/bottomBar.yuck
Normal file
77
modules/desktop/home/eww/configDir/bottomBar/bottomBar.yuck
Normal file
|
@ -0,0 +1,77 @@
|
|||
(include "bottomBar/workspaces.yuck")
|
||||
(include "bottomBar/traveldings.yuck")
|
||||
|
||||
(defwindow bottomBar
|
||||
:monitor 0
|
||||
:stacking "fg"
|
||||
:wm-ignore true
|
||||
:exclusive true
|
||||
:geometry (geometry
|
||||
:width "100%"
|
||||
:height "33px"
|
||||
:anchor "bottom center")
|
||||
(bottomBar))
|
||||
|
||||
(defwidget bottomBar []
|
||||
(overlay
|
||||
:class "bottomBar"
|
||||
(transform
|
||||
:translate-y "1.5px"
|
||||
(centerbox
|
||||
(box
|
||||
:halign "start"
|
||||
(workspaceWidget)
|
||||
)
|
||||
(box
|
||||
:halign "center"
|
||||
(traveldings)
|
||||
)
|
||||
(box
|
||||
:halign "end"
|
||||
; (label :text "${iceData.speed}km/h")
|
||||
(mullvadThing)
|
||||
)
|
||||
)
|
||||
)
|
||||
(box
|
||||
:class "lesbianFlag"
|
||||
:height 1
|
||||
( flagEl :flipped true :color "#D52D00")
|
||||
( flagEl :flipped true :color "#EF7627")
|
||||
( flagEl :flipped true :color "#FF9A56")
|
||||
( flagEl :flipped true :color "#FFFFFF")
|
||||
( flagEl :flipped true :color "#D162A4")
|
||||
( flagEl :flipped true :color "#B55690")
|
||||
( flagEl :flipped true :color "#A30262")
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(deflisten mullvad
|
||||
:initial "{\"state\":\"init\"}"
|
||||
`mullvad status -j listen`
|
||||
)
|
||||
|
||||
(defwidget mullvadThing []
|
||||
(box
|
||||
:class "container"
|
||||
(button
|
||||
:height 16
|
||||
:width 16
|
||||
:class "mullvad-state-${mullvad.state}"
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defwidget iceTacho []
|
||||
(box
|
||||
:class "iceTacho"
|
||||
:tooltip "Tz${iceTachoData.tzn} (BR ${iceTachoData.br})"
|
||||
(label :text "${iceTachoData.speed} km/h")
|
||||
)
|
||||
)
|
||||
|
||||
(deflisten iceTachoData
|
||||
:initial "null"
|
||||
{ "~/.config/eww/scripts/iceTacho.nu" }
|
||||
)
|
|
@ -0,0 +1,37 @@
|
|||
(defwidget traveldings []
|
||||
(revealer
|
||||
:class "traveldings"
|
||||
:transition "crossfade"
|
||||
:reveal { traveldings_data != "null" }
|
||||
(traveldingsBarWidget)
|
||||
)
|
||||
)
|
||||
|
||||
(defwidget traveldingsBarWidget []
|
||||
(overlay
|
||||
(box
|
||||
:width 640
|
||||
(label
|
||||
:halign "start"
|
||||
:text "${traveldings_data.line} -> ${strlength(traveldings_data.arrival_station) > 24 ? "${substring(traveldings_data.arrival_station, 0, 24)}…" : traveldings_data.arrival_station}${traveldings_data.arrival_platform_data_available ? " (Gl. ${traveldings_data.arrival_platform_real})" : ""}"
|
||||
)
|
||||
(label
|
||||
:halign "end"
|
||||
:text { traveldings_data.time_left >= 3600 ? formattime(traveldings_data.time_left, "noch %-Hh %-Mmin", "Etc/UTC") : formattime(traveldings_data.time_left, "noch %-Mmin", "Etc/UTC") }
|
||||
)
|
||||
)
|
||||
(box
|
||||
(progress
|
||||
:class { traveldings_data.live ? "traveldings_live" : "traveldings_disconnected" }
|
||||
:value {traveldings_data.progress * 100}
|
||||
:orientation "horizontal"
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(deflisten traveldings_data
|
||||
:initial "null"
|
||||
"traveldings current"
|
||||
)
|
18
modules/desktop/home/eww/configDir/bottomBar/workspaces.yuck
Normal file
18
modules/desktop/home/eww/configDir/bottomBar/workspaces.yuck
Normal file
|
@ -0,0 +1,18 @@
|
|||
(defwidget workspaceWidget []
|
||||
(box
|
||||
:class "workspaces"
|
||||
(for workspace in workspaces
|
||||
(button
|
||||
:style "border-bottom: 4px solid ${workspace.color}${workspace.active ? "; background-color: #3c3836" : ""}"
|
||||
:class "${workspace.focused ? "focused" : ""}"
|
||||
:onclick "swaymsg workspace ${workspace.name}"
|
||||
(label :text "${workspace.idx}")
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(deflisten workspaces
|
||||
:initial "[]"
|
||||
"bar-ws-monitor"
|
||||
)
|
58
modules/desktop/home/eww/configDir/eww.css
Normal file
58
modules/desktop/home/eww/configDir/eww.css
Normal file
|
@ -0,0 +1,58 @@
|
|||
label {
|
||||
font: 14pt "Departure Mono Nerd Font";
|
||||
}
|
||||
|
||||
button {
|
||||
border-radius: 0px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.background {
|
||||
background-color: #1d2021;
|
||||
}
|
||||
|
||||
.workspaces button {
|
||||
border: 0px;
|
||||
padding: 0 3px;
|
||||
}
|
||||
|
||||
.workspaces button.focused {
|
||||
background-color: #504935;
|
||||
}
|
||||
|
||||
.traveldings progressbar trough {
|
||||
border: none;
|
||||
background-color: #3c3836;
|
||||
border-bottom-right-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
.traveldings progressbar.traveldings_live progress {
|
||||
background-color: #79740e;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
.traveldings progressbar.traveldings_disconnected progress {
|
||||
background-color: #cc241d;
|
||||
}
|
||||
|
||||
|
||||
.traveldingsWindow {
|
||||
border-radius: 15px;
|
||||
}
|
||||
|
||||
.mullvad-state-connected {
|
||||
background-color: #98971a
|
||||
}
|
||||
|
||||
.mullvad-state-connecting {
|
||||
background-color: #d79921
|
||||
}
|
||||
|
||||
.mullvad-state-disconnected {
|
||||
background-color: #cc241d
|
||||
}
|
||||
|
||||
.mullvad-state-init {
|
||||
background-color: #458588
|
||||
}
|
2
modules/desktop/home/eww/configDir/eww.yuck
Normal file
2
modules/desktop/home/eww/configDir/eww.yuck
Normal file
|
@ -0,0 +1,2 @@
|
|||
(include "topBar/topBar.yuck")
|
||||
(include "bottomBar/bottomBar.yuck")
|
78
modules/desktop/home/eww/configDir/scripts/bat.nu
Executable file
78
modules/desktop/home/eww/configDir/scripts/bat.nu
Executable file
|
@ -0,0 +1,78 @@
|
|||
#!/usr/bin/env nu
|
||||
|
||||
const ICONS = [
|
||||
[ normal charging];
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
];
|
||||
|
||||
const DELAY = 2sec;
|
||||
|
||||
def "main auto" [] {
|
||||
loop {
|
||||
let paths = ls "/sys/class/power_supply"
|
||||
| each {|it| $it.name | path basename}
|
||||
| filter {|it| $it starts-with "BAT"};
|
||||
|
||||
if ($paths | is-not-empty) {
|
||||
let result = $paths
|
||||
| each {|it| get_and_format $it}
|
||||
| str join " | "
|
||||
| prepend "| "
|
||||
| str join;
|
||||
|
||||
print $result
|
||||
} else {
|
||||
print ""
|
||||
}
|
||||
sleep $DELAY;
|
||||
}
|
||||
}
|
||||
|
||||
def main [ path: string ] {
|
||||
loop {
|
||||
print (get_and_format $path)
|
||||
sleep $DELAY;
|
||||
}
|
||||
}
|
||||
|
||||
def get_and_format [ path: string ] {
|
||||
let fract = get_bat_charge_fraction $path;
|
||||
let is_charging = get_bat_charging_status $path;
|
||||
let percent = ($fract * 100) | math round;
|
||||
|
||||
return $"<span foreground=\"#d65d0e\">(get_bat_icon $fract $is_charging)</span> ($percent)<span foreground=\"#7c6f64\">%</span>";
|
||||
}
|
||||
|
||||
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";
|
||||
|
||||
$status like Charging
|
||||
}
|
||||
|
||||
def get_bat_icon [
|
||||
frac: float
|
||||
is_charging = false
|
||||
] {
|
||||
$ICONS | get (($frac * 10) | math round) | get (if ($is_charging) { "charging" } else { "normal" })
|
||||
}
|
38
modules/desktop/home/eww/configDir/scripts/iceTacho.nu
Executable file
38
modules/desktop/home/eww/configDir/scripts/iceTacho.nu
Executable file
|
@ -0,0 +1,38 @@
|
|||
#!/usr/bin/env nu
|
||||
|
||||
const TABLE = {
|
||||
401: 280
|
||||
402: 280
|
||||
403: 330
|
||||
406: 330
|
||||
407: 320
|
||||
408: 320
|
||||
411: 230
|
||||
415: 230
|
||||
412: 265
|
||||
605: 200
|
||||
};
|
||||
|
||||
def main [ ] {
|
||||
loop {
|
||||
if ((iw dev wlp4s0 link | lines | filter {|it| $it =~ "WIFIonICE" } | length) == 1) {
|
||||
let iceData = http get https://iceportal.de/api1/rs/status;
|
||||
let tzn = $iceData.tzn;
|
||||
let br = $iceData.series;
|
||||
let speed = $iceData.speed;
|
||||
let speedfrac = $speed / ($TABLE | get $br);
|
||||
|
||||
print ({
|
||||
tzn: $tzn,
|
||||
br: $br,
|
||||
speed: $speed,
|
||||
frac: $speedfrac
|
||||
} | to json -r);
|
||||
|
||||
sleep 2sec;
|
||||
} else {
|
||||
print "null";
|
||||
sleep 5sec;
|
||||
}
|
||||
}
|
||||
}
|
23
modules/desktop/home/eww/configDir/topBar/sysinfo.yuck
Normal file
23
modules/desktop/home/eww/configDir/topBar/sysinfo.yuck
Normal file
|
@ -0,0 +1,23 @@
|
|||
(deflisten bat
|
||||
:initial "<span foreground=\"#cc241d\">BAT0 ERR</span>"
|
||||
{ "~/.config/eww/scripts/bat.nu auto"}
|
||||
)
|
||||
|
||||
(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>"
|
||||
)
|
||||
)
|
||||
)
|
||||
|
10
modules/desktop/home/eww/configDir/topBar/time.yuck
Normal file
10
modules/desktop/home/eww/configDir/topBar/time.yuck
Normal file
|
@ -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 "
|
||||
)
|
||||
}
|
||||
)
|
||||
)
|
55
modules/desktop/home/eww/configDir/topBar/topBar.yuck
Normal file
55
modules/desktop/home/eww/configDir/topBar/topBar.yuck
Normal file
|
@ -0,0 +1,55 @@
|
|||
(include "topBar/time.yuck")
|
||||
(include "topBar/sysinfo.yuck")
|
||||
(include "util.yuck")
|
||||
|
||||
(defwindow topBar
|
||||
:monitor 0
|
||||
:stacking "fg"
|
||||
:wm-ignore true
|
||||
:exclusive true
|
||||
:geometry (geometry
|
||||
:width "100%"
|
||||
:height "33px"
|
||||
:anchor "top center")
|
||||
(topBar))
|
||||
|
||||
(defwidget topBar []
|
||||
(overlay
|
||||
:class "topBar"
|
||||
(transform
|
||||
:translate-y "-1.5px"
|
||||
(centerbox
|
||||
(box
|
||||
:halign "start"
|
||||
:spacing 12
|
||||
:space-evenly false
|
||||
(label :text " ")
|
||||
(cpu)
|
||||
(sep)
|
||||
(mem)
|
||||
(label :markup bat)
|
||||
)
|
||||
(box
|
||||
:halign "center"
|
||||
(systray
|
||||
:icon-size 18
|
||||
:spacing 3
|
||||
)
|
||||
)
|
||||
(box
|
||||
:halign "end"
|
||||
(time)
|
||||
)
|
||||
)
|
||||
)
|
||||
(box
|
||||
:class "transFlag"
|
||||
:height 1
|
||||
( flagEl :flipped false :color "#5BCEFA")
|
||||
( flagEl :flipped false :color "#F5A9B8")
|
||||
( flagEl :flipped false :color "#FFFFFF")
|
||||
( flagEl :flipped false :color "#F5A9B8")
|
||||
( flagEl :flipped false :color "#5BCEFA")
|
||||
)
|
||||
)
|
||||
)
|
11
modules/desktop/home/eww/configDir/util.yuck
Normal file
11
modules/desktop/home/eww/configDir/util.yuck
Normal file
|
@ -0,0 +1,11 @@
|
|||
(defwidget flagEl [color ?flipped]
|
||||
(box
|
||||
:style "border-${flipped ? "top" : "bottom"}: 3px solid ${color}"
|
||||
:halign "fill"
|
||||
)
|
||||
)
|
||||
|
||||
(defwidget sep []
|
||||
(label :text "|")
|
||||
)
|
||||
|
6
modules/desktop/home/eww/default.nix
Normal file
6
modules/desktop/home/eww/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{ ... }: {
|
||||
programs.eww = {
|
||||
enable = true;
|
||||
configDir = ./configDir;
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue