wlmaker
Loading...
Searching...
No Matches
Classes | Functions | Variables
toplevel.h File Reference
#include <libbase/libbase.h>
#include <libbase/signal.h>
#include <stdbool.h>
#include "wlclient/wlclient.h"
Include dependency graph for toplevel.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  wlmdock_toplevel_tracker_events
 

Functions

struct wlmdock_toplevel_tracker * wlmdock_toplevel_tracker_create (void)
 
void wlmdock_toplevel_tracker_destroy (struct wlmdock_toplevel_tracker *tracker_ptr)
 
bool wlmdock_toplevel_register_ext_foreign_toplevel_list (wlmcl_client_t *client_ptr, struct wlmdock_toplevel_tracker *tracker_ptr)
 
struct wlmdock_toplevel_tracker_events * wlmdock_toplevel_tracker_events (struct wlmdock_toplevel_tracker *tracker_ptr)
 
bool wlmdock_toplevel_tracker_register_app_id (struct wlmdock_toplevel_tracker *tracker_ptr, struct wlmdock_toplevel_handle *handle_ptr)
 
void wlmdock_toplevel_tracker_unregister_app_id (struct wlmdock_toplevel_tracker *tracker_ptr, struct wlmdock_toplevel_handle *handle_ptr)
 
bs_dllist_t * wlmdock_toplevel_tracker_app_id_handles (struct wlmdock_toplevel_tracker *tracker_ptr, const char *app_id_ptr)
 
struct wlmdock_toplevel_handle * wlmdock_toplevel_handle_create (struct wlmdock_toplevel_tracker *tracker_ptr)
 
void wlmdock_toplevel_handle_destroy (struct wlmdock_toplevel_handle *handle_ptr)
 
bool wlmdock_toplevel_handle_set_app_id (struct wlmdock_toplevel_handle *handle_ptr, const char *app_id_ptr)
 
bool wlmdock_toplevel_handle_set_title (struct wlmdock_toplevel_handle *handle_ptr, const char *title_ptr)
 
bool wlmdock_toplevel_handle_set_identifier (struct wlmdock_toplevel_handle *handle_ptr, const char *identifier_ptr)
 

Variables

const bs_test_set_t wlmdock_toplevel_test_set
 

Detailed Description

Maintains handles for listing and manipulating toplevels, as provided by the relevant Wayland protocols. Namely:

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.

Function Documentation

◆ wlmdock_toplevel_handle_create()

struct wlmdock_toplevel_handle * wlmdock_toplevel_handle_create ( struct wlmdock_toplevel_tracker *  tracker_ptr)

Creates a toplevel handle.

Parameters
tracker_ptr
Returns
Pointer to the handle, or NULL on error.

◆ wlmdock_toplevel_handle_destroy()

void wlmdock_toplevel_handle_destroy ( struct wlmdock_toplevel_handle *  handle_ptr)

Destroys the toplevel handle.

Parameters
handle_ptr

◆ wlmdock_toplevel_handle_set_app_id()

bool wlmdock_toplevel_handle_set_app_id ( struct wlmdock_toplevel_handle *  handle_ptr,
const char *  app_id_ptr 
)

Sets (or clears) the app id of the toplevel.

Parameters
handle_ptr
app_id_ptrMay be NULL.
Returns
true on success.

◆ wlmdock_toplevel_handle_set_identifier()

bool wlmdock_toplevel_handle_set_identifier ( struct wlmdock_toplevel_handle *  handle_ptr,
const char *  identifier_ptr 
)

Sets (or clears) the identifier of the toplevel.

Parameters
handle_ptr
identifier_ptrOnce set, the identifier must not be changed.
Returns
true on success.

◆ wlmdock_toplevel_handle_set_title()

bool wlmdock_toplevel_handle_set_title ( struct wlmdock_toplevel_handle *  handle_ptr,
const char *  title_ptr 
)

Sets (or clears) the title of the toplevel.

Parameters
handle_ptr
title_ptrMay be NULL.
Returns
true on success.

◆ wlmdock_toplevel_register_ext_foreign_toplevel_list()

bool wlmdock_toplevel_register_ext_foreign_toplevel_list ( wlmcl_client_t *  client_ptr,
struct wlmdock_toplevel_tracker *  tracker_ptr 
)

Registers an ext-foreign-toplevel-list-v1 interface for the tracker.

Parameters
client_ptr
tracker_ptr
Returns
true on success.

◆ wlmdock_toplevel_tracker_app_id_handles()

bs_dllist_t * wlmdock_toplevel_tracker_app_id_handles ( struct wlmdock_toplevel_tracker *  tracker_ptr,
const char *  app_id_ptr 
)

Returns wlmdock_toplevel_app_ids::toplevel_handles for app_id_ptr.

Parameters
tracker_ptr
app_id_ptr
Returns
The list of toplevel handles, or NULL if no such app id is tracked.

◆ wlmdock_toplevel_tracker_create()

struct wlmdock_toplevel_tracker * wlmdock_toplevel_tracker_create ( void  )

Creates the toplevel tracker.

Returns
Pointer to the toplevel tracker, or NULL on error.

◆ wlmdock_toplevel_tracker_destroy()

void wlmdock_toplevel_tracker_destroy ( struct wlmdock_toplevel_tracker *  tracker_ptr)

Destroys the toplevel tracker.

Parameters
tracker_ptr

◆ wlmdock_toplevel_tracker_events()

◆ wlmdock_toplevel_tracker_register_app_id()

bool wlmdock_toplevel_tracker_register_app_id ( struct wlmdock_toplevel_tracker *  tracker_ptr,
struct wlmdock_toplevel_handle *  handle_ptr 
)

Registers the handle for the app_id tracker.

Parameters
tracker_ptr
handle_ptrRequires wlmdock_toplevel_handle::app_id_ptr to be set.
Returns
true on success.

◆ wlmdock_toplevel_tracker_unregister_app_id()

void wlmdock_toplevel_tracker_unregister_app_id ( struct wlmdock_toplevel_tracker *  tracker_ptr,
struct wlmdock_toplevel_handle *  handle_ptr 
)

Unregisters the handle from the app_id tracker.

Parameters
tracker_ptr
handle_ptrRequires wlmdock_toplevel_handle::app_id_ptr to be set.

Variable Documentation

◆ wlmdock_toplevel_test_set

const bs_test_set_t wlmdock_toplevel_test_set
extern

Unit test set for toplevel.