summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lass/5pkgs/default.nix1
-rw-r--r--lass/5pkgs/mpv-poll/default.nix40
2 files changed, 41 insertions, 0 deletions
diff --git a/lass/5pkgs/default.nix b/lass/5pkgs/default.nix
index 37b61a4bf..0c9dd94ca 100644
--- a/lass/5pkgs/default.nix
+++ b/lass/5pkgs/default.nix
@@ -8,6 +8,7 @@
ublock = pkgs.callPackage ./firefoxPlugins/ublock.nix {};
vimperator = pkgs.callPackage ./firefoxPlugins/vimperator.nix {};
};
+ mpv-poll = pkgs.callPackage ./mpv-poll/default.nix {};
xmonad-lass =
let src = pkgs.writeNixFromCabal "xmonad-lass.nix" ./xmonad-lass; in
pkgs.haskellPackages.callPackage src {};
diff --git a/lass/5pkgs/mpv-poll/default.nix b/lass/5pkgs/mpv-poll/default.nix
new file mode 100644
index 000000000..ee191843e
--- /dev/null
+++ b/lass/5pkgs/mpv-poll/default.nix
@@ -0,0 +1,40 @@
+{ pkgs, ... }:
+
+pkgs.writeScriptBin "mpv-poll" ''
+ #! ${pkgs.bash}/bin/bash
+
+ pl=$1
+ hist=''${HISTORY:-"./mpv_history"}
+ mpv_options=''${MPV_OPTIONS:-""}
+
+ lastYT=""
+
+ play_video () {
+ toPlay=$1
+ echo $toPlay >> $hist
+ mpv $mpv_options $toPlay
+ }
+
+ if ! [ -e $hist ]; then
+ touch $hist
+ fi
+
+ while :
+ do
+ if [ -s $pl ]; then
+ toPlay=$(head -1 $pl)
+ sed -i '1d' $pl
+ if $(echo $toPlay | grep -Eq 'https?://(www.)?youtube.com/watch'); then
+ lastYT=$toPlay
+ fi
+ play_video $toPlay
+ else
+ if [ -n "$lastYT" ]; then
+ next=$(yt-next $lastYT)
+ lastYT=$next
+ play_video $next
+ fi
+ sleep 1
+ fi
+ done
+''