xdg_dialog_v1 Module
********************


XdgDialogV1
===========

class pywayland.protocol.xdg_dialog_v1.XdgDialogV1

   Dialog object

   A "XdgDialogV1" object is an ancillary object tied to a
   "XdgToplevel". Its purpose is hinting the compositor that the
   toplevel is a "dialog" (e.g. a temporary window) relative to
   another toplevel (see "XdgToplevel.set_parent()"). If the
   "XdgToplevel" is destroyed, the "XdgDialogV1" becomes inert.

   Through this object, the client may provide additional hints about
   the purpose of the secondary toplevel. This interface has no effect
   on toplevels that are not attached to a parent toplevel.

   destroy() -> 'None'

      -[ Request -- opcode 0 (attached to "Resource" instance) ]-

      Destroy the dialog object

      Destroys the "XdgDialogV1" object. If this object is destroyed
      before the related "XdgToplevel", the compositor should unapply
      its effects.

   set_modal() -> 'None'

      -[ Request -- opcode 1 (attached to "Resource" instance) ]-

      Mark dialog as modal

      Hints that the dialog has "modal" behavior. Modal dialogs
      typically require to be fully addressed by the user (i.e.
      closed) before resuming interaction with the parent toplevel,
      and may require a distinct presentation.

      Clients must implement the logic to filter events in the parent
      toplevel on their own.

      Compositors may choose any policy in event delivery to the
      parent toplevel, from delivering all events unfiltered to using
      them for internal consumption.

   unset_modal() -> 'None'

      -[ Request -- opcode 2 (attached to "Resource" instance) ]-

      Mark dialog as not modal

      Drops the hint that this dialog has "modal" behavior. See
      "XdgDialogV1.set_modal()" for more details.


XdgWmDialogV1
=============

class pywayland.protocol.xdg_dialog_v1.XdgWmDialogV1

   Create dialogs related to other toplevels

   The "XdgWmDialogV1" interface is exposed as a global object
   allowing to register surfaces with a "XdgToplevel" role as
   "dialogs" relative to another toplevel.

   The compositor may let this relation influence how the surface is
   placed, displayed or interacted with.

   Warning! The protocol described in this file is currently in the
   testing phase. Backward compatible changes may be added together
   with the corresponding interface version bump. Backward
   incompatible changes can only be done by creating a new major
   version of the extension.

   destroy() -> 'None'

      -[ Request -- opcode 0 (attached to "Resource" instance) ]-

      Destroy the dialog manager object

      Destroys the "XdgWmDialogV1" object. This does not affect the
      "XdgDialogV1" objects generated through it.

   get_xdg_dialog(toplevel: 'XdgToplevelProxy') -> 'XdgDialogV1Proxy'

      -[ Request -- opcode 1 (attached to "Resource" instance) ]-

      Create a dialog object

      Creates a "XdgDialogV1" object for the given toplevel. See the
      interface description for more details.

      Compositors must raise an already_used error if clients attempt
      to create multiple "XdgDialogV1" objects for the same
      "XdgToplevel".

      Parameters:
         **toplevel** ("XdgToplevel")

      Returns:
         "XdgDialogV1"
