4

Я работаю над программой, которая генерирует изображение. Я могу оставить изображение открытым в режиме предварительного просмотра, и когда изображение меняется, оно обновляется, но только когда я нажимаю на него alt-tab (извините, команда-tab). Я хотел бы, чтобы изображение было на виду, и чтобы оно автоматически обновлялось, не касаясь его. Это возможно?

(Я нашел один нелепый способ сделать это с помощью скрипта, который преобразует изображение в файл PDF, который я могу оставить открытым в Skim.app (программа для чтения PDF), которая обладает такой способностью.)

7 ответов7

6

Откройте редактор AppleScript и введите следующее:

tell application "Preview" to activate
tell application "AppleScript Editor" to activate

Замените имя второго приложения на программу, которую вы хотите иметь первой. Сохраните как scpt и включите вызов этого скрипта в вашу программу для обновления Preview:

osascript refresh-preview.scpt

В качестве альтернативы вы можете использовать Automator для создания службы, которая не получает входных данных с помощью действия « Выполнить AppleScript» и приведенного выше кода. Сохраните и назначьте сочетание клавиш в Системных настройках. Не совсем автоматически, но проще, чем заставить мышь сфокусироваться на Preview.


Использование программы open было бы другой идеей, хотя использование ключа -g (не выводить на передний план) открывает файл в новом окне предварительного просмотра каждый раз, когда он изменяется, даже если он уже открыт. Все окна обновляются без вывода на передний план.

4

Visual Studio Code позволяет открывать изображения, а также автоматически обновлять их без какого-либо вмешательства.

2

Вы можете использовать XEE, это программа для просмотра изображений, которая включает автообновление. (http://xee.c3.cx/)

1

Apollo One (только для macOS), кажется, хорошо справляется с этой задачей, даже когда работает в полноэкранном режиме и не имеет вкладок.

Это основной просмотрщик изображений. Все, что мне нужно было сделать, это открыть правильное изображение, и оно будет перезагружаться при изменении файла изображения даже на полном экране на втором мониторе.

В один момент он потерпел крах, когда нагрузка на процессор была очень высокой, и мне пришлось перезагрузить его. Просто что-то, о чем нужно знать.

Кроме того, если у вас возникли проблемы с переключением на другое изображение в той же папке, нужно просто убедиться, что это единственное изображение в папке.

См. Также веб-страницу Apollo One (кажется, в данный момент она недоступна).

1

Вы можете использовать яблочный скрипт, чтобы сделать предварительный просмотр каждые х секунд.

1

Вы можете выполнить задачу, просто добавив следующий псевдоним в сценарии запуска оболочки (bashrc (или аналогичный))

alias prefresh='echo "tell application \"Preview\" to activate" | osascript -'

Тогда просто вызывайте псевдоним, когда вам это нужно.

0

Вы можете открыть изображение в Safari и запустить AppleScript, чтобы перезагрузить его, не активируя окно:

tell application "Safari"
    set docUrl to URL of document 1
    set URL of document 1 to docUrl
end tell

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .