Struct wayland_client::Proxy[][src]

pub struct Proxy<I: Interface> { /* fields omitted */ }

An handle to a wayland proxy

This represents a wayland object instanciated in your client session. Several handles to the same object can exist at a given time, and cloning them won't create a new protocol object, only clone the handle. The lifetime of the protocol object is not tied to the lifetime of these handles, but rather to sending or receiving destroying messages.

These handles are notably used to send requests to the server. To do you need to import the associated RequestsTrait trait from the module of this interface.

Methods

impl<I: Interface> Proxy<I>
[src]

Send a request through this object

This is the generic method to send requests.

Several requests require the creation of new objects using the child() method, which if done wrong can cause protocol errors (in which case the server will terminate your connexion). Thus unless your know exactly what you are doing, you should use the helper methods provided by the various RequestsTrait for each interface, which handle this correctly for you.

Check if the object associated with this proxy is still alive

Will return false if either:

  • The object has been destroyed
  • The object is not managed by this library (see the from_c_ptr method)

Retrieve the interface version of this wayland object instance

Returns 0 on dead objects

Retrieve the object id of this wayland object

Access the arbitrary payload associated to this object

You need to specify the expected type of this payload, and this function will return None if either the types don't match or you are attempting to access a non Send + Sync user data from the wrong thread.

This value is associated to the Proxy when you implement it, and you cannot access it mutably afterwards. If you need interior mutability, you are responsible for using a Mutex or similar type to achieve it.

Check if the other proxy refers to the same underlying wayland object

Create a new child object

This creates a new wayland object, considered as a child of this object. It will notably inherit its interface version.

The created object should immediatly be implemented and sent in a request to the server, to keep the object list properly synchronized. Failure to do so will likely cause a protocol error.

Creates a handle of this proxy with its actual type erased

Create a wrapper for this object for queue management

As assigning a proxy to an event queue can be a racy operation in contextes involving multiple thread, this provides a facility to do this safely.

The wrapper object created behaves like a regular Proxy, except that all objects created as the result of its requests will be assigned to the queue associated to the provided token, rather than the queue of their parent. This does not change the queue of the proxy itself.

Trait Implementations

impl<I: Interface> Clone for Proxy<I>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<I: Interface> PartialEq for Proxy<I>
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<I: Interface> Eq for Proxy<I>
[src]

impl RequestsTrait for Proxy<WlDisplay>
[src]

asynchronous roundtrip Read more

get global registry object Read more

impl RequestsTrait for Proxy<WlRegistry>
[src]

bind an object to the display Read more

impl RequestsTrait for Proxy<WlCallback>
[src]

impl RequestsTrait for Proxy<WlCompositor>
[src]

create new surface Read more

create new region Read more

impl RequestsTrait for Proxy<WlShmPool>
[src]

create a buffer from the pool Read more

destroy the pool Read more

change the size of the pool mapping Read more

impl RequestsTrait for Proxy<WlShm>
[src]

create a shm pool Read more

impl RequestsTrait for Proxy<WlBuffer>
[src]

destroy a buffer Read more

impl RequestsTrait for Proxy<WlDataOffer>
[src]

accept one of the offered mime types Read more

request that the data is transferred Read more

destroy data offer Read more

the offer will no longer be used Read more

set the available/preferred drag-and-drop actions Read more

impl RequestsTrait for Proxy<WlDataSource>
[src]

add an offered mime type Read more

destroy the data source Read more

set the available drag-and-drop actions Read more

impl RequestsTrait for Proxy<WlDataDevice>
[src]

start drag-and-drop operation Read more

copy data to the selection Read more

destroy data device Read more

impl RequestsTrait for Proxy<WlDataDeviceManager>
[src]

create a new data source Read more

create a new data device Read more

impl RequestsTrait for Proxy<WlShell>
[src]

create a shell surface from a surface Read more

impl RequestsTrait for Proxy<WlShellSurface>
[src]

respond to a ping event Read more

start an interactive move Read more

start an interactive resize Read more

make the surface a toplevel surface Read more

make the surface a transient surface Read more

make the surface a fullscreen surface Read more

make the surface a popup surface Read more

make the surface a maximized surface Read more

set surface title Read more

set surface class Read more

impl RequestsTrait for Proxy<WlSurface>
[src]

delete surface Read more

set the surface contents Read more

mark part of the surface damaged Read more

request a frame throttling hint Read more

set opaque region Read more

set input region Read more

commit pending surface state Read more

sets the buffer transformation Read more

sets the buffer scaling factor Read more

mark part of the surface damaged using buffer coordinates Read more

impl RequestsTrait for Proxy<WlSeat>
[src]

return pointer object Read more

return keyboard object Read more

return touch object Read more

release the seat object Read more

impl RequestsTrait for Proxy<WlPointer>
[src]

set the pointer surface Read more

release the pointer object Read more

impl RequestsTrait for Proxy<WlKeyboard>
[src]

release the keyboard object Read more

impl RequestsTrait for Proxy<WlTouch>
[src]

release the touch object Read more

impl RequestsTrait for Proxy<WlOutput>
[src]

release the output object Read more

impl RequestsTrait for Proxy<WlRegion>
[src]

destroy region Read more

add rectangle to region Read more

subtract rectangle from region Read more

impl RequestsTrait for Proxy<WlSubcompositor>
[src]

unbind from the subcompositor interface Read more

give a surface the role sub-surface Read more

impl RequestsTrait for Proxy<WlSubsurface>
[src]

remove sub-surface interface Read more

reposition the sub-surface Read more

restack the sub-surface Read more

restack the sub-surface Read more

set sub-surface to synchronized mode Read more

set sub-surface to desynchronized mode Read more

Auto Trait Implementations

impl<I> Send for Proxy<I> where
    I: Sync

impl<I> Sync for Proxy<I> where
    I: Sync