emacs-jupyter / jupyter

An interface to communicate with Jupyter kernels.
GNU General Public License v3.0
929 stars 90 forks source link

Better popup of output buffers #355

Open Yevgnen opened 2 years ago

Yevgnen commented 2 years ago

Output buffers like *jupyter-error* or *jupyter-output* will popup based on the visibility of the REPL at the moment of jupyter-repl-* commands are executed, but not the current visibility of REPL. It will be a bit redundant to show the output buffers when one has already switched to the REPL buffer later after the eval commands are executed. That usually happens when one executed long run commands.

nnicandro commented 2 years ago

Can you give a procedure that shows what you are talking about?

When I

  1. Call jupyter-repl-scratch-buffer from within a REPL buffer
  2. Type print("This is a message") in the scratch buffer.
  3. Press C-c C-c on the line just typed

I get a *jupyter-output* buffer each time regardless of the visibility of the REPL buffer.

Yevgnen commented 2 years ago

I get a jupyter-output buffer each time regardless of the visibility of the REPL buffer.

That's the 'issue'...

When I sumit/evaluate some pyspark jobs with the REPL buffer hidden, the job takes some time to finish and pyspark keep printing the progress bar every some seconds(then I delete that window) and thus the output buffer is popup even I make the REPL buffer visible later after submited the job. So I can see the output from both REPL buffer and the jupyter-* buffers.

I personally think it would be better to popup based on the current visibility of the REPL buffer.

k-jell commented 1 year ago

Any news on this or maybe a workaround/hints how to achieve that? I would also find it useful to have some more control over the popup / output buffers.

The problem: Especially when I have limited screen size, I tend to close the popup windows which results in a new popup every time I run the code. But what is even more of a problem for me is, that the display buffer is always opening after the output buffer, so I have to close that buffer to actually see the output.

Some ideas: