aboutsummaryrefslogtreecommitdiffstats
path: root/home-manager/soispha/config/yambar
diff options
context:
space:
mode:
authorSoispha <soispha@vhack.eu>2023-08-01 15:31:42 +0200
committerSoispha <soispha@vhack.eu>2023-08-01 15:42:54 +0200
commit0a608bd781dcda40144097b007fac0a0c60a8ee1 (patch)
treee69fbc1fd0e15e3b86f31f47b776df21f6f0170d /home-manager/soispha/config/yambar
parentFix(hm/conf/gammastep): Use lighter settings on laptops (diff)
downloadnixos-config-0a608bd781dcda40144097b007fac0a0c60a8ee1.zip
Refactor(treewide): Move module configuration in separate files
Diffstat (limited to 'home-manager/soispha/config/yambar')
-rw-r--r--home-manager/soispha/config/yambar/config/config.yml234
-rw-r--r--home-manager/soispha/config/yambar/config/laptop.yml234
-rw-r--r--home-manager/soispha/config/yambar/default.nix53
-rwxr-xr-xhome-manager/soispha/config/yambar/scripts/disk22
-rwxr-xr-xhome-manager/soispha/config/yambar/scripts/grades-average15
-rwxr-xr-xhome-manager/soispha/config/yambar/scripts/network47
-rwxr-xr-xhome-manager/soispha/config/yambar/scripts/old/amixer-monitor24
-rwxr-xr-xhome-manager/soispha/config/yambar/scripts/old/cpu126
-rwxr-xr-xhome-manager/soispha/config/yambar/scripts/old/dfspace23
-rwxr-xr-xhome-manager/soispha/config/yambar/scripts/old/grades-average12
-rwxr-xr-xhome-manager/soispha/config/yambar/scripts/old/meminfo37
-rwxr-xr-xhome-manager/soispha/config/yambar/scripts/old/nmclitest23
-rwxr-xr-xhome-manager/soispha/config/yambar/scripts/old/pingtest28
-rwxr-xr-xhome-manager/soispha/config/yambar/scripts/old/yambar-tray27
-rwxr-xr-xhome-manager/soispha/config/yambar/scripts/old/yambar-tray-width28
-rwxr-xr-xhome-manager/soispha/config/yambar/scripts/sound-volume20
16 files changed, 953 insertions, 0 deletions
diff --git a/home-manager/soispha/config/yambar/config/config.yml b/home-manager/soispha/config/yambar/config/config.yml
new file mode 100644
index 00000000..bb742fd3
--- /dev/null
+++ b/home-manager/soispha/config/yambar/config/config.yml
@@ -0,0 +1,234 @@
+---
+# Config file for yambar
+# Note that this may be version-dependent, this file is written for v1.8.0
+
+
+# Font anchors
+font-main: &fontmain Source Code Pro:pixelsize=26
+font-aws: &awesome Font Awesome 5 Free:style=solid:pixelsize=23
+
+# Color anchors
+fg-none: &fgnone 00000000
+fg-1: &fg1 c6ceefff
+fg-blue: &fgblue 99d1dbff
+fg-sapphire: &fgsapp 74c7ecdd
+fg-green: &fggreen a6e3a1dd
+fg-peach: &fgpeach fab387dd
+fg-mauve: &fgmauve cba6f7dd
+fg-teal: &fgteal 94e2d5dd
+fg-lavendar: &fglav b4befedd
+fg-focus: &fgfocus e78284ff
+bg-1: &bg1 303446ff
+bg-tag: &bgtag 585b70ff
+bg-tag2: &bgtag2 45475aff
+bg-urgent: &bgurgent e78284ff
+
+# Background blocks
+background-block: &bgcblock {background: {color: *bg1 }}
+background-block-urgent: &bgcurg {background: {color: *bgurgent }}
+
+# Underlines
+underline-focused: &line {underline: { size: 3, color: *fgfocus}}
+underline-urgent: &lineurgent {underline: { size: 3, color: *fgblue}}
+underline-utils: &lineutil {underline: { size: 3, color: *fgpeach}}
+underline-resources: &linemem {underline: { size: 3, color: *fggreen}}
+underline-battery: &linebat {underline: { size: 3, color: *fgsapp}}
+underline-clock: &lineclock {underline: { size: 3, color: *fgteal}}
+underline-weather: &linewea {underline: { size: 3, color: *fglav}}
+underline-title: &linetitle {underline: { size: 3, color: *bgtag}}
+
+# Combined decorations
+combination-utils: &combutil {stack: [ <<: *bgcblock, <<: *lineutil]}
+combination-resources: &combmem {stack: [ <<: *bgcblock, <<: *linemem]}
+combination-battery: &combbat {stack: [ <<: *bgcblock, <<: *linebat]}
+combination-clock: &combclock {stack: [ <<: *bgcblock, <<: *lineclock]}
+combination-weather: &combwea {stack: [ <<: *bgcblock, <<: *linewea]}
+
+
+### Main
+
+bar:
+ location: top
+ height: 45
+ layer: bottom
+ spacing: 0
+ margin: 10
+ border: {margin: 0, top-margin: 10}
+ foreground: *fg1
+ background: *fgnone
+ font: *fontmain
+
+ ### Left, river tags
+ left:
+ - river:
+ anchors:
+ - id: &name { text: "{id}" }
+ - string: &focus { stack: [ {background: {color: *bg1}} ] }
+ - string: &normal { string: { <<: *name, margin: 10 } }
+ - string:
+ &occupied { string: { <<: *name, deco: {background: {color: *bgtag2}}, margin: 10 } }
+ - string: &urgent { string: { <<: *name, deco: {stack: [background: {color: *bgurgent}, <<: *lineurgent]}, margin: 10 } }
+ - string: &focused { string: { <<: *name, deco: {stack: [background: {color: *bgtag}, <<: *line]}, margin: 10 } }
+ - string: &unfocused { string: { <<: *name, deco: {background: {color: *bgtag2}}, margin: 10 } }
+ - base: &river_base
+ default: *normal
+ conditions:
+ state == focused: *focused
+ state == unfocused: *unfocused
+ state == urgent: *urgent
+ state == invisible:
+ map:
+ conditions:
+ occupied: *occupied
+ ~occupied: *normal
+ content:
+ map:
+ on-click:
+ left: sh -c "riverctl set-focused-tags $((1 << ({id} - 1)))"
+ right: sh -c "riverctl toggle-focused-tags $((1 << ({id} -1)))"
+ middle: sh -c "riverctl toggle-view-tags $((1 << ({id} -1)))"
+ conditions:
+ id == 1: { map: { <<: *river_base } }
+ id == 2: { map: { <<: *river_base } }
+ id == 3: { map: { <<: *river_base } }
+ id == 4: { map: { <<: *river_base } }
+ id == 5: { map: { <<: *river_base } }
+ id == 6: { map: { <<: *river_base } }
+ id == 7: { map: { <<: *river_base } }
+ id == 8: { map: { <<: *river_base } }
+ id == 9: { map: { <<: *river_base } }
+ title:
+ map:
+ default:
+ {
+ string:
+ {
+ text: "{title}",
+ left-margin: 12,
+ right-margin: 12,
+ # max: 35,
+ deco: *linetitle
+ },
+ }
+ conditions:
+ title == "": { string: { text: "" } }
+
+ ### Center, clock & weather gadget
+ center:
+ - clock:
+ time-format: "%H:%M:%S %Z"
+ date-format: "%d/%m/%y (%a)"
+ foreground: *fgblue
+ content:
+ string:
+ text: " {date} {time} "
+ deco: *combclock
+
+ ### Right, system tray
+ right:
+ #- network:
+ # name: wlp5s0
+ # poll-interval: 10
+ # content:
+ # map:
+ # on-click: /bin/sh -c "nmtui"
+ # conditions:
+ # ~carrier: {empty: {}}
+ # carrier:
+ # string: {text: "  {ssid} ", deco: *combutil}
+ #- network:
+ # name: enp4s0
+ # content:
+ # map:
+ # on-click: /bin/sh -c "nmtui"
+ # conditions:
+ # ~carrier:
+ # string: {text: "  Eth failed ", deco: *combutil}
+ # carrier: {empty: {}}
+
+ - script: # Sound volume
+ path: @volume_script@
+ content:
+ map:
+ on-click: /bin/sh -c "pavucontrol"
+ conditions:
+ muted:
+ string:
+ text: " ﱝ "
+ deco: *bgcurg
+ ~muted:
+ string: {text: "  {volume}% ", deco: *combutil}
+
+ - script: # Grade average
+ path: @grade_average_script@
+ content:
+ string:
+ text: "  {grade} "
+ deco: *combmem
+
+ #- backlight:
+ # name: intel_backlight
+ # content:
+ # - string: {text: "  {percent}% ", deco: *combutil}
+
+ - script: # CPU
+ path: @cpu_script@
+ content:
+ string:
+ text: "  {cpu}% "
+ deco: *combmem
+
+ - script: # Memory info
+ path: @memory_script@
+ content:
+ map:
+ conditions:
+ swapstate:
+ string:
+ text: "  {memperc}%({swapperc}%) "
+ deco: *combmem
+ ~swapstate:
+ string:
+ text: "  {memperc}% "
+ deco: *combmem
+ - script: # Disk space
+ path: @disk_script@
+ content:
+ string:
+ text: "  {diskspace}({diskperc})"
+ deco: *combmem
+ #- battery:
+ # name: BAT0
+ # poll-interval: 30
+ # content:
+ # list:
+ # items:
+ # - ramp:
+ # tag: capacity
+ # items:
+ # - string:
+ # text: "  {capacity}%({estimate}) "
+ # deco: *bgcurg
+ # - string:
+ # text: "  {capacity}%({estimate}) "
+ # deco: {stack: [ <<: *bgcblock, <<: *linebat]}
+ # - string:
+ # text: "  {capacity}%({estimate}) "
+ # deco: {stack: [ <<: *bgcblock, <<: *linebat]}
+ # - string:
+ # text: "  {capacity}%({estimate}) "
+ # deco: {stack: [ <<: *bgcblock, <<: *linebat]}
+ # - string:
+ # text: "  {capacity}%({estimate}) "
+ # deco: {stack: [ <<: *bgcblock, <<: *linebat]}
+ #- script: # tray
+ # path: /home/dt/.config/yambar/scripts/yambar-tray
+ # content:
+ # empty: {}
+ #- script:
+ # path: /home/dt/.config/yambar/scripts/yambar-tray-width
+ # poll-interval: 10
+ # content:
+ # string:
+ # text: "{padding}"
+ # deco: *combmem
diff --git a/home-manager/soispha/config/yambar/config/laptop.yml b/home-manager/soispha/config/yambar/config/laptop.yml
new file mode 100644
index 00000000..1c169820
--- /dev/null
+++ b/home-manager/soispha/config/yambar/config/laptop.yml
@@ -0,0 +1,234 @@
+---
+# Config file for yambar
+# Note that this may be version-dependent, this file is written for v1.8.0
+
+
+# Font anchors
+font-main: &fontmain Source Code Pro:pixelsize=22
+font-aws: &awesome Font Awesome 5 Free:style=solid:pixelsize=20
+
+# Color anchors
+fg-none: &fgnone 00000000
+fg-1: &fg1 c6ceefff
+fg-blue: &fgblue 99d1dbff
+fg-sapphire: &fgsapp 74c7ecdd
+fg-green: &fggreen a6e3a1dd
+fg-peach: &fgpeach fab387dd
+fg-mauve: &fgmauve cba6f7dd
+fg-teal: &fgteal 94e2d5dd
+fg-lavendar: &fglav b4befedd
+fg-focus: &fgfocus e78284ff
+bg-1: &bg1 303446ff
+bg-tag: &bgtag 585b70ff
+bg-tag2: &bgtag2 45475aff
+bg-urgent: &bgurgent e78284ff
+
+# Background blocks
+background-block: &bgcblock {background: {color: *bg1 }}
+background-block-urgent: &bgcurg {background: {color: *bgurgent }}
+
+# Underlines
+underline-focused: &line {underline: { size: 3, color: *fgfocus}}
+underline-urgent: &lineurgent {underline: { size: 3, color: *fgblue}}
+underline-utils: &lineutil {underline: { size: 3, color: *fgpeach}}
+underline-resources: &linemem {underline: { size: 3, color: *fggreen}}
+underline-battery: &linebat {underline: { size: 3, color: *fgsapp}}
+underline-clock: &lineclock {underline: { size: 3, color: *fgteal}}
+underline-weather: &linewea {underline: { size: 3, color: *fglav}}
+underline-title: &linetitle {underline: { size: 3, color: *bgtag}}
+
+# Combined decorations
+combination-utils: &combutil {stack: [ <<: *bgcblock, <<: *lineutil]}
+combination-resources: &combmem {stack: [ <<: *bgcblock, <<: *linemem]}
+combination-battery: &combbat {stack: [ <<: *bgcblock, <<: *linebat]}
+combination-clock: &combclock {stack: [ <<: *bgcblock, <<: *lineclock]}
+combination-weather: &combwea {stack: [ <<: *bgcblock, <<: *linewea]}
+
+
+### Main
+
+bar:
+ location: top
+ height: 25
+ layer: bottom
+ spacing: 0
+ margin: 10
+ border: {margin: 0, top-margin: 5}
+ foreground: *fg1
+ background: *fgnone
+ font: *fontmain
+
+ ### Left, river tags
+ left:
+ - river:
+ anchors:
+ - id: &name { text: "{id}" }
+ - string: &focus { stack: [ {background: {color: *bg1}} ] }
+ - string: &normal { string: { <<: *name, margin: 10 } }
+ - string:
+ &occupied { string: { <<: *name, deco: {background: {color: *bgtag2}}, margin: 10 } }
+ - string: &urgent { string: { <<: *name, deco: {stack: [background: {color: *bgurgent}, <<: *lineurgent]}, margin: 10 } }
+ - string: &focused { string: { <<: *name, deco: {stack: [background: {color: *bgtag}, <<: *line]}, margin: 10 } }
+ - string: &unfocused { string: { <<: *name, deco: {background: {color: *bgtag2}}, margin: 10 } }
+ - base: &river_base
+ default: *normal
+ conditions:
+ state == focused: *focused
+ state == unfocused: *unfocused
+ state == urgent: *urgent
+ state == invisible:
+ map:
+ conditions:
+ occupied: *occupied
+ ~occupied: *normal
+ content:
+ map:
+ on-click:
+ left: sh -c "riverctl set-focused-tags $((1 << ({id} - 1)))"
+ right: sh -c "riverctl toggle-focused-tags $((1 << ({id} -1)))"
+ middle: sh -c "riverctl toggle-view-tags $((1 << ({id} -1)))"
+ conditions:
+ id == 1: { map: { <<: *river_base } }
+ id == 2: { map: { <<: *river_base } }
+ id == 3: { map: { <<: *river_base } }
+ id == 4: { map: { <<: *river_base } }
+ id == 5: { map: { <<: *river_base } }
+ id == 6: { map: { <<: *river_base } }
+ id == 7: { map: { <<: *river_base } }
+ id == 8: { map: { <<: *river_base } }
+ id == 9: { map: { <<: *river_base } }
+ title:
+ map:
+ default:
+ {
+ string:
+ {
+ text: "{title}",
+ left-margin: 12,
+ right-margin: 12,
+ # max: 35,
+ deco: *linetitle
+ },
+ }
+ conditions:
+ title == "": { string: { text: "" } }
+
+ ### Center, clock & weather gadget
+ center:
+ - clock:
+ time-format: "%H:%M:%S %Z"
+ date-format: "%d/%m/%y (%a)"
+ foreground: *fgblue
+ content:
+ string:
+ text: " {date} {time} "
+ deco: *combclock
+
+ ### Right, system tray
+ right:
+ #- network:
+ # name: wlp5s0
+ # poll-interval: 10
+ # content:
+ # map:
+ # on-click: /bin/sh -c "nmtui"
+ # conditions:
+ # ~carrier: {empty: {}}
+ # carrier:
+ # string: {text: "  {ssid} ", deco: *combutil}
+ #- network:
+ # name: enp4s0
+ # content:
+ # map:
+ # on-click: /bin/sh -c "nmtui"
+ # conditions:
+ # ~carrier:
+ # string: {text: "  Eth failed ", deco: *combutil}
+ # carrier: {empty: {}}
+
+ - script: # Sound volume
+ path: @volume_script@
+ content:
+ map:
+ on-click: /bin/sh -c "pavucontrol"
+ conditions:
+ muted:
+ string:
+ text: " ﱝ "
+ deco: *bgcurg
+ ~muted:
+ string: {text: "  {volume}% ", deco: *combutil}
+
+ - script: # Grade average
+ path: @grade_average_script@
+ content:
+ string:
+ text: "  {grade} "
+ deco: *combmem
+
+ - backlight:
+ name: @backlight@
+ content:
+ - string: {text: "  {percent}% ", deco: *combutil}
+
+ - script: # CPU
+ path: @cpu_script@
+ content:
+ string:
+ text: "  {cpu}% "
+ deco: *combmem
+
+ - script: # Memory info
+ path: @memory_script@
+ content:
+ map:
+ conditions:
+ swapstate:
+ string:
+ text: "  {memperc}%({swapperc}%) "
+ deco: *combmem
+ ~swapstate:
+ string:
+ text: "  {memperc}% "
+ deco: *combmem
+ - script: # Disk space
+ path: @disk_script@
+ content:
+ string:
+ text: "  {diskspace}({diskperc})"
+ deco: *combmem
+ - battery:
+ name: BAT0
+ poll-interval: 30
+ content:
+ list:
+ items:
+ - ramp:
+ tag: capacity
+ items:
+ - string:
+ text: "  {capacity}%({estimate}) "
+ deco: *bgcurg
+ - string:
+ text: "  {capacity}%({estimate}) "
+ deco: {stack: [ <<: *bgcblock, <<: *linebat]}
+ - string:
+ text: "  {capacity}%({estimate}) "
+ deco: {stack: [ <<: *bgcblock, <<: *linebat]}
+ - string:
+ text: "  {capacity}%({estimate}) "
+ deco: {stack: [ <<: *bgcblock, <<: *linebat]}
+ - string:
+ text: "  {capacity}%({estimate}) "
+ deco: {stack: [ <<: *bgcblock, <<: *linebat]}
+ #- script: # tray
+ # path: /home/dt/.config/yambar/scripts/yambar-tray
+ # content:
+ # empty: {}
+ #- script:
+ # path: /home/dt/.config/yambar/scripts/yambar-tray-width
+ # poll-interval: 10
+ # content:
+ # string:
+ # text: "{padding}"
+ # deco: *combmem
diff --git a/home-manager/soispha/config/yambar/default.nix b/home-manager/soispha/config/yambar/default.nix
new file mode 100644
index 00000000..0bcf8419
--- /dev/null
+++ b/home-manager/soispha/config/yambar/default.nix
@@ -0,0 +1,53 @@
+{
+ nixosConfig,
+ sysLib,
+ system,
+ pkgs,
+ grades,
+ yambar_cpu,
+ yambar_memory,
+ ...
+}: let
+ makeScript = {
+ file,
+ dependencies,
+ ...
+ }:
+ sysLib.writeShellScriptWithLibrary {
+ name = "${builtins.baseNameOf file}";
+ src = file;
+ dependencies = dependencies ++ (builtins.attrValues {inherit (pkgs) dash;});
+ }
+ + "/bin/${builtins.baseNameOf file}";
+in {
+ xdg.configFile."yambar/config.yml".source = pkgs.substituteAll {
+ src =
+ if nixosConfig.soispha.laptop.enable
+ then ./config/laptop.yml
+ else ./config/config.yml;
+
+ backlight =
+ if nixosConfig.soispha.laptop.enable
+ then nixosConfig.soispha.laptop.backlight
+ else "";
+ volume_script = makeScript {
+ dependencies = builtins.attrValues {inherit (pkgs) pulseaudio gawk coreutils;};
+ file = ./scripts/sound-volume;
+ };
+ grade_average_script = makeScript {
+ dependencies =
+ [
+ grades.outputs.packages.${system}.default
+ ]
+ ++ (builtins.attrValues {inherit (pkgs) coreutils gawk;});
+ file = ./scripts/grades-average;
+ };
+ cpu_script = yambar_cpu.app.${system}.default.program;
+ memory_script = yambar_memory.app.${system}.default.program;
+
+ disk_script = makeScript {
+ dependencies = builtins.attrValues {inherit (pkgs) gawk btrfs-progs coreutils;};
+ file = ./scripts/disk;
+ };
+ };
+}
diff --git a/home-manager/soispha/config/yambar/scripts/disk b/home-manager/soispha/config/yambar/scripts/disk
new file mode 100755
index 00000000..83b23ad9
--- /dev/null
+++ b/home-manager/soispha/config/yambar/scripts/disk
@@ -0,0 +1,22 @@
+#! /usr/bin/env dash
+
+# shellcheck source=/dev/null
+SHELL_LIBRARY_VERSION="1.1.4" . %SHELL_LIBRARY_PATH
+
+# Main loop
+while true; do
+ # vars
+ used_space=$(btrfs filesystem usage /srv 2> /dev/null | awk '{if ( /Used:/ ) { print $2 } } ' | head -n1)
+ all_space=$(btrfs filesystem usage /srv 2> /dev/null | awk '{if ( /Device size:/ ) { print $3 } } ' | head -n1 | tr -d "GiB")
+
+
+ # Check space available (4) and percentage used (5)
+ spaceperc=$(echo "$(echo "$used_space" | tr -d "GiB" )" "$all_space" | awk '{div=$1/$2;div *= 100; printf"%2d%%\n",div }')
+
+ echo "diskspace|string|$used_space"
+ echo "diskperc|string|$spaceperc"
+ echo ""
+ sleep 1
+done
+
+# vim: ft=sh
diff --git a/home-manager/soispha/config/yambar/scripts/grades-average b/home-manager/soispha/config/yambar/scripts/grades-average
new file mode 100755
index 00000000..20de5684
--- /dev/null
+++ b/home-manager/soispha/config/yambar/scripts/grades-average
@@ -0,0 +1,15 @@
+#! /usr/bin/env dash
+
+# shellcheck source=/dev/null
+SHELL_LIBRARY_VERSION="1.1.4" . %SHELL_LIBRARY_PATH
+
+while true; do
+ grade="$(grades list average | awk '{print $2}')";
+
+ echo "grade|string|$grade";
+ echo "";
+
+ sleep 1;
+done
+
+# vim: ft=sh
diff --git a/home-manager/soispha/config/yambar/scripts/network b/home-manager/soispha/config/yambar/scripts/network
new file mode 100755
index 00000000..8e02d6dc
--- /dev/null
+++ b/home-manager/soispha/config/yambar/scripts/network
@@ -0,0 +1,47 @@
+#! /usr/bin/env dash
+
+# shellcheck source=/dev/null
+SHELL_LIBRARY_VERSION="1.1.4" . %SHELL_LIBRARY_PATH
+
+retest=120
+retest_if_con_fails=10
+backend=nmcli
+
+case "$backend" in
+ "nmcli") # Test for connectivity with nmcli
+ while true; do
+ connection_status=$(nmcli networking connectivity)
+ if [ "$connection_status" = "full" ]; then
+ echo "internet|string|Connected"
+ echo ""
+ sleep $retest
+ else
+ echo "internet|string|Disconnected"
+ echo ""
+ sleep $retest_if_con_fails
+ fi
+ done
+ ;;
+ "ping") # Test for connectivity with ping
+ ip_address='8.8.8.8'
+ ping_number=3
+
+ while true; do
+
+ ping_result=$(mktmp)
+ ping $ip_address -c $ping_number -q | awk 'BEGIN {FS="/"} END {print $5}' > "$ping_result"
+
+ if [ "$(cat "$ping_result" | wc -l)" -eq 0 ]; then
+ echo "med|string|No connection"
+ echo ""
+ sleep $retest_if_con_fails
+ else
+ echo "med|string|$(cat "$ping_result") ms"
+ echo ""
+ sleep $retest
+ fi
+ done
+ ;;
+esac
+
+# vim: ft=sh
diff --git a/home-manager/soispha/config/yambar/scripts/old/amixer-monitor b/home-manager/soispha/config/yambar/scripts/old/amixer-monitor
new file mode 100755
index 00000000..9e75acfa
--- /dev/null
+++ b/home-manager/soispha/config/yambar/scripts/old/amixer-monitor
@@ -0,0 +1,24 @@
+#!/bin/sh
+# An improved amixer script that actually detects volume beyond 100%
+
+
+SLEEPTIME=1
+
+
+while true; do
+
+ volume=$(pactl get-sink-volume 0 | awk 'BEGIN { FS="/"} {print $2 }' | tr -d "%" | tr -d ' ')
+
+ if [ "$volume" -eq 0 ]; then
+ echo "muted|bool|true"
+
+ else
+ # Read sink volume in percentages
+ echo "volume|string|$volume"
+ echo "muted|bool|false"
+ fi
+
+ echo ""
+ sleep "$SLEEPTIME"
+
+done
diff --git a/home-manager/soispha/config/yambar/scripts/old/cpu b/home-manager/soispha/config/yambar/scripts/old/cpu
new file mode 100755
index 00000000..bae820d0
--- /dev/null
+++ b/home-manager/soispha/config/yambar/scripts/old/cpu
@@ -0,0 +1,126 @@
+#!/bin/bash
+# I didn't write this script; this is almost directly copied from the dnkl/yambar github.
+
+
+# cpu.sh - measures CPU usage at a configurable sample interval
+#
+# Usage: cpu.sh INTERVAL_IN_SECONDS
+#
+# This script will emit the following tags on stdout (N is the number
+# of logical CPUs):
+#
+# Name Type
+# --------------------
+# cpu range 0-100
+# cpu0 range 0-100
+# cpu1 range 0-100
+# ...
+# cpuN-1 range 0-100
+#
+# I.e. ‘cpu’ is the average (or aggregated) CPU usage, while cpuX is a
+# specific CPU’s usage.
+#
+# Example configuration (update every second):
+#
+# - script:
+# path: /path/to/cpu.sh
+# args: [1]
+# content: {string: {text: "{cpu}%"}}
+#
+
+interval=2
+
+case ${interval} in
+ ''|*[!0-9]*)
+ echo "interval must be an integer"
+ exit 1
+ ;;
+ *)
+ ;;
+esac
+
+# Get number of CPUs, by reading /proc/stat
+# The output looks like:
+#
+# cpu A B C D ...
+# cpu0 A B C D ...
+# cpu1 A B C D ...
+# cpuN A B C D ...
+#
+# The first line is a summary line, accounting *all* CPUs
+IFS=$'\n' readarray -t all_cpu_stats < <(grep -e "^cpu" /proc/stat)
+cpu_count=$((${#all_cpu_stats[@]} - 1))
+
+# Arrays of ‘previous’ idle and total stats, needed to calculate the
+# difference between each sample.
+prev_idle=()
+prev_total=()
+for i in $(seq ${cpu_count}); do
+ prev_idle+=(0)
+ prev_total+=(0)
+done
+
+prev_average_idle=0
+prev_average_total=0
+
+while true; do
+ IFS=$'\n' readarray -t all_cpu_stats < <(grep -e "^cpu" /proc/stat)
+
+ usage=() # CPU usage in percent, 0 <= x <= 100
+
+ average_idle=0 # All CPUs idle time since boot
+ average_total=0 # All CPUs total time since boot
+
+ for i in $(seq 0 $((cpu_count - 1))); do
+ # Split this CPUs stats into an array
+ stats=($(echo "${all_cpu_stats[$((i + 1))]}"))
+
+ # man procfs(5)
+ user=${stats[1]}
+ nice=${stats[2]}
+ system=${stats[3]}
+ idle=${stats[4]}
+ iowait=${stats[5]}
+ irq=${stats[6]}
+ softirq=${stats[7]}
+ steal=${stats[8]}
+ guest=${stats[9]}
+ guestnice=${stats[10]}
+
+ # Guest time already accounted for in user
+ user=$((user - guest))
+ nice=$((nice - guestnice))
+
+ idle=$((idle + iowait))
+
+ total=$((user + nice + system + irq + softirq + idle + steal + guest + guestnice))
+
+ average_idle=$((average_idle + idle))
+ average_total=$((average_total + total))
+
+ # Diff since last sample
+ diff_idle=$((idle - prev_idle[i]))
+ diff_total=$((total - prev_total[i]))
+
+ usage[i]=$((100 * (diff_total - diff_idle) / diff_total))
+
+ prev_idle[i]=${idle}
+ prev_total[i]=${total}
+ done
+
+ diff_average_idle=$((average_idle - prev_average_idle))
+ diff_average_total=$((average_total - prev_average_total))
+
+ average_usage=$((100 * (diff_average_total - diff_average_idle) / diff_average_total))
+
+ prev_average_idle=${average_idle}
+ prev_average_total=${average_total}
+
+ echo "cpu|range:0-100|${average_usage}"
+ for i in $(seq 0 $((cpu_count - 1))); do
+ echo "cpu${i}|range:0-100|${usage[i]}"
+ done
+
+ echo ""
+ sleep "${interval}"
+done
diff --git a/home-manager/soispha/config/yambar/scripts/old/dfspace b/home-manager/soispha/config/yambar/scripts/old/dfspace
new file mode 100755
index 00000000..0b262481
--- /dev/null
+++ b/home-manager/soispha/config/yambar/scripts/old/dfspace
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+# Sleep seconds
+timer="60"
+
+# Main loop
+while true; do
+
+ # vars
+ used_space=$(btrfs filesystem usage / 2> /dev/null | awk '{if ( /Used:/ ) { print $2 } } ' | head -n1)
+ all_space=$(btrfs filesystem usage / 2> /dev/null | awk '{if ( /Device size:/ ) { print $3 } } ' | head -n1 | tr -d "GiB")
+
+
+ # Check space available (4) and percentage used (5)
+ spaceperc=$(echo "$(echo "$used_space" | tr -d "GiB" )" "$all_space" | awk '{div=$1/$2;div *= 100; printf"%2d%%\n",div }')
+
+ echo "diskspace|string|$used_space"
+ echo "diskperc|string|$spaceperc"
+ echo ""
+ sleep $timer
+
+done
+
diff --git a/home-manager/soispha/config/yambar/scripts/old/grades-average b/home-manager/soispha/config/yambar/scripts/old/grades-average
new file mode 100755
index 00000000..a04b958c
--- /dev/null
+++ b/home-manager/soispha/config/yambar/scripts/old/grades-average
@@ -0,0 +1,12 @@
+#!/bin/sh
+# shellcheck disable=SC2086
+# shellcheck source=/dev/null
+. ~/.local/lib/shell/lib
+
+grade=$(grades list average | awk '{print $2}');
+
+echo "grade|string|$grade";
+echo "";
+
+
+if [ -d /tmp/LIB_FILE_TEMP_DIR/ ];then rm -r /tmp/LIB_FILE_TEMP_DIR/; fi
diff --git a/home-manager/soispha/config/yambar/scripts/old/meminfo b/home-manager/soispha/config/yambar/scripts/old/meminfo
new file mode 100755
index 00000000..0156e94c
--- /dev/null
+++ b/home-manager/soispha/config/yambar/scripts/old/meminfo
@@ -0,0 +1,37 @@
+#!/bin/sh
+# Checks memory usage
+
+# Number of seconds to retest
+timer=5
+
+# Main loop
+while true; do
+
+ mem_total=$(LANG=C free -b|awk '/^Mem:/{print $2}')
+ mem_used=$(LANG=C free -b|awk '/^Mem:/{print $3}')
+ swap_total=$(LANG=C free -b|awk '/^Swap:/{print $2}')
+ swap_used=$(LANG=C free -b|awk '/^Swap:/{print $3}')
+
+
+ memperc=$(echo "$mem_used" "$mem_total" | awk '{ div = 100 * ($1 / $2)} { printf "%.0f ", div }' | tr -d ' ' )
+ swapperc=$(echo "$swap_used" "$swap_total" | awk '{
+ if ( $1 == 0 || $2 == 0 ) {
+ print "%"
+ } else {
+ div = 100 * ($1 / $2);
+ printf "%.0f ", div
+}
+}' | tr -d ' ' )
+
+
+echo "memperc|string|$memperc"
+if [ "$swapperc" = "%" ];then
+ echo "swapstate|bool|false"
+else
+ echo "swapperc|string|$swapperc"
+ echo "swapstate|bool|true"
+fi
+echo ""
+sleep "$timer"
+
+done
diff --git a/home-manager/soispha/config/yambar/scripts/old/nmclitest b/home-manager/soispha/config/yambar/scripts/old/nmclitest
new file mode 100755
index 00000000..3e8bc73a
--- /dev/null
+++ b/home-manager/soispha/config/yambar/scripts/old/nmclitest
@@ -0,0 +1,23 @@
+#!/bin/sh
+# Test for connectivity with nmcli
+
+Timer=${1:-120} # Number of seconds to retest
+Timer2=${2:-10} # Number of seconds to retest if connection fails
+
+# Main loop
+while true; do
+
+ CONN=$(nmcli networking connectivity)
+
+ if [[ "$CONN" == "full" ]]; then
+ echo "internet|string|Connected"
+ echo ""
+ sleep $Timer
+ else
+ echo "internet|string|Disconnected"
+ echo ""
+ sleep $Timer2
+ fi
+
+done
+
diff --git a/home-manager/soispha/config/yambar/scripts/old/pingtest b/home-manager/soispha/config/yambar/scripts/old/pingtest
new file mode 100755
index 00000000..2b5f9998
--- /dev/null
+++ b/home-manager/soispha/config/yambar/scripts/old/pingtest
@@ -0,0 +1,28 @@
+#!/bin/sh
+# Test for connectivity with ping
+
+Timer=${1:-120} # Number of seconds to retest
+Timer2=${2:-10} # Number of seconds to retest if connection fails
+IP=${3:-'8.8.8.8'} # IP address to test, defaults to Google
+PCount=${4:-3} # Number of pings to send
+
+# Main loop
+while true; do
+
+ # Pings the IP address for five times
+ PINGSTR=$(ping $IP -c $PCount -q)
+ # Use text formatting to get min/max ms delays
+ MED=$(echo $PINGSTR | sed 's/min\/avg\/max\/mdev = /\n/g' | tail -n 1 | sed 's/\//\t/g' | cut -f2)
+
+ if [[ "$MED" == "" ]]; then
+ echo "med|string|No connection"
+ echo ""
+ sleep $Timer2
+ else
+ echo "med|string|$MED ms"
+ echo ""
+ sleep $Timer
+ fi
+
+done
+
diff --git a/home-manager/soispha/config/yambar/scripts/old/yambar-tray b/home-manager/soispha/config/yambar/scripts/old/yambar-tray
new file mode 100755
index 00000000..1704c6dd
--- /dev/null
+++ b/home-manager/soispha/config/yambar/scripts/old/yambar-tray
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+
+pkill stalonetray
+pkill trayer
+
+# launch a tray.
+echo
+
+sleep 0.1 # make sure yambar starts first so we can draw on tpo of it
+
+# trayer-srg fork!
+trayer \
+ --edge top \
+ --tint 0x24242400 \
+ --align right \
+ --height 20 \
+ --expand false \
+ --transparent true \
+ --alpha 0 \
+ --width 20 \
+ --monitor primary \
+ --widthtype request
+ # &>/dev/null
+
+
+
diff --git a/home-manager/soispha/config/yambar/scripts/old/yambar-tray-width b/home-manager/soispha/config/yambar/scripts/old/yambar-tray-width
new file mode 100755
index 00000000..00544e70
--- /dev/null
+++ b/home-manager/soispha/config/yambar/scripts/old/yambar-tray-width
@@ -0,0 +1,28 @@
+#!/bin/sh
+# shellcheck disable=SC2086
+# shellcheck source=/dev/null
+. ~/.local/lib/shell/lib
+
+
+CHARWIDTH=8 # i guess?
+
+tray_width_px() {
+ xwininfo -name panel | # trayer names its window "panel"
+ grep -i width: |
+ awk '{print $2}'
+}
+
+px_to_spaces() {
+ spaces="$((1 + ${1:-0} / $CHARWIDTH))"
+ printf "% *s\n" $spaces
+}
+
+sleep 0.2 # be sure trayer is already up
+
+output="$(px_to_spaces `tray_width_px`)"
+echo "padding|string|$output"
+echo ""
+
+
+
+if [ -d /tmp/LIB_FILE_TEMP_DIR/ ];then rm -r /tmp/LIB_FILE_TEMP_DIR/; fi
diff --git a/home-manager/soispha/config/yambar/scripts/sound-volume b/home-manager/soispha/config/yambar/scripts/sound-volume
new file mode 100755
index 00000000..8494cbd5
--- /dev/null
+++ b/home-manager/soispha/config/yambar/scripts/sound-volume
@@ -0,0 +1,20 @@
+#! /usr/bin/env dash
+
+# shellcheck source=/dev/null
+SHELL_LIBRARY_VERSION="1.1.4" . %SHELL_LIBRARY_PATH
+
+while true; do
+ volume="$(pactl get-sink-volume 0 | awk 'BEGIN { FS="/" } {gsub("%","",$2); gsub(" ","",$2)} {printf $2}')"
+
+ if [ "$volume" -eq 0 ]; then
+ echo "muted|bool|true"
+ else
+ echo "volume|string|$volume"
+ echo "muted|bool|false"
+ fi
+ echo ""
+
+ sleep 1;
+done
+
+# vim: ft=sh