commit b718d6d305d4d413cd2a54055540c607b761ef15
parent 994bc80e821c9ff0d94bfa1d13ad5081c54bbcff
Author: Arun <engineerarun@gmail.com>
Date: Wed, 23 Feb 2022 21:11:22 +0530
Merge pull request #1314 from Darukutsu/master
Added a user-script/plugin to send selected files using GSConnect.
Diffstat:
2 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/plugins/README.md b/plugins/README.md
@@ -37,6 +37,7 @@ Plugins extend the capabilities of `nnn`. They are _executable_ scripts (or bina
| [imgview](imgview) | View (thumbnail)images, set wallpaper, [rename](https://github.com/jarun/nnn/wiki/Basic-use-cases#browse-rename-images) and [more](https://wiki.archlinux.org/index.php/Sxiv#Assigning_keyboard_shortcuts)| sh | _see in-file docs_ |
| [ipinfo](ipinfo) | Fetch external IP address and whois information | sh | curl, whois |
| [kdeconnect](kdeconnect) | Send selected files to an Android device [✓] | sh | kdeconnect-cli |
+| [gsconnect](gsconnect) | GNOME's implementation of kdeconnect [✓] | sh | GNOME, GSConnect-extension|
| [launch](launch) | GUI application launcher | sh | fzf |
| [mimelist](mimelist) | List files by mime in subtree | sh | - |
| [moclyrics](moclyrics) | Show lyrics of the track playing in moc | sh | [ddgr](https://github.com/jarun/ddgr), [moc](http://moc.daper.net/) |
diff --git a/plugins/gsconnect b/plugins/gsconnect
@@ -0,0 +1,19 @@
+#!/usr/bin/env sh
+
+#set -x
+# Description: Send the selected (or hovered) files to your Android device using gsconnect daemon.js.
+# GSConnect must be configured on the Android device and the PC.
+#
+# Shell: POSIX compliant
+# Author: Darukutsu
+selection=${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection}
+gsconnect=$HOME/.local/share/gnome-shell/extensions/gsconnect@andyholmes.github.io/service/daemon.js
+id=$($gsconnect -l)
+
+if [ -s "$selection" ]; then
+ xargs -0 < "$selection" -I{} "$gsconnect" -d "$id" --share-file="{}"
+ # Clear selection
+ printf "-" > "$NNN_PIPE"
+else
+ "$gsconnect" -d "$id" --share-file="$2/$1"
+fi