#ifndef XDG_ACTIVATION_V1_INTERFACE # define XDG_ACTIVATION_V1_INTERFACE /** * @page page_iface_xdg_activation_v1 xdg_activation_v1 * @section page_iface_xdg_activation_v1_desc Description * * A global interface used for informing the compositor about applications * being activated or started, or for applications to request to be * activated. * @section page_iface_xdg_activation_v1_api API * See @ref iface_xdg_activation_v1.
*/ /** * @defgroup iface_xdg_activation_v1 The xdg_activation_v1 interface * * A global interface used for informing the compositor about applications * being activated or started, or for applications to request to be * activated.
*/ externconststruct wl_interface xdg_activation_v1_interface; #endif #ifndef XDG_ACTIVATION_TOKEN_V1_INTERFACE # define XDG_ACTIVATION_TOKEN_V1_INTERFACE /** * @page page_iface_xdg_activation_token_v1 xdg_activation_token_v1 * @section page_iface_xdg_activation_token_v1_desc Description * * An object for setting up a token and receiving a token handle that can * be passed as an activation token to another client. * * The object is created using the xdg_activation_v1.get_activation_token * request. This object should then be populated with the app_id, surface * and serial information and committed. The compositor shall then issue a * done event with the token. In case the request's parameters are invalid, * the compositor will provide an invalid token. * @section page_iface_xdg_activation_token_v1_api API * See @ref iface_xdg_activation_token_v1.
*/ /** * @defgroup iface_xdg_activation_token_v1 The xdg_activation_token_v1 interface * * An object for setting up a token and receiving a token handle that can * be passed as an activation token to another client. * * The object is created using the xdg_activation_v1.get_activation_token * request. This object should then be populated with the app_id, surface * and serial information and committed. The compositor shall then issue a * done event with the token. In case the request's parameters are invalid, * the compositor will provide an invalid token.
*/ externconststruct wl_interface xdg_activation_token_v1_interface; #endif
/** * @ingroup iface_xdg_activation_v1 * * Notify the compositor that the xdg_activation object will no longer be * used. * * The child objects created via this interface are unaffected and should * be destroyed separately.
*/ staticinlinevoid xdg_activation_v1_destroy( struct xdg_activation_v1* xdg_activation_v1) {
wl_proxy_marshal((struct wl_proxy*)xdg_activation_v1,
XDG_ACTIVATION_V1_DESTROY);
/** * @ingroup iface_xdg_activation_v1 * * Creates an xdg_activation_token_v1 object that will provide * the initiating client with a unique token for this activation. This * token should be offered to the clients to be activated.
*/ staticinlinestruct xdg_activation_token_v1*
xdg_activation_v1_get_activation_token( struct xdg_activation_v1* xdg_activation_v1) { struct wl_proxy* id;
id = wl_proxy_marshal_constructor((struct wl_proxy*)xdg_activation_v1,
XDG_ACTIVATION_V1_GET_ACTIVATION_TOKEN,
&xdg_activation_token_v1_interface, NULL);
return (struct xdg_activation_token_v1*)id;
}
/** * @ingroup iface_xdg_activation_v1 * * Requests surface activation. It's up to the compositor to display * this information as desired, for example by placing the surface above * the rest. * * The compositor may know who requested this by checking the activation * token and might decide not to follow through with the activation if it's * considered unwanted. * * Compositors can ignore unknown activation tokens when an invalid * token is passed.
*/ staticinlinevoid xdg_activation_v1_activate( struct xdg_activation_v1* xdg_activation_v1, constchar* token, struct wl_surface* surface) {
wl_proxy_marshal((struct wl_proxy*)xdg_activation_v1,
XDG_ACTIVATION_V1_ACTIVATE, token, surface);
}
#ifndef XDG_ACTIVATION_TOKEN_V1_ERROR_ENUM # define XDG_ACTIVATION_TOKEN_V1_ERROR_ENUM enum xdg_activation_token_v1_error { /** * The token has already been used previously
*/
XDG_ACTIVATION_TOKEN_V1_ERROR_ALREADY_USED = 0,
}; #endif/* XDG_ACTIVATION_TOKEN_V1_ERROR_ENUM */
/** * @ingroup iface_xdg_activation_token_v1 * @struct xdg_activation_token_v1_listener
*/ struct xdg_activation_token_v1_listener { /** * the exported activation token * * The 'done' event contains the unique token of this activation * request and notifies that the provider is done. * @param token the exported activation token
*/ void (*done)(void* data, struct xdg_activation_token_v1* xdg_activation_token_v1, constchar* token);
};
/** * @ingroup iface_xdg_activation_token_v1 * * Provides information about the seat and serial event that requested the * token. * * The serial can come from an input or focus event. For instance, if a * click triggers the launch of a third-party client, the launcher client * should send a set_serial request with the serial and seat from the * wl_pointer.button event. * * Some compositors might refuse to activate toplevels when the token * doesn't have a valid and recent enough event serial. * * Must be sent before commit. This information is optional.
*/ staticinlinevoid xdg_activation_token_v1_set_serial( struct xdg_activation_token_v1* xdg_activation_token_v1, uint32_t serial, struct wl_seat* seat) {
wl_proxy_marshal((struct wl_proxy*)xdg_activation_token_v1,
XDG_ACTIVATION_TOKEN_V1_SET_SERIAL, serial, seat);
}
/** * @ingroup iface_xdg_activation_token_v1 * * The requesting client can specify an app_id to associate the token * being created with it. * * Must be sent before commit. This information is optional.
*/ staticinlinevoid xdg_activation_token_v1_set_app_id( struct xdg_activation_token_v1* xdg_activation_token_v1, constchar* app_id) {
wl_proxy_marshal((struct wl_proxy*)xdg_activation_token_v1,
XDG_ACTIVATION_TOKEN_V1_SET_APP_ID, app_id);
}
/** * @ingroup iface_xdg_activation_token_v1 * * This request sets the surface requesting the activation. Note, this is * different from the surface that will be activated. * * Some compositors might refuse to activate toplevels when the token * doesn't have a requesting surface. * * Must be sent before commit. This information is optional.
*/ staticinlinevoid xdg_activation_token_v1_set_surface( struct xdg_activation_token_v1* xdg_activation_token_v1, struct wl_surface* surface) {
wl_proxy_marshal((struct wl_proxy*)xdg_activation_token_v1,
XDG_ACTIVATION_TOKEN_V1_SET_SURFACE, surface);
}
/** * @ingroup iface_xdg_activation_token_v1 * * Requests an activation token based on the different parameters that * have been offered through set_serial, set_surface and set_app_id.
*/ staticinlinevoid xdg_activation_token_v1_commit( struct xdg_activation_token_v1* xdg_activation_token_v1) {
wl_proxy_marshal((struct wl_proxy*)xdg_activation_token_v1,
XDG_ACTIVATION_TOKEN_V1_COMMIT);
}
/** * @ingroup iface_xdg_activation_token_v1 * * Notify the compositor that the xdg_activation_token_v1 object will no * longer be used.
*/ staticinlinevoid xdg_activation_token_v1_destroy( struct xdg_activation_token_v1* xdg_activation_token_v1) {
wl_proxy_marshal((struct wl_proxy*)xdg_activation_token_v1,
XDG_ACTIVATION_TOKEN_V1_DESTROY);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.