SeatProtocol

public protocol SeatProtocol : ObjectProtocol

The SeatProtocol protocol exposes the methods and properties of an underlying GdkSeat instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, see Seat. Alternatively, use SeatRef as a lighweight, unowned reference if you already have an instance you just want to use.

The GdkSeat object represents a collection of input devices that belong to a user.

  • ptr

    Untyped pointer to the underlying GdkSeat instance.

    Declaration

    Swift

    var ptr: UnsafeMutableRawPointer! { get }
  • seat_ptr Default implementation

    Typed pointer to the underlying GdkSeat instance.

    Default Implementation

    Return the stored, untyped pointer as a typed pointer to the GdkSeat instance.

    Declaration

    Swift

    var seat_ptr: UnsafeMutablePointer<GdkSeat>! { get }
  • Required Initialiser for types conforming to SeatProtocol

    Declaration

    Swift

    init(raw: UnsafeMutableRawPointer)

Seat Class

  • Bind a SeatPropertyName source property to a given target object.

    Declaration

    Swift

    @discardableResult
    @inlinable
    func bind<Q, T>(property source_property: SeatPropertyName, to target: T, _ target_property: Q, flags f: BindingFlags = .default, transformFrom transform_from: @escaping GLibObject.ValueTransformer = { $0.transform(destValue: $1) }, transformTo transform_to: @escaping GLibObject.ValueTransformer = { $0.transform(destValue: $1) }) -> BindingRef! where Q : PropertyNameProtocol, T : ObjectProtocol

    Parameters

    source_property

    the source property to bind

    target

    the target object to bind to

    target_property

    the target property to bind to

    flags

    the flags to pass to the Binding

    transform_from

    ValueTransformer to use for forward transformation

    transform_to

    ValueTransformer to use for backwards transformation

    Return Value

    binding reference or nil in case of an error

  • get(property:) Extension method

    Get the value of a Seat property

    Declaration

    Swift

    @inlinable
    func get(property: SeatPropertyName) -> GLibObject.Value

    Parameters

    property

    the property to get the value for

    Return Value

    the value of the named property

  • set(property:value:) Extension method

    Set the value of a Seat property. Note that this will only have an effect on properties that are writable and not construct-only!

    Declaration

    Swift

    @inlinable
    func set(property: SeatPropertyName, value v: GLibObject.Value)

    Parameters

    property

    the property to get the value for

    Return Value

    the value of the named property

