all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Difference between child frame, popup frame and overlay
@ 2022-05-17 14:46 Alessandro Bertulli
  2022-05-17 15:14 ` Tassilo Horn
  0 siblings, 1 reply; 2+ messages in thread
From: Alessandro Bertulli @ 2022-05-17 14:46 UTC (permalink / raw)
  To: help-gnu-emacs

Hi all!
Pretty much the title. I am exploring differences between packages like
Ivy vs Vertico vs Selectrum, or Corfu vs Company, and sometimes this is
taken into play. However, the documentation I found explains only child
frames and overlays. So, to be more precise:
- what is a popup frame?
- in what it differs from child frames/overlays?
- where are they used? I.e., can you give examples of packages that use
them?

Moreover, do you have any reason about when you should use one instead
of the other twos?

Thanks for your time and sorry if it's a too wide question.
Alessandro




^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Difference between child frame, popup frame and overlay
  2022-05-17 14:46 Difference between child frame, popup frame and overlay Alessandro Bertulli
@ 2022-05-17 15:14 ` Tassilo Horn
  0 siblings, 0 replies; 2+ messages in thread
From: Tassilo Horn @ 2022-05-17 15:14 UTC (permalink / raw)
  To: Alessandro Bertulli; +Cc: help-gnu-emacs

Alessandro Bertulli <alessandro.bertulli96@gmail.com> writes:

Hi Alessandro,

> Pretty much the title. I am exploring differences between packages like
> Ivy vs Vertico vs Selectrum, or Corfu vs Company, and sometimes this is
> taken into play. However, the documentation I found explains only child
> frames and overlays. So, to be more precise:
> - what is a popup frame?

I don't have a clue.  Where did you encounter that term?  I mean, both
overlays and child-frames can be used to create popups (for in-buffer
display/selection of possible completions like in corfu/company), so it
might be that this term is used as a general term for the concept
without hinting at a concrete implementation (of course, then having
"frame" in the term is misleading).

Possibly, popup-frame might also mean tooltips, e.g., the thing you get
at the mouse cursor position when evaluating (tooltip-show "Hello!").

> Moreover, do you have any reason about when you should use one instead
> of the other twos?

I can only say something about overlays vs. child-frames.  Overlays
(used as multi-line menus) have visual issues (don't align) when those
lines use different faces and they cannot extend over the edges of the
current window.  child-frames don't have these issues but creating them
is much slower.  Oh, and child-frames won't work at all in terminal
frames!  So it's pest vs. cholera, really. :-)

I think company uses overlays by default (and can also just print
completions in the echo area) whereas corfu uses only child-frames.  I
don't use emacs in a terminal for programming, so I can live well with
that limitation of corfu.

Bye,
Tassilo



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-05-17 15:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-17 14:46 Difference between child frame, popup frame and overlay Alessandro Bertulli
2022-05-17 15:14 ` Tassilo Horn

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.