оновити попередній перегляд з командного рядка


16

У мене є робочий процес (редагування LaTeX в Emacs), який створює PDF-файли, які я потім вивчаю в Preview. Попередній перегляд досить розумний, щоб перезавантажити PDF-файл, коли він змінюється, але це робиться лише тоді, коли я натискаю на додаток і вивожу його на перший план.

Чи є спосіб сказати Preview перезавантажити документ (і залишитися у фоновому режимі) за допомогою командного рядка?

Редагувати: Щоб продовжити, я абсолютно радий зробити невеликий злом AppleScript або що завгодно (я ніколи не використовував AppleScript, але це не може бути занадто важко).

Відповіді:


5

Немає простого рішення, яке я можу придумати.

  • Ви можете перейти на використання програми Skim або іншого переглядача PDF, який підтримує потрібну вам поведінку.
  • Ви можете "відкрити file.pdf", щоб оновити та вивести Попередній перегляд на перший план, а потім ще одну команду для виведення редактора або терміналу перед ним (відкрити файл.pdf; відкрити -а Terminal.app).

Ским робить те, що я хочу; Спасибі. Він все ще любить випереджати себе під час оновлення, але я можу обійти це. Skim також забезпечує набагато ефективніший AppleScripting, ніж Preview (ви можете сказати, щоб оновити безпосередньо).
Рейд

5

Якщо ви хочете скористатися Applescript, щоб вивести «Попередній перегляд» на перший план, то все, що вам потрібно, це цей рядок:

tell application "Preview" to activate

Ви також можете використовувати osascriptкоманду в командному рядку для запуску цього сценарію. Існують конкретні речі, на які слід звернути увагу (уникнення цитат та обробка декількох рядків). Прикладів його точного використання є багато, і у нього є своя manсторінка.


Спасибі; це, безумовно, буде там безумовно. Чи можна сказати Preview оновити, але не вийти на фронт? Як можна зрозуміти, які гачки AppleScript доступні для програми (або це нове запитання, яке я повинен задати)?
Рейд

2
@Reid не дуже, але ви можете додати до свого сценарію команду повернути вас у додаток, який ви мали раніше (у цьому випадку ваш редактор TeX), цього повинно бути достатньо, щоб запустити оновлення попереднього перегляду, і поверне вас у справу.
Мартін Маркончіні

@Martin, дякую - я працював над цим. Залишилася одна проблема - подвійний порядок вікон; Я вважаю за краще, щоб він залишався абсолютно таким же.
Рейд

Це вимагатиме позначення індексу кожного документа (документа n ), але зазвичай це властивість лише для читання.
Філіп Реган
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.