:right-sidebar: True WindowGroup =================================================================== .. currentmodule:: gi.repository.Gtk .. class:: WindowGroup(**properties: ~typing.Any) :no-contents-entry: Superclasses: :class:`~gi.repository.GObject.Object` ``GtkWindowGroup`` makes group of windows behave like separate applications. It achieves this by limiting the effect of GTK grabs and modality to windows in the same group. A window can be a member in at most one window group at a time. Windows that have not been explicitly assigned to a group are implicitly treated like windows of the default window group. ``GtkWindowGroup`` objects are referenced by each window in the group, so once you have added all windows to a ``GtkWindowGroup``, you can drop the initial reference to the window group with :func:`~gi.repository.GObject.GObject.Object.unref`. If the windows in the window group are subsequently destroyed, then they will be removed from the window group and drop their references on the window group; when all window have been removed, the window group will be freed. Constructors ------------ .. rst-class:: interim-class .. class:: WindowGroup :no-index: .. classmethod:: new() -> ~gi.repository.Gtk.WindowGroup Creates a new ``GtkWindowGroup`` object. Modality of windows only affects windows within the same ``GtkWindowGroup``. Methods ------- .. rst-class:: interim-class .. class:: WindowGroup :no-index: .. method:: add_window(window: ~gi.repository.Gtk.Window) -> None Adds a window to a ``GtkWindowGroup``. :param window: the ``GtkWindow`` to add .. method:: list_windows() -> list[~gi.repository.Gtk.Window] Returns a list of the ``GtkWindows`` that belong to ``window_group``. .. method:: remove_window(window: ~gi.repository.Gtk.Window) -> None Removes a window from a ``GtkWindowGroup``. :param window: the ``GtkWindow`` to remove Fields ------ .. rst-class:: interim-class .. class:: WindowGroup :no-index: .. attribute:: parent_instance .. attribute:: priv