]> CyberLeo.Net >> Repos - CDN/j.git/blob - ipcc
j: add ipc to allow spawning editors and browsers outside chroot from files inside...
[CDN/j.git] / ipcc
1 #!/bin/sh -e
2
3 jipc="/tmp/jipc"
4
5 [ -p "${jipc}" ] || { echo "ipcc: ${jipc} not found; ipcd not running?" >&2; exit 1; }
6
7 pebkac() {
8   echo "Usage: ipcc <command> <argument>"
9   echo "Or:    ee <argument>"
10   echo "Or:    ff <argument>"
11   echo ""
12   echo "Command can be one of 'editor' or 'browser'; argument should be a single file."
13   echo "Simplified wrappers 'ee' for editor and 'ff' for browser can also be used."
14   exit 1
15 }
16
17 case "$(basename "${0}")" in
18 ipcc) cmd="${1}"; shift ;;
19 ee)   cmd="editor" ;;
20 ff)   cmd="browser" ;;
21 *)    pebkac ;;
22 esac
23 arg="${1}"
24
25 case "${cmd}" in
26 editor|edit|ee)
27   echo "${arg}" | grep -q '^/' || arg="$(pwd)/${arg}"
28   echo "editor ${arg}" > "${jipc}"
29   ;;
30 browser|browse|ff)
31   echo "${arg}" | grep -vq "://" && echo "${arg}" | grep -vq '^/' && arg="$(pwd)/${arg}"
32   echo "browser ${arg}" > "${jipc}" ;;
33 *) pebkac ;;
34 esac