Seat signals

  • Connect a Swift signal handler to the given, typed SeatSignalName signal

    Declaration

    Swift

    @discardableResult
    @inlinable
    func connect(signal s: SeatSignalName, flags f: ConnectFlags = ConnectFlags(0), handler h: @escaping SignalHandler) -> Int

    Parameters

    signal

    The signal to connect

    flags

    The connection flags to use

    data

    A pointer to user data to provide to the callback

    destroyData

    A GClosureNotify C function to destroy the data pointed to by userData

    handler

    The Swift signal handler (function or callback) to invoke on the given signal

    Return Value

    The signal handler ID (always greater than 0 for successful connections)

  • Connect a C signal handler to the given, typed SeatSignalName signal

    Declaration

    Swift

    @discardableResult
    @inlinable
    func connect(signal s: SeatSignalName, flags f: ConnectFlags = ConnectFlags(0), data userData: gpointer!, destroyData destructor: GClosureNotify? = nil, signalHandler h: @escaping GCallback) -> Int

    Parameters

    signal

    The signal to connect

    flags

    The connection flags to use

    data

    A pointer to user data to provide to the callback

    destroyData

    A GClosureNotify C function to destroy the data pointed to by userData

    signalHandler

    The C function to be called on the given signal

    Return Value

    The signal handler ID (always greater than 0 for successful connections)

  • The device-added signal is emitted when a new input device is related to this seat.

    Note

    This represents the underlying device-added signal

    Declaration

    Swift

    @discardableResult
    @inlinable
    func onDeviceAdded(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: SeatRef, _ device: DeviceRef) -> Void) -> Int

    Parameters

    flags

    Flags

    unownedSelf

    Reference to instance of self

    device

    the newly added GdkDevice.

    handler

    The signal handler to call Run the given callback whenever the deviceAdded signal is emitted

  • deviceAddedSignal Extension method

    Typed device-added signal for using the connect(signal:) methods

    Declaration

    Swift

    static var deviceAddedSignal: SeatSignalName { get }
  • The device-removed signal is emitted when an input device is removed (e.g. unplugged).

    Note

    This represents the underlying device-removed signal

    Declaration

    Swift

    @discardableResult
    @inlinable
    func onDeviceRemoved(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: SeatRef, _ device: DeviceRef) -> Void) -> Int

    Parameters

    flags

    Flags

    unownedSelf

    Reference to instance of self

    device

    the just removed GdkDevice.

    handler

    The signal handler to call Run the given callback whenever the deviceRemoved signal is emitted

  • deviceRemovedSignal Extension method

    Typed device-removed signal for using the connect(signal:) methods

    Declaration

    Swift

    static var deviceRemovedSignal: SeatSignalName { get }
  • onToolAdded(flags:handler:) Extension method

    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 GdkDevice::tool-changed signal accordingly.

    A same tool may be used by several devices.

    Note

    This represents the underlying tool-added signal

    Declaration

    Swift

    @discardableResult
    @inlinable
    func onToolAdded(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: SeatRef, _ tool: DeviceToolRef) -> Void) -> Int

    Parameters

    flags

    Flags

    unownedSelf

    Reference to instance of self

    tool

    the new GdkDeviceTool known to the seat

    handler

    The signal handler to call Run the given callback whenever the toolAdded signal is emitted

  • toolAddedSignal Extension method

    Typed tool-added signal for using the connect(signal:) methods

    Declaration

    Swift

    static var toolAddedSignal: SeatSignalName { get }
  • This signal is emitted whenever a tool is no longer known to this seat.

    Note

    This represents the underlying tool-removed signal

    Declaration

    Swift

    @discardableResult
    @inlinable
    func onToolRemoved(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: SeatRef, _ tool: DeviceToolRef) -> Void) -> Int

    Parameters

    flags

    Flags

    unownedSelf

    Reference to instance of self

    tool

    the just removed GdkDeviceTool

    handler

    The signal handler to call Run the given callback whenever the toolRemoved signal is emitted

  • toolRemovedSignal Extension method

    Typed tool-removed signal for using the connect(signal:) methods

    Declaration

    Swift

    static var toolRemovedSignal: SeatSignalName { get }
  • The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

    Note that getting this signal doesn’t itself guarantee that the value of the property has actually changed. When it is emitted is determined by the derived GObject class. If the implementor did not create the property with G_PARAM_EXPLICIT_NOTIFY, then any call to g_object_set_property() results in notify being emitted, even if the new value is the same as the old. If they did pass G_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly call g_object_notify() or g_object_notify_by_pspec(), and common practice is to do that only when the value has actually changed.

    This signal is typically used to obtain change notification for a single property, by specifying the property name as a detail in the g_signal_connect() call, like this: (C Language Example):

    g_signal_connect (text_view->buffer, "notify::paste-target-list",
                      G_CALLBACK (gtk_text_view_target_list_notify),
                      text_view)
    

    It is important to note that you must use canonical parameter names as detail strings for the notify signal.

    Note

    This represents the underlying notify::display signal

    Declaration

    Swift

    @discardableResult
    @inlinable
    func onNotifyDisplay(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: SeatRef, _ pspec: ParamSpecRef) -> Void) -> Int

    Parameters

    flags

    Flags

    unownedSelf

    Reference to instance of self

    pspec

    the GParamSpec of the property which changed.

    handler

    The signal handler to call Run the given callback whenever the notifyDisplay signal is emitted

  • notifyDisplaySignal Extension method

    Typed notify::display signal for using the connect(signal:) methods

    Declaration

    Swift

    static var notifyDisplaySignal: SeatSignalName { get }

