#!/bin/sh # File: notepadpp-common # Locations: /usr/bin # Author: bgstack15@gmail.com # Startdate: 2019-12-27 # Title: Common Elements for Wrapper script for passing files to notepadpp # Purpose: Converts file paths to a wine format # History: # Usage: # called from notepadpp (which is symlink to notepadpp32 or notepadpp64) # Do not use this by itself. # Reference: # irfanview-common # Improve: if ! test "${NPP_VALID_CALL:-nothing}" = "do_not_set_this_manually" ; then printf "%s\n" "Do not call this script by itself! Use \"notepadpp\". Aborted." false else NPP_VERSION="2019-12-27a" # Define functions expandword() { # call: expandword "${word}" # if file, add it # if directory, expand it # if tarball, extract it and operate on the directory like normal local _word="$( echo "${@}" | sed -e 'sF\/\/F\/Fg;' )" if test -d "${_word}"; then # loop through all files in the directory for _newword in "${_word}"/*; do expandword "${_newword}"; done elif test -f "${_word}"; then # file exists so check if tarball case "${_word}" in *) # assume it is readable and add it to list of files to open echo "File ${_word}" thisfile="$( getwinepath "${_word}" )" wineappfiles="${wineappfiles} ${thisfile}" ;; esac fi } getwinepath() { # call: getwinepath "$foo" wine winepath.exe -w "${@}" } # Define variables alltempdirs="" # prepare files wineappargs= wineappfiles= for word in "${@}"; do expandword "${word}" done wineappfiles="${wineappfiles## }" # run wine cd $WINEPREFIX printf wine "${NPP_EXEC_PATH}" ${wineappargs} ${wineappfiles} wine "${NPP_EXEC_PATH}" ${wineappargs} ${wineappfiles} & wait %1 for thistempdir in ${alltempdirs}; do rm -rf "${thistempdir}" done fi