diff options
author | Soispha <soispha@vhack.eu> | 2023-12-31 17:28:02 +0100 |
---|---|---|
committer | Soispha <soispha@vhack.eu> | 2023-12-31 17:28:02 +0100 |
commit | f3ca16097f4d1f6b817a5dca11b199ca1e10beff (patch) | |
tree | bdad2ccbbfb947f80fd76b1edc87ebdf9e5324f1 /hm | |
parent | chore(version): v1.23.0 (diff) | |
download | nixos-config-f3ca16097f4d1f6b817a5dca11b199ca1e10beff.tar.gz nixos-config-f3ca16097f4d1f6b817a5dca11b199ca1e10beff.zip |
feat(hm/conf/yambar): Show currently playing song in bar
Diffstat (limited to 'hm')
-rw-r--r-- | hm/soispha/conf/yambar/config/config.yml | 9 | ||||
-rw-r--r-- | hm/soispha/conf/yambar/config/laptop.yml | 9 | ||||
-rw-r--r-- | hm/soispha/conf/yambar/default.nix | 9 | ||||
-rwxr-xr-x | hm/soispha/conf/yambar/scripts/mpd_song_name | 22 |
4 files changed, 49 insertions, 0 deletions
diff --git a/hm/soispha/conf/yambar/config/config.yml b/hm/soispha/conf/yambar/config/config.yml index 7072ae18..354dcb5c 100644 --- a/hm/soispha/conf/yambar/config/config.yml +++ b/hm/soispha/conf/yambar/config/config.yml @@ -146,6 +146,15 @@ bar: # string: {text: " Eth failed ", deco: *combutil} # carrier: {empty: {}} + - script: # mpd song name + path: @mpd_song_name_script@ + content: + map: + conditions: + playing: + string: {text: "{song}", deco: *combwea} + ~playing: + string: {text: "", deco: *bgclock} - script: # Sound volume path: @volume_script@ content: diff --git a/hm/soispha/conf/yambar/config/laptop.yml b/hm/soispha/conf/yambar/config/laptop.yml index 3ca4a5bb..348e3ba3 100644 --- a/hm/soispha/conf/yambar/config/laptop.yml +++ b/hm/soispha/conf/yambar/config/laptop.yml @@ -146,6 +146,15 @@ bar: # string: {text: " Eth failed ", deco: *combutil} # carrier: {empty: {}} + - script: # mpd song name + path: @mpd_song_name_script@ + content: + map: + conditions: + playing: + string: {text: "{song}", deco: *combwea} + ~playing: + string: {text: "", deco: *bgclock} - script: # Sound volume path: @volume_script@ content: diff --git a/hm/soispha/conf/yambar/default.nix b/hm/soispha/conf/yambar/default.nix index 0bcf8419..f5f17b4a 100644 --- a/hm/soispha/conf/yambar/default.nix +++ b/hm/soispha/conf/yambar/default.nix @@ -30,10 +30,17 @@ in { if nixosConfig.soispha.laptop.enable then nixosConfig.soispha.laptop.backlight else ""; + + mpd_song_name_script = makeScript { + dependencies = builtins.attrValues {inherit (pkgs) mpc-cli;}; + file = ./scripts/mpd_song_name; + }; + volume_script = makeScript { dependencies = builtins.attrValues {inherit (pkgs) pulseaudio gawk coreutils;}; file = ./scripts/sound-volume; }; + grade_average_script = makeScript { dependencies = [ @@ -42,7 +49,9 @@ in { ++ (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 { diff --git a/hm/soispha/conf/yambar/scripts/mpd_song_name b/hm/soispha/conf/yambar/scripts/mpd_song_name new file mode 100755 index 00000000..d5f03335 --- /dev/null +++ b/hm/soispha/conf/yambar/scripts/mpd_song_name @@ -0,0 +1,22 @@ +#!/usr/bin/env dash + +# shellcheck source=/dev/null +SHELL_LIBRARY_VERSION="1.10.0" . %SHELL_LIBRARY_PATH + + +while true; do + state="$(mpc status '%state%')"; + + if [ "$state" = "playing" ]; then + song="$(mpc --format '[[%artist% - ]%title%]|[%file%]' current)"; + echo "playing|bool|true" + echo "song|string|$song" + else + echo "playing|bool|false" + fi + echo "" # commit + + sleep 2; +done + +# vim: ft=sh |