|
static wlmaker_icon_manager_t * | icon_manager_from_resource (struct wl_resource *wl_resource_ptr) |
|
static wlmaker_toplevel_icon_t * | wlmaker_toplevel_icon_from_resource (struct wl_resource *wl_resource_ptr) |
|
static void | bind_icon_manager (struct wl_client *wl_client_ptr, void *data_ptr, uint32_t version, uint32_t id) |
|
static void | handle_resource_destroy (struct wl_client *wl_client_ptr, struct wl_resource *wl_resource_ptr) |
|
static void | handle_get_toplevel_icon (struct wl_client *wl_client_ptr, struct wl_resource *wl_icon_manager_resource_ptr, uint32_t id, struct wl_resource *wl_toplevel_resource_ptr, struct wl_resource *wl_surface_resource_ptr) |
|
static wlmaker_toplevel_icon_t * | wlmaker_toplevel_icon_create (struct wl_client *wl_client_ptr, wlmaker_icon_manager_t *icon_manager_ptr, uint32_t id, int version, struct wlr_xdg_toplevel *wlr_xdg_toplevel_ptr, struct wlr_surface *wlr_surface_ptr) |
|
static void | wlmaker_toplevel_icon_destroy (wlmaker_toplevel_icon_t *toplevel_icon_ptr) |
|
static void | toplevel_icon_resource_destroy (struct wl_resource *wl_resource_ptr) |
|
static void | handle_icon_ack_configure (struct wl_client *wl_client_ptr, struct wl_resource *wl_resource_ptr, uint32_t serial) |
|
static void | handle_surface_commit (struct wl_listener *listener_ptr, void *data_ptr) |
|
static void | handle_surface_destroy (struct wl_listener *listener_ptr, void *data_ptr) |
|
static void | _wlmaker_toplevel_icon_element_destroy (wlmtk_element_t *element_ptr) |
|
wlmaker_icon_manager_t * | wlmaker_icon_manager_create (struct wl_display *wl_display_ptr, wlmaker_server_t *server_ptr) |
|
void | wlmaker_icon_manager_destroy (wlmaker_icon_manager_t *icon_manager_ptr) |
|
- Copyright
- Copyright 2023 Google LLC
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
void _wlmaker_toplevel_icon_element_destroy |
( |
wlmtk_element_t * |
element_ptr | ) |
|
|
static |
Destructor of the icon's corresponding tile element.
This is a hack: The wlmaker_toplevel_icon_t
is owned by the wl_resource and must only be freed when that dtor is caller. But, the element dtor may be called on wlmaker shutdown, when eg. an icon app is still running. So, for that case, we just detach the icon here.
Leaving as is, since the icon model will need to be revamped anyway, to line up with the new XDG icon protocol.
- Parameters
-
void handle_surface_commit |
( |
struct wl_listener * |
listener_ptr, |
|
|
void * |
data_ptr |
|
) |
| |
|
static |
Event handler for the commit
signal of the icon's surface.
The protocol expects a first commit
with a NULL-buffer attached to the surface. This will trigger a configure
event, informing the client of the suggested icon size.
Only when the configuration was suggested and acknowledged a first time, will we accept commit
with attached buffers.
- Parameters
-
listener_ptr | |
data_ptr | Points to the struct wlr_surface of the icon. |