summaryrefslogtreecommitdiffstats
path: root/mpv-kio.sh
diff options
context:
space:
mode:
authorKyle K <kylek389@gmail.com>2020-09-14 15:33:56 -0500
committerKyle K <kylek389@gmail.com>2020-09-14 15:33:56 -0500
commitbd1ccd73f52bc07b2c54af39a23325542426be64 (patch)
tree5a449afc4ac4d75e35ac4a65a7c59f380ab149de /mpv-kio.sh
parenta7b164f6c2e6943a885cb2b1be00c53a40c19c9a (diff)
downloadgentoox-bd1ccd73f52bc07b2c54af39a23325542426be64.tar.gz
gentoox-bd1ccd73f52bc07b2c54af39a23325542426be64.tar.bz2
gentoox-bd1ccd73f52bc07b2c54af39a23325542426be64.zip
prep for plasma 5.20
Diffstat (limited to 'mpv-kio.sh')
-rwxr-xr-xmpv-kio.sh33
1 files changed, 33 insertions, 0 deletions
diff --git a/mpv-kio.sh b/mpv-kio.sh
new file mode 100755
index 0000000..d5fd724
--- /dev/null
+++ b/mpv-kio.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+uri="${1}"
+cleanup() {
+ kioclient_pid=$(ps -C kioclient5 -o pid=)
+ [ -n "${kioclient_pid}" ] && kill ${kioclient_pid}
+}
+
+trap cleanup EXIT
+use_kio() {
+ $(kioclient5 cat "${1}" | mpv --player-operation-mode=pseudo-gui - > /dev/null) &
+ while ps -C mpv > /dev/null; do
+ sleep 2
+ done
+ exit 0
+}
+
+use_mpv() {
+ mpv --player-operation-mode=pseudo-gui "${1}" &
+ exit 0
+}
+
+command -v mpv > /dev/null || exit 1
+command -v kioclient5 > /dev/null || use_mpv "${uri}"
+case "${uri}" in
+ fish://*) use_kio "${uri}" ;;
+ ftp://*) use_kio "${uri}" ;;
+ nfs://*) use_kio "${uri}" ;;
+ sftp://*) use_kio "${uri}" ;;
+ smb://*) use_kio "${uri}" ;;
+ webdav://*) use_kio "${uri}" ;;
+ *) use_mpv "${uri}" ;;
+esac