Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | None |
Language | Haskell2010 |
A WindowGroup
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.
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 objectUnref
. 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.
Synopsis
- newtype WindowGroup = WindowGroup (ManagedPtr WindowGroup)
- class (GObject o, IsDescendantOf WindowGroup o) => IsWindowGroup o
- toWindowGroup :: (MonadIO m, IsWindowGroup o) => o -> m WindowGroup
- noWindowGroup :: Maybe WindowGroup
- windowGroupAddWindow :: (HasCallStack, MonadIO m, IsWindowGroup a, IsWindow b) => a -> b -> m ()
- windowGroupGetCurrentDeviceGrab :: (HasCallStack, MonadIO m, IsWindowGroup a, IsDevice b) => a -> b -> m (Maybe Widget)
- windowGroupGetCurrentGrab :: (HasCallStack, MonadIO m, IsWindowGroup a) => a -> m Widget
- windowGroupListWindows :: (HasCallStack, MonadIO m, IsWindowGroup a) => a -> m [Window]
- windowGroupNew :: (HasCallStack, MonadIO m) => m WindowGroup
- windowGroupRemoveWindow :: (HasCallStack, MonadIO m, IsWindowGroup a, IsWindow b) => a -> b -> m ()
Exported types
newtype WindowGroup Source #
Memory-managed wrapper type.
Instances
Eq WindowGroup Source # | |
Defined in GI.Gtk.Objects.WindowGroup (==) :: WindowGroup -> WindowGroup -> Bool # (/=) :: WindowGroup -> WindowGroup -> Bool # | |
IsGValue WindowGroup Source # | Convert |
Defined in GI.Gtk.Objects.WindowGroup toGValue :: WindowGroup -> IO GValue # fromGValue :: GValue -> IO WindowGroup # | |
GObject WindowGroup Source # | |
Defined in GI.Gtk.Objects.WindowGroup gobjectType :: IO GType # | |
HasParentTypes WindowGroup Source # | |
Defined in GI.Gtk.Objects.WindowGroup | |
type ParentTypes WindowGroup Source # | |
Defined in GI.Gtk.Objects.WindowGroup |
class (GObject o, IsDescendantOf WindowGroup o) => IsWindowGroup o Source #
Type class for types which can be safely cast to WindowGroup
, for instance with toWindowGroup
.
Instances
(GObject o, IsDescendantOf WindowGroup o) => IsWindowGroup o Source # | |
Defined in GI.Gtk.Objects.WindowGroup |
toWindowGroup :: (MonadIO m, IsWindowGroup o) => o -> m WindowGroup Source #
Cast to WindowGroup
, for types for which this is known to be safe. For general casts, use castTo
.
noWindowGroup :: Maybe WindowGroup Source #
A convenience alias for Nothing
:: Maybe
WindowGroup
.
Methods
Overloaded methods
addWindow
:: (HasCallStack, MonadIO m, IsWindowGroup a, IsWindow b) | |
=> a |
|
-> b |
|
-> m () |
Adds a window to a WindowGroup
.
getCurrentDeviceGrab
windowGroupGetCurrentDeviceGrab Source #
:: (HasCallStack, MonadIO m, IsWindowGroup a, IsDevice b) | |
=> a |
|
-> b |
|
-> m (Maybe Widget) | Returns: The grab widget, or |
Returns the current grab widget for device
, or Nothing
if none.
Since: 3.0
getCurrentGrab
windowGroupGetCurrentGrab Source #
:: (HasCallStack, MonadIO m, IsWindowGroup a) | |
=> a |
|
-> m Widget | Returns: the current grab widget of the group |
Gets the current grab widget of the given group,
see widgetGrabAdd
.
Since: 2.22
listWindows
windowGroupListWindows Source #
:: (HasCallStack, MonadIO m, IsWindowGroup a) | |
=> a |
|
-> m [Window] | Returns: A newly-allocated list of windows inside the group. |
Returns a list of the GtkWindows
that belong to windowGroup
.
Since: 2.14
new
:: (HasCallStack, MonadIO m) | |
=> m WindowGroup | Returns: a new |
Creates a new WindowGroup
object. Grabs added with
widgetGrabAdd
only affect windows within the same WindowGroup
.
removeWindow
windowGroupRemoveWindow Source #
:: (HasCallStack, MonadIO m, IsWindowGroup a, IsWindow b) | |
=> a |
|
-> b |
|
-> m () |
Removes a window from a WindowGroup
.