-
Notifications
You must be signed in to change notification settings - Fork 0
/
sixelPreview.sh
executable file
·78 lines (65 loc) · 1.63 KB
/
sixelPreview.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#!/bin/bash
usage() {
echo "Useag: sixelPreviewer.sh [OPTIONS] WATCH_FILE_EXT"
echo
echo "Options:"
echo " -h, --help : print help."
echo " -c, --css CSS_PATH : stylesheet path."
echo " -w : fit width mode."
echo
exit 1
}
# オプション抽出
while [ -n "$1" ]
do
case "${1}" in
'-h'|'--help' )
usage
exit 1
;;
'-c'|'--css' )
shift 1
css_path=${1}
shift 1
;;
'-w' )
fit_width_mode_param="yes"
shift 1
;;
*)
param+=( "${1}" )
shift 1
;;
esac
done
# オプション以外の抽出
ext=${param[0]}
run_tty=`tty`
# 第一引数で指定された拡張子の画像ファイルを監視し、
# 変更があれば画像表示コマンドを実行する設定ファイルを作成。
pi_opts=""
if [ "${fit_width_mode_param}" != "" ]; then
pi_opts="${pi_opts} -w"
fi
if [ "${css_path}" != "" ]; then
pi_opts="${pi_opts} -c ${css_path}"
fi
GOEMON_FILE=" # Generated by sixelPreview.sh
tasks:
- match: '*.${ext}'
commands:
- bash printImg.sh ${pi_opts} \${GOEMON_TARGET_FILE} ${run_tty}
"
# goemon 設定ファイル作成
cat <<< "${GOEMON_FILE}" > ./goemon.yml
# goemon 起動
bash -c 'goemon -- 2> /dev/null & echo $! > /tmp/sixelPreviewer/.goemon_pid' &
# preview 用 bash の起動
PS1="" /bin/bash --norc
# goemon 停止
GOEMON_PID=`cat /tmp/sixelPreviewer/.goemon_pid`
kill -kill ${GOEMON_PID}
# PID 記録ファイル削除
rm /tmp/sixelPreviewer/.goemon_pid
# goemon 設定ファイル削除
rm goemon.yml