Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
- data WindowState
- data WindowHints
- data WindowAttributesType
- data WMFunction
- data WMDecoration
- data SeatCapabilities
- data ModifierType
- = ModifierTypeShiftMask
- | ModifierTypeLockMask
- | ModifierTypeControlMask
- | ModifierTypeMod1Mask
- | ModifierTypeMod2Mask
- | ModifierTypeMod3Mask
- | ModifierTypeMod4Mask
- | ModifierTypeMod5Mask
- | ModifierTypeButton1Mask
- | ModifierTypeButton2Mask
- | ModifierTypeButton3Mask
- | ModifierTypeButton4Mask
- | ModifierTypeButton5Mask
- | ModifierTypeModifierReserved13Mask
- | ModifierTypeModifierReserved14Mask
- | ModifierTypeModifierReserved15Mask
- | ModifierTypeModifierReserved16Mask
- | ModifierTypeModifierReserved17Mask
- | ModifierTypeModifierReserved18Mask
- | ModifierTypeModifierReserved19Mask
- | ModifierTypeModifierReserved20Mask
- | ModifierTypeModifierReserved21Mask
- | ModifierTypeModifierReserved22Mask
- | ModifierTypeModifierReserved23Mask
- | ModifierTypeModifierReserved24Mask
- | ModifierTypeModifierReserved25Mask
- | ModifierTypeSuperMask
- | ModifierTypeHyperMask
- | ModifierTypeMetaMask
- | ModifierTypeModifierReserved29Mask
- | ModifierTypeReleaseMask
- | ModifierTypeModifierMask
- | AnotherModifierType Int
- data FrameClockPhase
- data EventMask
- = EventMaskExposureMask
- | EventMaskPointerMotionMask
- | EventMaskPointerMotionHintMask
- | EventMaskButtonMotionMask
- | EventMaskButton1MotionMask
- | EventMaskButton2MotionMask
- | EventMaskButton3MotionMask
- | EventMaskButtonPressMask
- | EventMaskButtonReleaseMask
- | EventMaskKeyPressMask
- | EventMaskKeyReleaseMask
- | EventMaskEnterNotifyMask
- | EventMaskLeaveNotifyMask
- | EventMaskFocusChangeMask
- | EventMaskStructureMask
- | EventMaskPropertyChangeMask
- | EventMaskVisibilityNotifyMask
- | EventMaskProximityInMask
- | EventMaskProximityOutMask
- | EventMaskSubstructureMask
- | EventMaskScrollMask
- | EventMaskTouchMask
- | EventMaskSmoothScrollMask
- | EventMaskTouchpadGestureMask
- | EventMaskTabletPadMask
- | EventMaskAllEventsMask
- | AnotherEventMask Int
- data DragAction
- data AxisFlags
- data AnchorHints
Exported types
data WindowState Source #
Specifies the state of a toplevel window.
WindowStateWithdrawn | the window is not shown. |
WindowStateIconified | the window is minimized. |
WindowStateMaximized | the window is maximized. |
WindowStateSticky | the window is sticky. |
WindowStateFullscreen | the window is maximized without decorations. |
WindowStateAbove | the window is kept above other windows. |
WindowStateBelow | the window is kept below other windows. |
WindowStateFocused | the window is presented as focused (with active decorations). |
WindowStateTiled | the window is in a tiled state, Since 3.10 |
AnotherWindowState Int | Catch-all for unknown values |
data WindowHints Source #
Used to indicate which fields of a Geometry
struct should be paid
attention to. Also, the presence/absence of gDKHINTPOS
,
gDKHINTUSERPOS
, and gDKHINTUSERSIZE
is significant, though they don't
directly refer to Geometry
fields. gDKHINTUSERPOS
will be set
automatically by GtkWindow
if you call gtk_window_move()
.
gDKHINTUSERPOS
and gDKHINTUSERSIZE
should be set if the user
specified a size/position using a --geometry command-line argument;
gtk_window_parse_geometry()
automatically sets these flags.
WindowHintsPos | indicates that the program has positioned the window |
WindowHintsMinSize | min size fields are set |
WindowHintsMaxSize | max size fields are set |
WindowHintsBaseSize | base size fields are set |
WindowHintsAspect | aspect ratio fields are set |
WindowHintsResizeInc | resize increment fields are set |
WindowHintsWinGravity | window gravity field is set |
WindowHintsUserPos | indicates that the window’s position was explicitly set by the user |
WindowHintsUserSize | indicates that the window’s size was explicitly set by the user |
AnotherWindowHints Int | Catch-all for unknown values |
data WindowAttributesType Source #
Used to indicate which fields in the WindowAttr
struct should be honored.
For example, if you filled in the “cursor” and “x” fields of WindowAttr
,
pass “gDKWAX
| gDKWACURSOR
” to windowNew
. Fields in
WindowAttr
not covered by a bit in this enum are required; for example,
the width
/height
, wclass
, and windowType
fields are required, they have
no corresponding flag in WindowAttributesType
.
WindowAttributesTypeTitle | Honor the title field |
WindowAttributesTypeX | Honor the X coordinate field |
WindowAttributesTypeY | Honor the Y coordinate field |
WindowAttributesTypeCursor | Honor the cursor field |
WindowAttributesTypeVisual | Honor the visual field |
WindowAttributesTypeWmclass | Honor the wmclass_class and wmclass_name fields |
WindowAttributesTypeNoredir | Honor the override_redirect field |
WindowAttributesTypeTypeHint | Honor the type_hint field |
AnotherWindowAttributesType Int | Catch-all for unknown values |
data WMFunction Source #
These are hints originally defined by the Motif toolkit. The window manager can use them when determining the functions to offer for the window. The hint must be set before mapping the window.
WMFunctionAll | all functions should be offered. |
WMFunctionResize | the window should be resizable. |
WMFunctionMove | the window should be movable. |
WMFunctionMinimize | the window should be minimizable. |
WMFunctionMaximize | the window should be maximizable. |
WMFunctionClose | the window should be closable. |
AnotherWMFunction Int | Catch-all for unknown values |
data WMDecoration Source #
These are hints originally defined by the Motif toolkit. The window manager can use them when determining how to decorate the window. The hint must be set before mapping the window.
WMDecorationAll | all decorations should be applied. |
WMDecorationBorder | a frame should be drawn around the window. |
WMDecorationResizeh | the frame should have resize handles. |
WMDecorationTitle | a titlebar should be placed above the window. |
WMDecorationMenu | a button for opening a menu should be included. |
WMDecorationMinimize | a minimize button should be included. |
WMDecorationMaximize | a maximize button should be included. |
AnotherWMDecoration Int | Catch-all for unknown values |
data SeatCapabilities Source #
Flags describing the seat capabilities.
Since: 3.20
SeatCapabilitiesNone | No input capabilities |
SeatCapabilitiesPointer | The seat has a pointer (e.g. mouse) |
SeatCapabilitiesTouch | The seat has touchscreen(s) attached |
SeatCapabilitiesTabletStylus | The seat has drawing tablet(s) attached |
SeatCapabilitiesKeyboard | The seat has keyboard(s) attached |
SeatCapabilitiesAllPointing | The union of all pointing capabilities |
SeatCapabilitiesAll | The union of all capabilities |
AnotherSeatCapabilities Int | Catch-all for unknown values |
data ModifierType Source #
A set of bit-flags to indicate the state of modifier keys and mouse buttons in various event types. Typical modifier keys are Shift, Control, Meta, Super, Hyper, Alt, Compose, Apple, CapsLock or ShiftLock.
Like the X Window System, GDK supports 8 modifier keys and 5 mouse buttons.
Since 2.10, GDK recognizes which of the Meta, Super or Hyper keys are mapped
to Mod2 - Mod5, and indicates this by setting ModifierTypeSuperMask
,
ModifierTypeHyperMask
or ModifierTypeMetaMask
in the state field of key events.
Note that GDK may add internal values to events which include
reserved values such as ModifierTypeModifierReserved13Mask
. Your code
should preserve and ignore them. You can use ModifierTypeModifierMask
to
remove all reserved values.
Also note that the GDK X backend interprets button press events for button
4-7 as scroll events, so ModifierTypeButton4Mask
and ModifierTypeButton5Mask
will never
be set.
ModifierTypeShiftMask | the Shift key. |
ModifierTypeLockMask | a Lock key (depending on the modifier mapping of the X server this may either be CapsLock or ShiftLock). |
ModifierTypeControlMask | the Control key. |
ModifierTypeMod1Mask | the fourth modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier, but normally it is the Alt key). |
ModifierTypeMod2Mask | the fifth modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier). |
ModifierTypeMod3Mask | the sixth modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier). |
ModifierTypeMod4Mask | the seventh modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier). |
ModifierTypeMod5Mask | the eighth modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier). |
ModifierTypeButton1Mask | the first mouse button. |
ModifierTypeButton2Mask | the second mouse button. |
ModifierTypeButton3Mask | the third mouse button. |
ModifierTypeButton4Mask | the fourth mouse button. |
ModifierTypeButton5Mask | the fifth mouse button. |
ModifierTypeModifierReserved13Mask | A reserved bit flag; do not use in your own code |
ModifierTypeModifierReserved14Mask | A reserved bit flag; do not use in your own code |
ModifierTypeModifierReserved15Mask | A reserved bit flag; do not use in your own code |
ModifierTypeModifierReserved16Mask | A reserved bit flag; do not use in your own code |
ModifierTypeModifierReserved17Mask | A reserved bit flag; do not use in your own code |
ModifierTypeModifierReserved18Mask | A reserved bit flag; do not use in your own code |
ModifierTypeModifierReserved19Mask | A reserved bit flag; do not use in your own code |
ModifierTypeModifierReserved20Mask | A reserved bit flag; do not use in your own code |
ModifierTypeModifierReserved21Mask | A reserved bit flag; do not use in your own code |
ModifierTypeModifierReserved22Mask | A reserved bit flag; do not use in your own code |
ModifierTypeModifierReserved23Mask | A reserved bit flag; do not use in your own code |
ModifierTypeModifierReserved24Mask | A reserved bit flag; do not use in your own code |
ModifierTypeModifierReserved25Mask | A reserved bit flag; do not use in your own code |
ModifierTypeSuperMask | the Super modifier. Since 2.10 |
ModifierTypeHyperMask | the Hyper modifier. Since 2.10 |
ModifierTypeMetaMask | the Meta modifier. Since 2.10 |
ModifierTypeModifierReserved29Mask | A reserved bit flag; do not use in your own code |
ModifierTypeReleaseMask | not used in GDK itself. GTK+ uses it to differentiate between (keyval, modifiers) pairs from key press and release events. |
ModifierTypeModifierMask | a mask covering all modifier types. |
AnotherModifierType Int | Catch-all for unknown values |
data FrameClockPhase Source #
FrameClockPhase
is used to represent the different paint clock
phases that can be requested. The elements of the enumeration
correspond to the signals of FrameClock
.
Since: 3.8
FrameClockPhaseNone | no phase |
FrameClockPhaseFlushEvents | corresponds to GdkFrameClock::flush-events. Should not be handled by applications. |
FrameClockPhaseBeforePaint | corresponds to GdkFrameClock::before-paint. Should not be handled by applications. |
FrameClockPhaseUpdate | corresponds to GdkFrameClock::update. |
FrameClockPhaseLayout | corresponds to GdkFrameClock::layout. |
FrameClockPhasePaint | corresponds to GdkFrameClock::paint. |
FrameClockPhaseResumeEvents | corresponds to GdkFrameClock::resume-events. Should not be handled by applications. |
FrameClockPhaseAfterPaint | corresponds to GdkFrameClock::after-paint. Should not be handled by applications. |
AnotherFrameClockPhase Int | Catch-all for unknown values |
A set of bit-flags to indicate which events a window is to receive.
Most of these masks map onto one or more of the EventType
event types
above.
See the [input handling overview][chap-input-handling] for details of [event masks][event-masks] and [event propagation][event-propagation].
EventMaskPointerMotionHintMask
is deprecated. It is a special mask
to reduce the number of EventTypeMotionNotify
events received. When using
EventMaskPointerMotionHintMask
, fewer EventTypeMotionNotify
events will
be sent, some of which are marked as a hint (the is_hint member is
True
). To receive more motion events after a motion hint event,
the application needs to asks for more, by calling
eventRequestMotions
.
Since GTK 3.8, motion events are already compressed by default, independent
of this mechanism. This compression can be disabled with
windowSetEventCompression
. See the documentation of that function
for details.
If EventMaskTouchMask
is enabled, the window will receive touch events
from touch-enabled devices. Those will come as sequences of EventTouch
with type EventTypeTouchUpdate
, enclosed by two events with
type EventTypeTouchBegin
and EventTypeTouchEnd
(or EventTypeTouchCancel
).
eventGetEventSequence
returns the event sequence for these
events, so different sequences may be distinguished.
EventMaskExposureMask | receive expose events |
EventMaskPointerMotionMask | receive all pointer motion events |
EventMaskPointerMotionHintMask | deprecated. see the explanation above |
EventMaskButtonMotionMask | receive pointer motion events while any button is pressed |
EventMaskButton1MotionMask | receive pointer motion events while 1 button is pressed |
EventMaskButton2MotionMask | receive pointer motion events while 2 button is pressed |
EventMaskButton3MotionMask | receive pointer motion events while 3 button is pressed |
EventMaskButtonPressMask | receive button press events |
EventMaskButtonReleaseMask | receive button release events |
EventMaskKeyPressMask | receive key press events |
EventMaskKeyReleaseMask | receive key release events |
EventMaskEnterNotifyMask | receive window enter events |
EventMaskLeaveNotifyMask | receive window leave events |
EventMaskFocusChangeMask | receive focus change events |
EventMaskStructureMask | receive events about window configuration change |
EventMaskPropertyChangeMask | receive property change events |
EventMaskVisibilityNotifyMask | receive visibility change events |
EventMaskProximityInMask | receive proximity in events |
EventMaskProximityOutMask | receive proximity out events |
EventMaskSubstructureMask | receive events about window configuration changes of child windows |
EventMaskScrollMask | receive scroll events |
EventMaskTouchMask | receive touch events. Since 3.4 |
EventMaskSmoothScrollMask | receive smooth scrolling events. Since 3.4 |
EventMaskTouchpadGestureMask | receive touchpad gesture events. Since 3.18 |
EventMaskTabletPadMask | receive tablet pad events. Since 3.22 |
EventMaskAllEventsMask | the combination of all the above event masks. |
AnotherEventMask Int | Catch-all for unknown values |
data DragAction Source #
Used in DragContext
to indicate what the destination
should do with the dropped data.
DragActionDefault | Means nothing, and should not be used. |
DragActionCopy | Copy the data. |
DragActionMove | Move the data, i.e. first copy it, then delete it from the source using the DELETE target of the X selection protocol. |
DragActionLink | Add a link to the data. Note that this is only useful if source and destination agree on what it means. |
DragActionPrivate | Special action which tells the source that the destination will do something that the source doesn’t understand. |
DragActionAsk | Ask the user what to do with the data. |
AnotherDragAction Int | Catch-all for unknown values |
Flags describing the current capabilities of a device/tool.
Since: 3.22
AxisFlagsX | X axis is present |
AxisFlagsY | Y axis is present |
AxisFlagsPressure | Pressure axis is present |
AxisFlagsXtilt | X tilt axis is present |
AxisFlagsYtilt | Y tilt axis is present |
AxisFlagsWheel | Wheel axis is present |
AxisFlagsDistance | Distance axis is present |
AxisFlagsRotation | Z-axis rotation is present |
AxisFlagsSlider | Slider axis is present |
AnotherAxisFlags Int | Catch-all for unknown values |
data AnchorHints Source #
Positioning hints for aligning a window relative to a rectangle.
These hints determine how the window should be positioned in the case that the window would fall off-screen if placed in its ideal position.
For example, AnchorHintsFlipX
will replace GravityNorthWest
with
GravityNorthEast
and vice versa if the window extends beyond the left
or right edges of the monitor.
If AnchorHintsSlideX
is set, the window can be shifted horizontally to fit
on-screen. If AnchorHintsResizeX
is set, the window can be shrunken
horizontally to fit.
In general, when multiple flags are set, flipping should take precedence over sliding, which should take precedence over resizing.
Since: 3.22
AnchorHintsFlipX | allow flipping anchors horizontally |
AnchorHintsFlipY | allow flipping anchors vertically |
AnchorHintsSlideX | allow sliding window horizontally |
AnchorHintsSlideY | allow sliding window vertically |
AnchorHintsResizeX | allow resizing window horizontally |
AnchorHintsResizeY | allow resizing window vertically |
AnchorHintsFlip | allow flipping anchors on both axes |
AnchorHintsSlide | allow sliding window on both axes |
AnchorHintsResize | allow resizing window on both axes |
AnotherAnchorHints Int | Catch-all for unknown values |