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 |
GdkMonitor objects represent the individual outputs that are
associated with a Display
. GdkDisplay has APIs to enumerate
monitors with displayGetNMonitors
and displayGetMonitor
, and
to find particular monitors with displayGetPrimaryMonitor
or
displayGetMonitorAtWindow
.
GdkMonitor was introduced in GTK+ 3.22 and supersedes earlier APIs in GdkScreen to obtain monitor-related information.
Synopsis
- newtype Monitor = Monitor (ManagedPtr Monitor)
- class (GObject o, IsDescendantOf Monitor o) => IsMonitor o
- toMonitor :: (MonadIO m, IsMonitor o) => o -> m Monitor
- monitorGetDisplay :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m Display
- monitorGetGeometry :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m Rectangle
- monitorGetHeightMm :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m Int32
- monitorGetManufacturer :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m (Maybe Text)
- monitorGetModel :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m (Maybe Text)
- monitorGetRefreshRate :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m Int32
- monitorGetScaleFactor :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m Int32
- monitorGetSubpixelLayout :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m SubpixelLayout
- monitorGetWidthMm :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m Int32
- monitorGetWorkarea :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m Rectangle
- monitorIsPrimary :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m Bool
- constructMonitorDisplay :: (IsMonitor o, MonadIO m, IsDisplay a) => a -> m (GValueConstruct o)
- getMonitorDisplay :: (MonadIO m, IsMonitor o) => o -> m Display
- getMonitorGeometry :: (MonadIO m, IsMonitor o) => o -> m (Maybe Rectangle)
- getMonitorHeightMm :: (MonadIO m, IsMonitor o) => o -> m Int32
- getMonitorManufacturer :: (MonadIO m, IsMonitor o) => o -> m (Maybe Text)
- getMonitorModel :: (MonadIO m, IsMonitor o) => o -> m (Maybe Text)
- getMonitorRefreshRate :: (MonadIO m, IsMonitor o) => o -> m Int32
- getMonitorScaleFactor :: (MonadIO m, IsMonitor o) => o -> m Int32
- getMonitorSubpixelLayout :: (MonadIO m, IsMonitor o) => o -> m SubpixelLayout
- getMonitorWidthMm :: (MonadIO m, IsMonitor o) => o -> m Int32
- getMonitorWorkarea :: (MonadIO m, IsMonitor o) => o -> m (Maybe Rectangle)
- type MonitorInvalidateCallback = IO ()
- afterMonitorInvalidate :: (IsMonitor a, MonadIO m) => a -> ((?self :: a) => MonitorInvalidateCallback) -> m SignalHandlerId
- onMonitorInvalidate :: (IsMonitor a, MonadIO m) => a -> ((?self :: a) => MonitorInvalidateCallback) -> m SignalHandlerId
Exported types
Memory-managed wrapper type.
Instances
Eq Monitor Source # | |
GObject Monitor Source # | |
Defined in GI.Gdk.Objects.Monitor | |
ManagedPtrNewtype Monitor Source # | |
Defined in GI.Gdk.Objects.Monitor toManagedPtr :: Monitor -> ManagedPtr Monitor | |
TypedObject Monitor Source # | |
Defined in GI.Gdk.Objects.Monitor | |
HasParentTypes Monitor Source # | |
Defined in GI.Gdk.Objects.Monitor | |
IsGValue (Maybe Monitor) Source # | Convert |
Defined in GI.Gdk.Objects.Monitor gvalueGType_ :: IO GType gvalueSet_ :: Ptr GValue -> Maybe Monitor -> IO () gvalueGet_ :: Ptr GValue -> IO (Maybe Monitor) | |
type ParentTypes Monitor Source # | |
Defined in GI.Gdk.Objects.Monitor type ParentTypes Monitor = '[Object] |
class (GObject o, IsDescendantOf Monitor o) => IsMonitor o Source #
Instances
(GObject o, IsDescendantOf Monitor o) => IsMonitor o Source # | |
Defined in GI.Gdk.Objects.Monitor |
Methods
Click to display all available methods, including inherited ones
Methods
bindProperty, bindPropertyFull, forceFloating, freezeNotify, getv, isFloating, isPrimary, notify, notifyByPspec, ref, refSink, runDispose, stealData, stealQdata, thawNotify, unref, watchClosure.
Getters
getData, getDisplay, getGeometry, getHeightMm, getManufacturer, getModel, getProperty, getQdata, getRefreshRate, getScaleFactor, getSubpixelLayout, getWidthMm, getWorkarea.
Setters
getDisplay
:: (HasCallStack, MonadIO m, IsMonitor a) | |
=> a |
|
-> m Display | Returns: the display |
Gets the display that this monitor belongs to.
Since: 3.22
getGeometry
:: (HasCallStack, MonadIO m, IsMonitor a) | |
=> a |
|
-> m Rectangle |
Retrieves the size and position of an individual monitor within the
display coordinate space. The returned geometry is in ”application pixels”,
not in ”device pixels” (see monitorGetScaleFactor
).
Since: 3.22
getHeightMm
:: (HasCallStack, MonadIO m, IsMonitor a) | |
=> a |
|
-> m Int32 | Returns: the physical height of the monitor |
Gets the height in millimeters of the monitor.
Since: 3.22
getManufacturer
monitorGetManufacturer Source #
:: (HasCallStack, MonadIO m, IsMonitor a) | |
=> a |
|
-> m (Maybe Text) | Returns: the name of the manufacturer, or |
Gets the name or PNP ID of the monitor's manufacturer, if available.
Note that this value might also vary depending on actual display backend.
PNP ID registry is located at https://uefi.org/pnp_id_list
getModel
:: (HasCallStack, MonadIO m, IsMonitor a) | |
=> a |
|
-> m (Maybe Text) | Returns: the monitor model, or |
Gets the a string identifying the monitor model, if available.
getRefreshRate
monitorGetRefreshRate Source #
:: (HasCallStack, MonadIO m, IsMonitor a) | |
=> a |
|
-> m Int32 | Returns: the refresh rate in milli-Hertz, or 0 |
Gets the refresh rate of the monitor, if available.
The value is in milli-Hertz, so a refresh rate of 60Hz is returned as 60000.
Since: 3.22
getScaleFactor
monitorGetScaleFactor Source #
:: (HasCallStack, MonadIO m, IsMonitor a) | |
=> a |
|
-> m Int32 | Returns: the scale factor |
Gets the internal scale factor that maps from monitor coordinates to the actual device pixels. On traditional systems this is 1, but on very high density outputs this can be a higher value (often 2).
This can be used if you want to create pixel based data for a
particular monitor, but most of the time you’re drawing to a window
where it is better to use windowGetScaleFactor
instead.
Since: 3.22
getSubpixelLayout
monitorGetSubpixelLayout Source #
:: (HasCallStack, MonadIO m, IsMonitor a) | |
=> a |
|
-> m SubpixelLayout | Returns: the subpixel layout |
Gets information about the layout of red, green and blue primaries for each pixel in this monitor, if available.
Since: 3.22
getWidthMm
:: (HasCallStack, MonadIO m, IsMonitor a) | |
=> a |
|
-> m Int32 | Returns: the physical width of the monitor |
Gets the width in millimeters of the monitor.
Since: 3.22
getWorkarea
:: (HasCallStack, MonadIO m, IsMonitor a) | |
=> a |
|
-> m Rectangle |
Retrieves the size and position of the “work area” on a monitor
within the display coordinate space. The returned geometry is in
”application pixels”, not in ”device pixels” (see
monitorGetScaleFactor
).
The work area should be considered when positioning menus and similar popups, to avoid placing them below panels, docks or other desktop components.
Note that not all backends may have a concept of workarea. This function will return the monitor geometry if a workarea is not available, or does not apply.
Since: 3.22
isPrimary
:: (HasCallStack, MonadIO m, IsMonitor a) | |
=> a |
|
-> m Bool | Returns: |
Gets whether this monitor should be considered primary
(see displayGetPrimaryMonitor
).
Since: 3.22
Properties
display
No description available in the introspection data.
constructMonitorDisplay :: (IsMonitor o, MonadIO m, IsDisplay a) => a -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “display
” property. This is rarely needed directly, but it is used by new
.
getMonitorDisplay :: (MonadIO m, IsMonitor o) => o -> m Display Source #
Get the value of the “display
” property.
When overloading is enabled, this is equivalent to
get
monitor #display
geometry
No description available in the introspection data.
getMonitorGeometry :: (MonadIO m, IsMonitor o) => o -> m (Maybe Rectangle) Source #
Get the value of the “geometry
” property.
When overloading is enabled, this is equivalent to
get
monitor #geometry
heightMm
No description available in the introspection data.
getMonitorHeightMm :: (MonadIO m, IsMonitor o) => o -> m Int32 Source #
Get the value of the “height-mm
” property.
When overloading is enabled, this is equivalent to
get
monitor #heightMm
manufacturer
No description available in the introspection data.
getMonitorManufacturer :: (MonadIO m, IsMonitor o) => o -> m (Maybe Text) Source #
Get the value of the “manufacturer
” property.
When overloading is enabled, this is equivalent to
get
monitor #manufacturer
model
No description available in the introspection data.
getMonitorModel :: (MonadIO m, IsMonitor o) => o -> m (Maybe Text) Source #
Get the value of the “model
” property.
When overloading is enabled, this is equivalent to
get
monitor #model
refreshRate
No description available in the introspection data.
getMonitorRefreshRate :: (MonadIO m, IsMonitor o) => o -> m Int32 Source #
Get the value of the “refresh-rate
” property.
When overloading is enabled, this is equivalent to
get
monitor #refreshRate
scaleFactor
No description available in the introspection data.
getMonitorScaleFactor :: (MonadIO m, IsMonitor o) => o -> m Int32 Source #
Get the value of the “scale-factor
” property.
When overloading is enabled, this is equivalent to
get
monitor #scaleFactor
subpixelLayout
No description available in the introspection data.
getMonitorSubpixelLayout :: (MonadIO m, IsMonitor o) => o -> m SubpixelLayout Source #
Get the value of the “subpixel-layout
” property.
When overloading is enabled, this is equivalent to
get
monitor #subpixelLayout
widthMm
No description available in the introspection data.
getMonitorWidthMm :: (MonadIO m, IsMonitor o) => o -> m Int32 Source #
Get the value of the “width-mm
” property.
When overloading is enabled, this is equivalent to
get
monitor #widthMm
workarea
No description available in the introspection data.
getMonitorWorkarea :: (MonadIO m, IsMonitor o) => o -> m (Maybe Rectangle) Source #
Get the value of the “workarea
” property.
When overloading is enabled, this is equivalent to
get
monitor #workarea
Signals
invalidate
type MonitorInvalidateCallback = IO () Source #
No description available in the introspection data.
afterMonitorInvalidate :: (IsMonitor a, MonadIO m) => a -> ((?self :: a) => MonitorInvalidateCallback) -> m SignalHandlerId Source #
Connect a signal handler for the invalidate signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after
monitor #invalidate callback
By default the object invoking the signal is not passed to the callback.
If you need to access it, you can use the implit ?self
parameter.
Note that this requires activating the ImplicitParams
GHC extension.
onMonitorInvalidate :: (IsMonitor a, MonadIO m) => a -> ((?self :: a) => MonitorInvalidateCallback) -> m SignalHandlerId Source #
Connect a signal handler for the invalidate signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on
monitor #invalidate callback