5

I want to update Preview.app in the background from the command line without losing focus of my current window. I know that I can use the following to open/update the view of a file, but then I lose focus to the Preview.app.

open -a Preview foo.pdf

I guess there might be some clever AppleScript commands to do so but so far I didn't find the right one.

Alternatively I would be interested into transfering the focus back to my current application directly after the update. I need this in order to update Preview.app's view of a PDF file through a vi autocmd after I update the PDF file according to changes in a TeX file I am editing. Here is an example of what I want to achieve but using Ubuntu and evince.

2 Answers 2

4

Meanwhile i was told the solution by a nice person called Guillermo commenting on my blog. The solution is to use:

open -g -a Preview foo.pdf

to update the pdf in the background.

4
  • Nice. After you posted your question I experimented a bit with AppleScript, as "all" it takes for Preview to update an open document is just give it focus. (Like: open a PDF, change it using some other program, and then go back to Preview: it will update it right away.) Hence, no need to manually reload the document by calling open, if one could just, somehow, fool Preview into thinking it has focus. But I did NOT find any solution. (Even more, I discovered that Preview is not that easily scripted, if at all...)
    – Arjan
    Mar 29, 2010 at 9:24
  • 2
    If I try this on Lion the PDF still isn't updated until it gets focus. Any idea how to fix it? (BTW: Your blog gives an error) Dec 13, 2011 at 12:24
  • 1
    doesn't work for me either (Lion)
    – romeovs
    Dec 19, 2011 at 11:38
  • 1
    I just tested on Lion and you are correct preview does not show the new content until focused. So this solution does not work in Lion.
    – snies
    Jan 16, 2012 at 23:28
1

The is a rather old thread. I don't know whether you can do this 10 years ago. But currently you only have to open -g xxx.pdf

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .