wlmaker
Loading...
Searching...
No Matches
workspace.h
Go to the documentation of this file.
1/* ========================================================================= */
20#ifndef __WLMTK_WORKSPACE_H__
21#define __WLMTK_WORKSPACE_H__
22
23
24#include <stdbool.h>
25#include <stdint.h>
26#include <libbase/libbase.h>
27
30
31#include "element.h"
32#include "layer.h" // IWYU pragma: keep
33#include "root.h" // IWYU pragma: keep
34#include "tile.h"
35#include "window.h" // IWYU pragma: keep
36
38struct wlr_output;
39struct wlr_output_layout;
40
41#ifdef __cplusplus
42extern "C" {
43#endif // __cplusplus
44
51typedef enum {
52 WLMTK_WORKSPACE_LAYER_BACKGROUND = 0,
53 WLMTK_WORKSPACE_LAYER_BOTTOM = 1,
54 WLMTK_WORKSPACE_LAYER_TOP = 3,
55 WLMTK_WORKSPACE_LAYER_OVERLAY = 4,
57
69 struct wlr_output_layout *wlr_output_layout_ptr,
70 const char *name_ptr,
71 const wlmtk_tile_style_t *tile_style_ptr);
72
79
87 wlmtk_workspace_t *workspace_ptr,
88 int index);
89
98 wlmtk_workspace_t *workspace_ptr,
99 const char **name_ptr_ptr,
100 int *index_ptr);
101
112 wlmtk_workspace_t *workspace_ptr,
113 struct wlr_output *wlr_output_ptr);
114
125 wlmtk_workspace_t *workspace_ptr,
126 struct wlr_output *wlr_output_ptr);
127
137 wlmtk_workspace_t *workspace_ptr,
138 wlmtk_window_t *window_ptr);
139
141struct wlr_output_layout *wlmtk_workspace_get_wlr_output_layout(
142 wlmtk_workspace_t *workspace_ptr);
143
154void wlmtk_workspace_enable(wlmtk_workspace_t *workspace_ptr, bool enabled);
155
157bool wlmtk_workspace_enabled(wlmtk_workspace_t *workspace_ptr);
158
166 wlmtk_window_t *window_ptr);
167
175 wlmtk_window_t *window_ptr);
176
186 wlmtk_workspace_t *workspace_ptr,
188
189
200 wlmtk_workspace_t *workspace_ptr);
201
212 wlmtk_workspace_t *workspace_ptr,
213 wlmtk_window_t *window_ptr,
214 bool fullscreen);
215
223 wlmtk_workspace_t *workspace_ptr,
224 wlmtk_window_t *window_ptr);
225
234 wlmtk_workspace_t *workspace_ptr,
235 wlmtk_window_t *window_ptr,
236 uint32_t edges);
237
240 wlmtk_workspace_t *workspace_ptr,
241 wlmtk_window_t *window_ptr);
242
245 wlmtk_workspace_t *workspace_ptr);
246
256 wlmtk_workspace_t *workspace_ptr);
257
267 wlmtk_workspace_t *workspace_ptr);
268
271 wlmtk_workspace_t *workspace_ptr,
272 wlmtk_window_t *window_ptr);
273
276
279
289 wlmtk_workspace_t *workspace_ptr,
290 wlmtk_root_t *root_ptr);
291
293bs_dllist_node_t *wlmtk_dlnode_from_workspace(
294 wlmtk_workspace_t *workspace_ptr);
295
298 bs_dllist_node_t *dlnode_ptr);
299
301extern const bs_test_case_t wlmtk_workspace_test_cases[];
302
303#ifdef __cplusplus
304} // extern "C"
305#endif // __cplusplus
306
307#endif /* __WLMTK_WORKSPACE_H__ */
308/* == End of workspace.h =================================================== */
Definition element.h:175
Definition layer.c:43
Definition root.c:45
Definition window.c:82
Definition workspace.c:50
Definition tile.h:41
void wlmtk_workspace_raise_window(wlmtk_workspace_t *workspace_ptr, wlmtk_window_t *window_ptr)
Definition workspace.c:788
const bs_test_case_t wlmtk_workspace_test_cases[]
Definition workspace.c:1157
struct wlr_box wlmtk_workspace_get_maximize_extents(wlmtk_workspace_t *workspace_ptr, struct wlr_output *wlr_output_ptr)
Definition workspace.c:419
void wlmtk_workspace_enable(wlmtk_workspace_t *workspace_ptr, bool enabled)
Definition workspace.c:517
void wlmtk_workspace_confine_within(wlmtk_workspace_t *workspace_ptr, wlmtk_window_t *window_ptr)
Definition workspace.c:453
wlmtk_workspace_layer_t
Definition workspace.h:51
wlmtk_window_t * wlmtk_workspace_get_activated_window(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:741
void wlmtk_workspace_begin_window_move(wlmtk_workspace_t *workspace_ptr, wlmtk_window_t *window_ptr)
Definition workspace.c:697
wlmtk_layer_t * wlmtk_workspace_get_layer(wlmtk_workspace_t *workspace_ptr, wlmtk_workspace_layer_t layer)
Definition workspace.c:615
wlmtk_root_t * wlmtk_workspace_get_root(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:808
void wlmtk_workspace_set_details(wlmtk_workspace_t *workspace_ptr, int index)
Definition workspace.c:401
struct wlr_output_layout * wlmtk_workspace_get_wlr_output_layout(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:483
void wlmtk_workspace_activate_window(wlmtk_workspace_t *workspace_ptr, wlmtk_window_t *window_ptr)
Definition workspace.c:716
bs_dllist_t * wlmtk_workspace_get_windows_dllist(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:642
void wlmtk_workspace_begin_window_resize(wlmtk_workspace_t *workspace_ptr, wlmtk_window_t *window_ptr, uint32_t edges)
Definition workspace.c:705
void wlmtk_workspace_map_window(wlmtk_workspace_t *workspace_ptr, wlmtk_window_t *window_ptr)
Definition workspace.c:538
wlmtk_workspace_t * wlmtk_workspace_from_dlnode(bs_dllist_node_t *dlnode_ptr)
Definition workspace.c:829
bs_dllist_node_t * wlmtk_dlnode_from_workspace(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:822
wlmtk_workspace_t * wlmtk_workspace_create(struct wlr_output_layout *wlr_output_layout_ptr, const char *name_ptr, const wlmtk_tile_style_t *tile_style_ptr)
Definition workspace.c:211
void wlmtk_workspace_get_details(wlmtk_workspace_t *workspace_ptr, const char **name_ptr_ptr, int *index_ptr)
Definition workspace.c:409
wlmtk_element_t * wlmtk_workspace_element(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:802
void wlmtk_workspace_unmap_window(wlmtk_workspace_t *workspace_ptr, wlmtk_window_t *window_ptr)
Definition workspace.c:561
bool wlmtk_workspace_enabled(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:532
void wlmtk_workspace_set_root(wlmtk_workspace_t *workspace_ptr, wlmtk_root_t *root_ptr)
Definition workspace.c:814
void wlmtk_workspace_destroy(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:337
void wlmtk_workspace_activate_previous_window(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:748
void wlmtk_workspace_window_to_fullscreen(wlmtk_workspace_t *workspace_ptr, wlmtk_window_t *window_ptr, bool fullscreen)
Definition workspace.c:649
void wlmtk_workspace_activate_next_window(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:768
struct wlr_box wlmtk_workspace_get_fullscreen_extents(wlmtk_workspace_t *workspace_ptr, struct wlr_output *wlr_output_ptr)
Definition workspace.c:490