Re: [Q] startup hook: How do I detect if the current buffer has been opened programmatically?

2024-04-11 Thread Max Nikulin

On 09/04/2024 00:31, Rudi C wrote:
I want to automatically preview all LaTeX fragments if the buffer was 
opened by the user


Be careful and limit automatic preview to files you created yourself. 
Doing so for an arbitrary file downloaded from net might cause huge 
amount of garbage files in /tmp.


Emacs-29.3 includes a fix for CVE-2024-30204 that is specific for email 
attachment inline preview. When a regular file is opened, weird LaTeX 
code inside still may be executed. There is no general way to determine 
if specific file should be treated as trusted.




Re: [Q] startup hook: How do I detect if the current buffer has been opened programmatically?

2024-04-09 Thread Rudi C
`find-file-hook` seems not to have false negatives, at least. Using
`(window-live-p (get-buffer-window (current-buffer) 'visible))` has false
negatives for me (i.e., it returns nil for some interactive buffers).

Thanks, everyone.

On Tue, Apr 9, 2024 at 11:06 PM Karthik Chikmagalur <
karthikchikmaga...@gmail.com> wrote:

> >> 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
>


Re: [Q] startup hook: How do I detect if the current buffer has been opened programmatically?

2024-04-09 Thread Karthik Chikmagalur
>> 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



Re: [Q] startup hook: How do I detect if the current buffer has been opened programmatically?

2024-04-09 Thread Ihor Radchenko
Rudi C  writes:

> 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).

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at .
Support Org development at ,
or support my work at 



[Q] startup hook: How do I detect if the current buffer has been opened programmatically?

2024-04-08 Thread Rudi C
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.

PS: Please use reply-to-all.