wlmaker
Loading...
Searching...
No Matches
desktop.h
Go to the documentation of this file.
1/* ========================================================================= */
21#ifndef __WLMTK_DESKTOP_H__
22#define __WLMTK_DESKTOP_H__
23
28#include <libbase/libbase.h>
29#include <stdbool.h>
30#include <wayland-server-core.h>
31
32#include "element.h"
33#include "menu.h"
34#include "surface.h" // IWYU pragma: keep
35#include "window.h" // IWYU pragma: keep
36#include "workspace.h" // IWYU pragma: keep
37
38struct wlr_output_layout;
40struct wlr_scene;
41
42#ifdef __cplusplus
43extern "C" {
44#endif // __cplusplus
45
47typedef struct {
52 struct wl_signal workspace_changed;
53
55 struct wl_signal unlock_event;
57 struct wl_signal window_mapped;
59 struct wl_signal window_unmapped;
61
71 struct wlr_scene *wlr_scene_ptr,
72 struct wlr_output_layout *wlr_output_layout_ptr);
73
79void wlmtk_desktop_destroy(wlmtk_desktop_t *desktop_ptr);
80
89
97 wlmtk_desktop_t *desktop_ptr,
98 wlmtk_workspace_t *workspace_ptr);
99
107 wlmtk_desktop_t *desktop_ptr,
108 wlmtk_workspace_t *workspace_ptr);
109
116
124
131
138
147 wlmtk_desktop_t *desktop_ptr,
148 void (*func)(bs_dllist_node_t *dlnode_ptr, void *ud_ptr),
149 void *ud_ptr);
150
164 wlmtk_desktop_t *desktop_ptr,
165 wlmtk_element_t *element_ptr);
166
179 wlmtk_desktop_t *desktop_ptr,
180 wlmtk_element_t *element_ptr);
181
183bool wlmtk_desktop_locked(wlmtk_desktop_t *desktop_ptr);
184
199 wlmtk_desktop_t *desktop_ptr,
200 wlmtk_element_t *element_ptr);
201
204
207 wlmtk_desktop_t *desktop_ptr,
208 wlmtk_window_style_ref_t *window_style_ref_ptr,
209 wlmtk_menu_style_ref_t *menu_style_ref_ptr);
210
212extern const bs_test_set_t wlmtk_desktop_test_set;
213
214#ifdef __cplusplus
215} // extern "C"
216#endif // __cplusplus
217
218#endif /* __WLMTK_DESKTOP_H__ */
219/* == End of desktop.h ===================================================== */
void wlmtk_desktop_destroy_last_workspace(wlmtk_desktop_t *desktop_ptr)
Definition desktop.c:281
void wlmtk_desktop_destroy(wlmtk_desktop_t *desktop_ptr)
Definition desktop.c:182
wlmtk_desktop_t * wlmtk_desktop_create(struct wlr_scene *wlr_scene_ptr, struct wlr_output_layout *wlr_output_layout_ptr)
Definition desktop.c:130
wlmtk_workspace_t * wlmtk_desktop_get_current_workspace(wlmtk_desktop_t *desktop_ptr)
Definition desktop.c:275
wlmtk_desktop_events_t * wlmtk_desktop_events(wlmtk_desktop_t *desktop_ptr)
Definition desktop.c:207
bool wlmtk_desktop_locked(wlmtk_desktop_t *desktop_ptr)
Definition desktop.c:394
void wlmtk_desktop_switch_to_previous_workspace(wlmtk_desktop_t *desktop_ptr)
Definition desktop.c:314
bool wlmtk_desktop_unlock(wlmtk_desktop_t *desktop_ptr, wlmtk_element_t *element_ptr)
Definition desktop.c:368
void wlmtk_desktop_add_workspace(wlmtk_desktop_t *desktop_ptr, wlmtk_workspace_t *workspace_ptr)
Definition desktop.c:214
bool wlmtk_desktop_lock(wlmtk_desktop_t *desktop_ptr, wlmtk_element_t *element_ptr)
Definition desktop.c:339
void wlmtk_desktop_remove_workspace(wlmtk_desktop_t *desktop_ptr, wlmtk_workspace_t *workspace_ptr)
Definition desktop.c:244
wlmtk_element_t * wlmtk_desktop_element(wlmtk_desktop_t *desktop_ptr)
Definition desktop.c:413
const bs_test_set_t wlmtk_desktop_test_set
Definition desktop.c:668
void wlmtk_desktop_switch_to_next_workspace(wlmtk_desktop_t *desktop_ptr)
Definition desktop.c:297
void wlmtk_desktop_for_each_workspace(wlmtk_desktop_t *desktop_ptr, void(*func)(bs_dllist_node_t *dlnode_ptr, void *ud_ptr), void *ud_ptr)
Definition desktop.c:330
void wlmtk_desktop_lock_unreference(wlmtk_desktop_t *desktop_ptr, wlmtk_element_t *element_ptr)
Definition desktop.c:400
bool wlmtk_desktop_set_style(wlmtk_desktop_t *desktop_ptr, wlmtk_window_style_ref_t *window_style_ref_ptr, wlmtk_menu_style_ref_t *menu_style_ref_ptr)
Definition desktop.c:419
Definition desktop.c:46
Definition element.h:188
Definition menu.c:65
Definition window.c:144
Definition workspace.c:50
Definition desktop.h:47