Seat Class: SeatProtocol extension (methods and fields)

  • getCapabilities() Extension method

    Returns the capabilities this GdkSeat currently has.

    Declaration

    Swift

    @inlinable
    func getCapabilities() -> SeatCapabilities
  • getDisplay() Extension method

    Returns the GdkDisplay this seat belongs to.

    Declaration

    Swift

    @inlinable
    func getDisplay() -> DisplayRef!
  • getKeyboard() Extension method

    Returns the master device that routes keyboard events.

    Declaration

    Swift

    @inlinable
    func getKeyboard() -> DeviceRef!
  • getPointer() Extension method

    Returns the master device that routes pointer events.

    Declaration

    Swift

    @inlinable
    func getPointer() -> DeviceRef!
  • getSlaves(capabilities:) Extension method

    Returns the slave devices that match the given capabilities.

    Declaration

    Swift

    @inlinable
    func getSlaves(capabilities: SeatCapabilities) -> GLib.ListRef!
  • Grabs the seat so that all events corresponding to the given capabilities are passed to this application until the seat is ungrabbed with gdk_seat_ungrab(), 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 GDK_SEAT_CAPABILITY_POINTER, all other “pointing” capabilities (eg. GDK_SEAT_CAPABILITY_TOUCH) should be grabbed too, so the user is able to interact with all of those while the grab holds, you should thus use GDK_SEAT_CAPABILITY_ALL_POINTING 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 GdkWindow 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 owner_events 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 GdkEventGrabBroken events that are emitted when the grab ends unvoluntarily.

    Declaration

    Swift

    @inlinable
    func grab<WindowT>(window: WindowT, capabilities: SeatCapabilities, ownerEvents: Bool, cursor: CursorRef? = nil, event: EventRef? = nil, prepareFunc: GdkSeatGrabPrepareFunc? = nil, prepareFuncData: gpointer! = nil) -> GdkGrabStatus where WindowT : WindowProtocol
  • Grabs the seat so that all events corresponding to the given capabilities are passed to this application until the seat is ungrabbed with gdk_seat_ungrab(), 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 GDK_SEAT_CAPABILITY_POINTER, all other “pointing” capabilities (eg. GDK_SEAT_CAPABILITY_TOUCH) should be grabbed too, so the user is able to interact with all of those while the grab holds, you should thus use GDK_SEAT_CAPABILITY_ALL_POINTING 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 GdkWindow 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 owner_events 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 GdkEventGrabBroken events that are emitted when the grab ends unvoluntarily.

    Declaration

    Swift

    @inlinable
    func grab<CursorT, EventT, WindowT>(window: WindowT, capabilities: SeatCapabilities, ownerEvents: Bool, cursor: CursorT?, event: EventT?, prepareFunc: GdkSeatGrabPrepareFunc? = nil, prepareFuncData: gpointer! = nil) -> GdkGrabStatus where CursorT : CursorProtocol, EventT : EventProtocol, WindowT : WindowProtocol
  • ungrab() Extension method

    Releases a grab added through gdk_seat_grab().

    Declaration

    Swift

    @inlinable
    func ungrab()
  • capabilities Extension method

    Returns the capabilities this GdkSeat currently has.

    Declaration

    Swift

    @inlinable
    var capabilities: SeatCapabilities { get }
  • display Extension method

    GdkDisplay of this seat.

    Declaration

    Swift

    @inlinable
    var display: DisplayRef! { get }
  • keyboard Extension method

    Returns the master device that routes keyboard events.

    Declaration

    Swift

    @inlinable
    var keyboard: DeviceRef! { get }
  • pointer Extension method

    Returns the master device that routes pointer events.

    Declaration

    Swift

    @inlinable
    var pointer: DeviceRef! { get }
  • parentInstance Extension method

    Undocumented

    Declaration

    Swift

    @inlinable
    var parentInstance: GObject { get }