>> Org-mode occasionally opens files automatically, for instance, when >> inserting or opening ID links, or during certain searches. I need to >> determine if a buffer was opened programmatically or manually by the user >> within the startup hooks. This distinction is important because, e.g., I >> want to automatically preview all LaTeX fragments if the buffer was opened >> by the user, but not if it was opened programmatically. > > AFAIK, there is no reliable way to do this. > You may play around with `find-file-hook'. See `org-with-file-buffer' > macro in org-macs.el (on main).
A heuristic I use is to check if the window is visible. It's not perfect but good enough for my use (which includes previewing LaTeX fragments): (defun my/latex-preview-maybe () (when (window-live-p (get-buffer-window (current-buffer))) (org-latex-preview 'buffer) (org-latex-preview-auto-mode 1))) (add-hook 'org-mode-hook #'my/latex-preview-maybe) Karthik