Одна вещь, которую вы могли бы сделать, это передать --url
опцию growlnotify
.
Подбирая Vaz пример:
(
# load some cat pics... I promise they are actually cat pics but
# I don't promise they won't go link-dead since I linked to google image caches
# or something.
img1=/tmp/catpic1; curl -L bit.ly/16IRub3 > $img1
img2=/tmp/catpic2; curl -L bit.ly/XUCzHW > $img2
# schedule growls... replace this of course with whatever
# actually sends your growls
for i in $img1 $img2; do
( growlnotify -s -m "oh noes $i" --image $i --url "file://ABSOLUTE_PATH/$i" ) &
sleep 4
done
)
Обратите внимание, что я удалил -w
из параметров, а также команду open
, которая последовала за этим.Поскольку мы используем --url
, growlnotify
обрабатывает обратный вызов самостоятельно.Вам не нужно приостанавливать выполнение, и этот метод, вероятно, решит проблему, которую Vaz выявил для нескольких уведомлений.Передав строку file://...
в --url
, growlnotify
открывает указанный файл в системном приложении по умолчанию после нажатия на уведомление.
Последнее замечание: --url
будет правильно обрабатывать URL только в том случае, если выпередайте строку, начинающуюся с http://
."google.com" или "www.google.com" не будут работать.То же самое относится и к структуре вашей файловой системы, вы должны предоставить что-то вроде file:///Users/you/Pictures/cats.jpg
.
Эта функция была доступна начиная с версии 1.4, но из того, что я проверил, она отсутствует в man
.
Источники: https://code.google.com/p/growl/issues/detail?id=341 https://groups.google.com/d/msg/growldiscuss/nUdYxOevkxI/oYjxdhSEi98J
Надеюсь, это поможет!