It would help if you actually read the spec that was there before commenting. The difference between toplevels and popups is not whether they have a parent (toplevels indeed have a set_parent method), but that popups take an implicit pointer and keyboard grab, e.g. menus and comboboxes. They have well-defined surface lifetime semantics.
Dialog boxes are not considered popups. They are toplevels with set_parent called on them. Perhaps the names were chosen poorly. Better suggestions for names are very welcome. We tried to make this very clear in the specification. If it was confusing to read, please let us know and we'll try to make it clearer. On Tue, Jan 12, 2016 at 3:13 PM, Bill Spitzak <spit...@gmail.com> wrote: > > > On Tue, Jan 12, 2016 at 12:16 AM, Jonas Ådahl <jad...@gmail.com> wrote: >> >> Hi, >> >> These patches turns xdg_surface into a generic base interface that other >> xdg_* >> roles would then extend. The point of this is to unify some concepts >> common to >> all surfaces related to xdg_shell. The parts related to toplevel window >> management was moved out to a new "xdg_toplevel" interface. xdg_popup was >> changed to extend xdg_surface instead of being stand alone. > > > There must be an ability to set the parent after the surface has been > created: It is necessary to get a child that stays above more than one > surface, since some of those surfaces may not exist at the moment the child > is shown (imagine a dialog box that remains above all open documents, and > the user opens a new document). > > It is also necessary to set the parent to none. Imagine if the last document > is closed, but the application keeps the dialog up. > > I think this removes any difference between "toplevel" and non-toplevel > surfaces. It is simply whether the parent is non-null. You seem to be > sending different configure events to them, but the inability to full-screen > a dialog box may be considered a bug by some, and clients already have the > ability to ignore configure requests, so I see no reason for this > difference. > > It is ok if some roles (like tooltip) require a parent. If the parent is > missing it could be an error, or the surface just never appears > >> 2.4.3 >> >> _______________________________________________ >> wayland-devel mailing list >> wayland-devel@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/wayland-devel > > -- Jasper _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel