exit 1
}
-# we prefere newer lyx releases here... the last should catch all
-for LYXDIR in LyX-2.0* LyX-2* LyX-1.6* LyX-1.5* LyX-1.4* LyX*
+# we prefer newer lyx releases here...
+for LYXDIR in LyX-2.4 LyX-2.3 LyX-2.2 LyX-2.1 LyX-2.0 LyX-1.6 LyX-1.5 LyX-1.4 LyX
do
ABS_USER_LYXDIR="${USER_SUPPORT}/${LYXDIR}"
test -d "${ABS_USER_LYXDIR}" || {
}
# preferences file exists.
# See if it contains a \\serverpipe entry
- # Whether it does or not, break out of the loop because we've
- # found the preferences file.
LYXPIPE=$(parse_serverpipe "${PREFERENCES}")
+ # break if pipe entry and pipe detected
+ # hopefully it's the correct LyX instance...
if [ -n "$LYXPIPE" -a -p "$LYXPIPE".in ]; then
break
fi
+ # now check for default pipe location
+ if [ -p "${ABS_USER_LYXDIR}"/.lyxpipe.in ]; then
+ LYXPIPE="${ABS_USER_LYXDIR}/.lyxpipe"
+ break
+ fi
done
# echo "preferences file sets lyxpipe as ${LYXPIPE}"
test -z "${LYXPIPE}" && {
- ABS_SYSTEM_LYXDIR='/Applications/LyX.app/Contents/Resources'
+ ABS_SYSTEM_LYXDIR=$(dirname "$0")
+ ABS_SYSTEM_LYXDIR=$(dirname "${ABS_SYSTEM_LYXDIR}")"/Resources"
test -d "${ABS_SYSTEM_LYXDIR}" || {
echo "Failed to find ABS_SYSTEM_LYXDIR: ${ABS_SYSTEM_LYXDIR}" >&2
exit 1
}
if [ -n "$LYXPIPE" -a -p "$LYXPIPE".in ]; then
- file=$(echo "$1" | sed 's|^/private||')
-
- MAC_LYXPIPE_CONTENTS="LYXCMD:macdvix:server-goto-file-row:$file $2"
+ MAC_LYXPIPE_CONTENTS="LYXCMD:macdvix:server-goto-file-row:$1 $2"
# echo "$MAC_LYXPIPE_CONTENTS"
echo "$MAC_LYXPIPE_CONTENTS" > "${LYXPIPE}".in || { echo "Cannot write to lyxpipe." ; exit 2 ; }
- read < "${LYXPIPE}".out || { echo "Cannot read from lyxpipe." ; exit 2 ; }
+ while read line ; do
+ echo LyX said: $line
+ done < "${LYXPIPE}".out || { echo "Cannot read from lyxpipe." ; exit 2 ; }
+ test -x /usr/bin/osascript && /usr/bin/osascript -e 'tell application id "org.lyx.lyx" to activate'
else
echo "Our best guess sets lyxpipe as ${LYXPIPE}"
echo "But the lyxpipe could not be found."