summaryrefslogtreecommitdiffstats
path: root/scripts/scrolling-title.nix
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--scripts/scrolling-title.nix24
1 files changed, 24 insertions, 0 deletions
diff --git a/scripts/scrolling-title.nix b/scripts/scrolling-title.nix
new file mode 100644
index 0000000..0bafa1b
--- /dev/null
+++ b/scripts/scrolling-title.nix
@@ -0,0 +1,24 @@
+{ pkgs }:
+pkgs.writeShellApplication {
+ name = "scrolling-title";
+ runtimeInputs = with pkgs; [ mpc coreutils ];
+ text = ''
+ WIDTH=16
+ PADDING=" "
+
+ RAW_STR=$(mpc current)
+
+ if [ -z "$RAW_STR" ]; then
+ echo "Stopped"
+ exit 0
+ fi
+
+ STR="$RAW_STR$PADDING"
+ LEN=''${#STR}
+
+ T=$(date +%s)
+ INDEX=$(( T % LEN ))
+
+ # Output the scrolled window
+ echo "$STR$STR" | cut -c "$((INDEX + 1))-$((INDEX + WIDTH))"'';
+}