Skip to content

Instantly share code, notes, and snippets.

@DanH42
Created May 25, 2018 19:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DanH42/ed3632dfcd697f920ff6f11a451e0967 to your computer and use it in GitHub Desktop.
Save DanH42/ed3632dfcd697f920ff6f11a451e0967 to your computer and use it in GitHub Desktop.
Pluma script to open a terminal to the current document's directory, *including* gvfs locations
#!/bin/bash
OPEN_DIR="$HOME"
if [ ! -z $PLUMA_CURRENT_DOCUMENT_SCHEME ]; then
case $PLUMA_CURRENT_DOCUMENT_SCHEME in
file)
OPEN_DIR="$PLUMA_CURRENT_DOCUMENT_DIR"
;;
smb)
PLUMA_DOC_USER=${PLUMA_CURRENT_DOCUMENT_URI%%@*}
PLUMA_DOC_USER=${PLUMA_DOC_USER##*//}
PLUMA_DOC_DOMAIN=${PLUMA_DOC_USER%%;*}
PLUMA_DOC_USER=${PLUMA_DOC_USER##*;}
PLUMA_DOC_PATH=${PLUMA_CURRENT_DOCUMENT_URI##*@}
PLUMA_DOC_HOST=${PLUMA_DOC_PATH%%/*}
PLUMA_DOC_SHARE=${PLUMA_DOC_PATH#*/}
PLUMA_DOC_SHARE=${PLUMA_DOC_SHARE%%/*}
PLUMA_DOC_PATH=${PLUMA_DOC_PATH#*/}
PLUMA_DOC_PATH=${PLUMA_DOC_PATH#*/}
PLUMA_DOC_PATH=${PLUMA_DOC_PATH%/*}
GVFS_DIR="smb-share:domain=$PLUMA_DOC_DOMAIN,server=$PLUMA_DOC_HOST,share=$PLUMA_DOC_SHARE,user=$PLUMA_DOC_USER"
OPEN_DIR="/var/run/user/1000/gvfs/$GVFS_DIR/$PLUMA_DOC_PATH"
;;
sftp)
PLUMA_DOC_USER=${PLUMA_CURRENT_DOCUMENT_URI%%@*}
PLUMA_DOC_USER=${PLUMA_DOC_USER##*//}
PLUMA_DOC_PATH=${PLUMA_CURRENT_DOCUMENT_URI##*@}
PLUMA_DOC_HOST=${PLUMA_DOC_PATH%%/*}
PLUMA_DOC_PATH=${PLUMA_DOC_PATH#*/}
PLUMA_DOC_PATH=${PLUMA_DOC_PATH%/*}
GVFS_DIR="sftp:host=$PLUMA_DOC_HOST,user=$PLUMA_DOC_USER"
OPEN_DIR="/var/run/user/1000/gvfs/$GVFS_DIR/$PLUMA_DOC_PATH"
;;
*)
OPEN_DIR="/var/run/user/1000/gvfs"
;;
esac
fi
if [ ! -d $OPEN_DIR ]; then
OPEN_DIR="/var/run/user/1000/gvfs"
fi
mate-terminal --working-directory=$OPEN_DIR &
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment