How to update Preview.app from the command line without losing focus on Mac OS X?

4

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.

snies

Posted 2010-03-24T17:22:03.937

Reputation: 484

Answers

3

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.

snies

Posted 2010-03-24T17:22:03.937

Reputation: 484

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 – 2010-03-29T09:24:32.987

2If 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) – Alessandro Vermeulen – 2011-12-13T12:24:24.177

1doesn't work for me either (Lion) – romeovs – 2011-12-19T11:38:39.070

1I 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 – 2012-01-16T23:28:56.790