| Top |
A CtkWindowGroup restricts the effect of grabs to windows in the same group, thereby making window groups almost behave like separate applications.
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.
CtkWindowGroup objects are referenced by each window in the group,
so once you have added all windows to a CtkWindowGroup, you can drop
the initial reference to the window group with g_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.
CtkWindowGroup *
ctk_window_group_new (void);
Creates a new CtkWindowGroup object. Grabs added with
ctk_grab_add() only affect windows within the same CtkWindowGroup.
void ctk_window_group_add_window (CtkWindowGroup *window_group,CtkWindow *window);
Adds a window to a CtkWindowGroup.
void ctk_window_group_remove_window (CtkWindowGroup *window_group,CtkWindow *window);
Removes a window from a CtkWindowGroup.
GList *
ctk_window_group_list_windows (CtkWindowGroup *window_group);
Returns a list of the CtkWindows that belong to window_group
.
A newly-allocated list of windows inside the group.
[element-type CtkWindow][transfer container]
Since: 2.14
CtkWidget *
ctk_window_group_get_current_grab (CtkWindowGroup *window_group);
Gets the current grab widget of the given group,
see ctk_grab_add().
Since: 2.22
CtkWidget * ctk_window_group_get_current_device_grab (CtkWindowGroup *window_group,CdkDevice *device);
Returns the current grab widget for device
, or NULL if none.
Since: 3.0