emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Control help- and Info-mode buffers from other buffers


From: Juri Linkov
Subject: Re: Control help- and Info-mode buffers from other buffers
Date: Sun, 04 Jun 2023 10:52:40 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu)

> The interactive form has to be the very first form in a function body, which
> makes it impossible to just wrap the entire function  into
> with-selected-window. In this case I save selected-window in global var
> (Info-jump) and select that window back at the very end of the function. It is
> the same effect as if being wrapped into with-selected-window, but 
> unfortunately
> it uses a global variable. I don't know how to do it otherwise, if there is a
> better way, pleae let me know, I would like to learn how to do it in a better
> way if there is one.

Another way is to add a new argument WINDOW to all commands.
Then the interactive form could send the window value to the body.

But when an interactive selection of a window by the user is not involved,
then you can just call the same function like 'other-window-for-scrolling'
twice: in the interactive form and in the body it should return the same.

> I have both in my WM and in Emacs that focus should follow mouse. Now what
> happens is that, despite the function jumpiing to correct Emacs window on
> another frame, due to cursor being in old frame, all input goes to the old
> frame, so at least this particular function does not work with multiple
> frames. According to the docs for select-window, both frame to which the 
> window
> belongs, and the buffer displaying are made selected/current, so it is 
> probably
> my WM spooking. I will try to test with some other WM and to boot into Windows
> and test there, but on systems where focus follows the mouse, I guess there is
> nothing to do? I suppose the same issue will happen with few other functions
> that prompt user for the input via minibuffer. It works well when Info window 
> is
> on the same frame of course.

'other-frame' explicitly calls 'select-frame-set-input-focus' at the end.

> I do have another question too: what is a good strategy if there are multiple 
> info
> windows open? Prompt user to select with a completing read, or just leave 
> as-is,
> i.e. return the first info window?

I think a good default would be to use the most recently used window.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]