Copyright | Will Thompson and Iñaki García Etxebarria |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | Safe-Inferred |
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
- 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.
WindowGroup (ManagedPtr WindowGroup) |
Instances
Eq WindowGroup Source # | |
Defined in GI.Gtk.Objects.WindowGroup (==) :: WindowGroup -> WindowGroup -> Bool # (/=) :: WindowGroup -> WindowGroup -> Bool # | |
GObject WindowGroup Source # | |
Defined in GI.Gtk.Objects.WindowGroup | |
ManagedPtrNewtype WindowGroup Source # | |
Defined in GI.Gtk.Objects.WindowGroup toManagedPtr :: WindowGroup -> ManagedPtr WindowGroup | |
TypedObject WindowGroup Source # | |
Defined in GI.Gtk.Objects.WindowGroup | |
HasParentTypes WindowGroup Source # | |
Defined in GI.Gtk.Objects.WindowGroup | |
IsGValue (Maybe WindowGroup) Source # | Convert |
Defined in GI.Gtk.Objects.WindowGroup gvalueGType_ :: IO GType gvalueSet_ :: Ptr GValue -> Maybe WindowGroup -> IO () gvalueGet_ :: Ptr GValue -> IO (Maybe WindowGroup) | |
type ParentTypes WindowGroup Source # | |
Defined in GI.Gtk.Objects.WindowGroup type ParentTypes WindowGroup = '[Object] |
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
.
Methods
Click to display all available methods, including inherited ones
Methods
addWindow, bindProperty, bindPropertyFull, forceFloating, freezeNotify, getv, isFloating, listWindows, notify, notifyByPspec, ref, refSink, removeWindow, runDispose, stealData, stealQdata, thawNotify, unref, watchClosure.
Getters
getCurrentDeviceGrab, getCurrentGrab, getData, getProperty, getQdata.
Setters
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
.