2 # ron@18james.com, 11 Dec 2003
3 # With modifications by Angus Leeming, tweaked by Bennett Helm 21 Jan 2007
8 echo "Usage: parse_serverpipe lyxrc" >&2
12 # The output of this sed script is output to STDOUT
13 LYXPIPE
=`sed -n '/^\\\\serverpipe /{
14 # First consider that the file path may be quoted
15 s/^ *\\\\serverpipe \{1,\}\"\([^"]\{1,\}\)\" *$/\1/
19 s/^ *\\\\serverpipe \{1,\}\(.*\)/\1/
23 # Change from single to double shell quoting temporarily...
26 # Revert to single shell quotes
38 USER_SUPPORT
="${HOME}/Library/Application Support"
39 test -d "${USER_SUPPORT}" ||
{
40 echo "Something horrible is going on. No user support directory $ {USER_SUPPORT}" >&2
44 for LYXDIR
in LyX-1.6 LyX-1.5 LyX-1.4 LyX
46 ABS_USER_LYXDIR
="${USER_SUPPORT}/${LYXDIR}"
47 test -d "${ABS_USER_LYXDIR}" ||
{
48 echo "Failed to find ABS_USER_LYXDIR: ${ABS_USER_LYXDIR}" >&2
51 PREFERENCES
="${ABS_USER_LYXDIR}/preferences"
52 test -r "${PREFERENCES}" ||
{
53 echo "Failed to find PREFERENCES: ${PREFERENCES}" >&2
56 # preferences file exists.
57 # See if it contains a \\serverpipe entry
58 # Whether it does or not, break out of the loop because we've
59 # found the preferences file.
60 LYXPIPE
=`parse_serverpipe "${PREFERENCES}"`
64 echo "preferences file sets lyxpipe as ${LYXPIPE}"
66 test -z "${LYXPIPE}" && {
67 ABS_SYSTEM_LYXDIR
='/Applications/LyX.app/Contents/Resources'
68 test -d "${ABS_SYSTEM_LYXDIR}" ||
{
69 echo "Failed to find ABS_SYSTEM_LYXDIR: ${ABS_SYSTEM_LYXDIR}" >&2
72 LYXRC_DIST
="${ABS_SYSTEM_LYXDIR}/lyxrc.dist"
73 test -r "${LYXRC_DIST}" ||
{
74 echo "Failed to find LYXRC_DIST: ${LYXRC_DIST}" >&2
79 # See if it contains a \\serverpipe entry
80 LYXPIPE
=`parse_serverpipe "${LYXRC_DIST}"`
83 echo "Our best guess sets lyxpipe as ${LYXPIPE}"
87 file=`echo "$1" | sed 's|^/private||'`
89 MAC_LYXPIPE_CONTENTS
="LYXCMD:macdvix:server-goto-file-row:$file $2"
90 echo "$MAC_LYXPIPE_CONTENTS"
91 echo "$MAC_LYXPIPE_CONTENTS" > "${LYXPIPE}".
in ||
exit
92 read < "${LYXPIPE}".out ||
exit