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 |
The Seat
object represents a collection of input devices
that belong to a user.
Synopsis
- newtype Seat = Seat (ManagedPtr Seat)
- class GObject o => IsSeat o
- toSeat :: (MonadIO m, IsSeat o) => o -> m Seat
- noSeat :: Maybe Seat
- seatGetCapabilities :: (HasCallStack, MonadIO m, IsSeat a) => a -> m [SeatCapabilities]
- seatGetDisplay :: (HasCallStack, MonadIO m, IsSeat a) => a -> m Display
- seatGetKeyboard :: (HasCallStack, MonadIO m, IsSeat a) => a -> m (Maybe Device)
- seatGetPointer :: (HasCallStack, MonadIO m, IsSeat a) => a -> m (Maybe Device)
- seatGetSlaves :: (HasCallStack, MonadIO m, IsSeat a) => a -> [SeatCapabilities] -> m [Device]
- seatGrab :: (HasCallStack, MonadIO m, IsSeat a, IsWindow b, IsCursor c) => a -> b -> [SeatCapabilities] -> Bool -> Maybe c -> Maybe Event -> Maybe SeatGrabPrepareFunc -> m GrabStatus
- seatUngrab :: (HasCallStack, MonadIO m, IsSeat a) => a -> m ()
- constructSeatDisplay :: (IsSeat o, IsDisplay a) => a -> IO (GValueConstruct o)
- getSeatDisplay :: (MonadIO m, IsSeat o) => o -> m Display
- type C_SeatDeviceAddedCallback = Ptr () -> Ptr Device -> Ptr () -> IO ()
- type SeatDeviceAddedCallback = Device -> IO ()
- afterSeatDeviceAdded :: (IsSeat a, MonadIO m) => a -> SeatDeviceAddedCallback -> m SignalHandlerId
- genClosure_SeatDeviceAdded :: SeatDeviceAddedCallback -> IO Closure
- mk_SeatDeviceAddedCallback :: C_SeatDeviceAddedCallback -> IO (FunPtr C_SeatDeviceAddedCallback)
- noSeatDeviceAddedCallback :: Maybe SeatDeviceAddedCallback
- onSeatDeviceAdded :: (IsSeat a, MonadIO m) => a -> SeatDeviceAddedCallback -> m SignalHandlerId
- wrap_SeatDeviceAddedCallback :: SeatDeviceAddedCallback -> C_SeatDeviceAddedCallback
- type C_SeatDeviceRemovedCallback = Ptr () -> Ptr Device -> Ptr () -> IO ()
- type SeatDeviceRemovedCallback = Device -> IO ()
- afterSeatDeviceRemoved :: (IsSeat a, MonadIO m) => a -> SeatDeviceRemovedCallback -> m SignalHandlerId
- genClosure_SeatDeviceRemoved :: SeatDeviceRemovedCallback -> IO Closure
- mk_SeatDeviceRemovedCallback :: C_SeatDeviceRemovedCallback -> IO (FunPtr C_SeatDeviceRemovedCallback)
- noSeatDeviceRemovedCallback :: Maybe SeatDeviceRemovedCallback
- onSeatDeviceRemoved :: (IsSeat a, MonadIO m) => a -> SeatDeviceRemovedCallback -> m SignalHandlerId
- wrap_SeatDeviceRemovedCallback :: SeatDeviceRemovedCallback -> C_SeatDeviceRemovedCallback
- type C_SeatToolAddedCallback = Ptr () -> Ptr DeviceTool -> Ptr () -> IO ()
- type SeatToolAddedCallback = DeviceTool -> IO ()
- afterSeatToolAdded :: (IsSeat a, MonadIO m) => a -> SeatToolAddedCallback -> m SignalHandlerId
- genClosure_SeatToolAdded :: SeatToolAddedCallback -> IO Closure
- mk_SeatToolAddedCallback :: C_SeatToolAddedCallback -> IO (FunPtr C_SeatToolAddedCallback)
- noSeatToolAddedCallback :: Maybe SeatToolAddedCallback
- onSeatToolAdded :: (IsSeat a, MonadIO m) => a -> SeatToolAddedCallback -> m SignalHandlerId
- wrap_SeatToolAddedCallback :: SeatToolAddedCallback -> C_SeatToolAddedCallback
- type C_SeatToolRemovedCallback = Ptr () -> Ptr DeviceTool -> Ptr () -> IO ()
- type SeatToolRemovedCallback = DeviceTool -> IO ()
- afterSeatToolRemoved :: (IsSeat a, MonadIO m) => a -> SeatToolRemovedCallback -> m SignalHandlerId
- genClosure_SeatToolRemoved :: SeatToolRemovedCallback -> IO Closure
- mk_SeatToolRemovedCallback :: C_SeatToolRemovedCallback -> IO (FunPtr C_SeatToolRemovedCallback)
- noSeatToolRemovedCallback :: Maybe SeatToolRemovedCallback
- onSeatToolRemoved :: (IsSeat a, MonadIO m) => a -> SeatToolRemovedCallback -> m SignalHandlerId
- wrap_SeatToolRemovedCallback :: SeatToolRemovedCallback -> C_SeatToolRemovedCallback
Exported types
Memory-managed wrapper type.
Instances
GObject Seat Source # | |
Defined in GI.Gdk.Objects.Seat gobjectType :: Seat -> IO GType # | |
IsObject Seat Source # | |
Defined in GI.Gdk.Objects.Seat | |
IsSeat Seat Source # | |
Defined in GI.Gdk.Objects.Seat |
class GObject o => IsSeat o Source #
Instances
(GObject a, (UnknownAncestorError Seat a :: Constraint)) => IsSeat a Source # | |
Defined in GI.Gdk.Objects.Seat | |
IsSeat Seat Source # | |
Defined in GI.Gdk.Objects.Seat |
Methods
getCapabilities
:: (HasCallStack, MonadIO m, IsSeat a) | |
=> a |
|
-> m [SeatCapabilities] | Returns: the seat capabilities |
Returns the capabilities this Seat
currently has.
Since: 3.20
getDisplay
:: (HasCallStack, MonadIO m, IsSeat a) | |
=> a |
|
-> m Display | Returns: a |
Returns the Display
this seat belongs to.
getKeyboard
:: (HasCallStack, MonadIO m, IsSeat a) | |
=> a |
|
-> m (Maybe Device) | Returns: a master |
Returns the master device that routes keyboard events.
Since: 3.20
getPointer
:: (HasCallStack, MonadIO m, IsSeat a) | |
=> a |
|
-> m (Maybe Device) | Returns: a master |
Returns the master device that routes pointer events.
Since: 3.20
getSlaves
:: (HasCallStack, MonadIO m, IsSeat a) | |
=> a |
|
-> [SeatCapabilities] |
|
-> m [Device] | Returns: A list of |
Returns the slave devices that match the given capabilities.
Since: 3.20
grab
:: (HasCallStack, MonadIO m, IsSeat a, IsWindow b, IsCursor c) | |
=> a |
|
-> b |
|
-> [SeatCapabilities] |
|
-> Bool |
|
-> Maybe c |
|
-> Maybe Event |
|
-> Maybe SeatGrabPrepareFunc |
|
-> m GrabStatus | Returns: |
Grabs the seat so that all events corresponding to the given capabilities
are passed to this application until the seat is ungrabbed with seatUngrab
,
or the window becomes hidden. This overrides any previous grab on the
seat by this client.
As a rule of thumb, if a grab is desired over SeatCapabilitiesPointer
,
all other "pointing" capabilities (eg. SeatCapabilitiesTouch
) should
be grabbed too, so the user is able to interact with all of those while
the grab holds, you should thus use SeatCapabilitiesAllPointing
most
commonly.
Grabs are used for operations which need complete control over the events corresponding to the given capabilities. For example in GTK+ this is used for Drag and Drop operations, popup menus and such.
Note that if the event mask of a Window
has selected both button press
and button release events, or touch begin and touch end, then a press event
will cause an automatic grab until the button is released, equivalent to a
grab on the window with ownerEvents
set to True
. This is done because most
applications expect to receive paired press and release events.
If you set up anything at the time you take the grab that needs to be
cleaned up when the grab ends, you should handle the EventGrabBroken
events that are emitted when the grab ends unvoluntarily.
Since: 3.20
ungrab
:: (HasCallStack, MonadIO m, IsSeat a) | |
=> a |
|
-> m () |
Releases a grab added through seatGrab
.
Since: 3.20
Properties
display
Display
of this seat.
Since: 3.20
constructSeatDisplay :: (IsSeat o, IsDisplay a) => a -> IO (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “display
” property. This is rarely needed directly, but it is used by new
.
getSeatDisplay :: (MonadIO m, IsSeat o) => o -> m Display Source #
Get the value of the “display
” property.
When overloading is enabled, this is equivalent to
get
seat #display
Signals
deviceAdded
type C_SeatDeviceAddedCallback = Ptr () -> Ptr Device -> Ptr () -> IO () Source #
Type for the callback on the (unwrapped) C side.
type SeatDeviceAddedCallback Source #
The ::device-added signal is emitted when a new input device is related to this seat.
Since: 3.20
afterSeatDeviceAdded :: (IsSeat a, MonadIO m) => a -> SeatDeviceAddedCallback -> m SignalHandlerId Source #
Connect a signal handler for the “device-added
” signal, to be run after the default handler.
When overloading is enabled, this is equivalent to
after
seat #deviceAdded callback
genClosure_SeatDeviceAdded :: SeatDeviceAddedCallback -> IO Closure Source #
Wrap the callback into a Closure
.
mk_SeatDeviceAddedCallback :: C_SeatDeviceAddedCallback -> IO (FunPtr C_SeatDeviceAddedCallback) Source #
Generate a function pointer callable from C code, from a C_SeatDeviceAddedCallback
.
noSeatDeviceAddedCallback :: Maybe SeatDeviceAddedCallback Source #
A convenience synonym for
.Nothing
:: Maybe
SeatDeviceAddedCallback
onSeatDeviceAdded :: (IsSeat a, MonadIO m) => a -> SeatDeviceAddedCallback -> m SignalHandlerId Source #
Connect a signal handler for the “device-added
” signal, to be run before the default handler.
When overloading is enabled, this is equivalent to
on
seat #deviceAdded callback
wrap_SeatDeviceAddedCallback :: SeatDeviceAddedCallback -> C_SeatDeviceAddedCallback Source #
Wrap a SeatDeviceAddedCallback
into a C_SeatDeviceAddedCallback
.
deviceRemoved
type C_SeatDeviceRemovedCallback = Ptr () -> Ptr Device -> Ptr () -> IO () Source #
Type for the callback on the (unwrapped) C side.
type SeatDeviceRemovedCallback Source #
The ::device-removed signal is emitted when an input device is removed (e.g. unplugged).
Since: 3.20
afterSeatDeviceRemoved :: (IsSeat a, MonadIO m) => a -> SeatDeviceRemovedCallback -> m SignalHandlerId Source #
Connect a signal handler for the “device-removed
” signal, to be run after the default handler.
When overloading is enabled, this is equivalent to
after
seat #deviceRemoved callback
genClosure_SeatDeviceRemoved :: SeatDeviceRemovedCallback -> IO Closure Source #
Wrap the callback into a Closure
.
mk_SeatDeviceRemovedCallback :: C_SeatDeviceRemovedCallback -> IO (FunPtr C_SeatDeviceRemovedCallback) Source #
Generate a function pointer callable from C code, from a C_SeatDeviceRemovedCallback
.
noSeatDeviceRemovedCallback :: Maybe SeatDeviceRemovedCallback Source #
A convenience synonym for
.Nothing
:: Maybe
SeatDeviceRemovedCallback
onSeatDeviceRemoved :: (IsSeat a, MonadIO m) => a -> SeatDeviceRemovedCallback -> m SignalHandlerId Source #
Connect a signal handler for the “device-removed
” signal, to be run before the default handler.
When overloading is enabled, this is equivalent to
on
seat #deviceRemoved callback
wrap_SeatDeviceRemovedCallback :: SeatDeviceRemovedCallback -> C_SeatDeviceRemovedCallback Source #
Wrap a SeatDeviceRemovedCallback
into a C_SeatDeviceRemovedCallback
.
toolAdded
type C_SeatToolAddedCallback = Ptr () -> Ptr DeviceTool -> Ptr () -> IO () Source #
Type for the callback on the (unwrapped) C side.
type SeatToolAddedCallback Source #
= DeviceTool |
|
-> IO () |
The ::tool-added signal is emitted whenever a new tool
is made known to the seat. The tool may later be assigned
to a device (i.e. on proximity with a tablet). The device
will emit the Device
::tool-changed
signal accordingly.
A same tool may be used by several devices.
Since: 3.22
afterSeatToolAdded :: (IsSeat a, MonadIO m) => a -> SeatToolAddedCallback -> m SignalHandlerId Source #
Connect a signal handler for the “tool-added
” signal, to be run after the default handler.
When overloading is enabled, this is equivalent to
after
seat #toolAdded callback
genClosure_SeatToolAdded :: SeatToolAddedCallback -> IO Closure Source #
Wrap the callback into a Closure
.
mk_SeatToolAddedCallback :: C_SeatToolAddedCallback -> IO (FunPtr C_SeatToolAddedCallback) Source #
Generate a function pointer callable from C code, from a C_SeatToolAddedCallback
.
noSeatToolAddedCallback :: Maybe SeatToolAddedCallback Source #
A convenience synonym for
.Nothing
:: Maybe
SeatToolAddedCallback
onSeatToolAdded :: (IsSeat a, MonadIO m) => a -> SeatToolAddedCallback -> m SignalHandlerId Source #
Connect a signal handler for the “tool-added
” signal, to be run before the default handler.
When overloading is enabled, this is equivalent to
on
seat #toolAdded callback
wrap_SeatToolAddedCallback :: SeatToolAddedCallback -> C_SeatToolAddedCallback Source #
Wrap a SeatToolAddedCallback
into a C_SeatToolAddedCallback
.
toolRemoved
type C_SeatToolRemovedCallback = Ptr () -> Ptr DeviceTool -> Ptr () -> IO () Source #
Type for the callback on the (unwrapped) C side.
type SeatToolRemovedCallback Source #
= DeviceTool |
|
-> IO () |
This signal is emitted whenever a tool is no longer known
to this seat
.
Since: 3.22
afterSeatToolRemoved :: (IsSeat a, MonadIO m) => a -> SeatToolRemovedCallback -> m SignalHandlerId Source #
Connect a signal handler for the “tool-removed
” signal, to be run after the default handler.
When overloading is enabled, this is equivalent to
after
seat #toolRemoved callback
genClosure_SeatToolRemoved :: SeatToolRemovedCallback -> IO Closure Source #
Wrap the callback into a Closure
.
mk_SeatToolRemovedCallback :: C_SeatToolRemovedCallback -> IO (FunPtr C_SeatToolRemovedCallback) Source #
Generate a function pointer callable from C code, from a C_SeatToolRemovedCallback
.
noSeatToolRemovedCallback :: Maybe SeatToolRemovedCallback Source #
A convenience synonym for
.Nothing
:: Maybe
SeatToolRemovedCallback
onSeatToolRemoved :: (IsSeat a, MonadIO m) => a -> SeatToolRemovedCallback -> m SignalHandlerId Source #
Connect a signal handler for the “tool-removed
” signal, to be run before the default handler.
When overloading is enabled, this is equivalent to
on
seat #toolRemoved callback