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,
187 wlmtk_window_t *window_ptr,
188 int x,
189 int y);
190
200 wlmtk_workspace_t *workspace_ptr,
202
203
214 wlmtk_workspace_t *workspace_ptr);
215
226 wlmtk_workspace_t *workspace_ptr,
227 wlmtk_window_t *window_ptr,
228 bool fullscreen);
229
237 wlmtk_workspace_t *workspace_ptr,
238 wlmtk_window_t *window_ptr);
239
248 wlmtk_workspace_t *workspace_ptr,
249 wlmtk_window_t *window_ptr,
250 uint32_t edges);
251
254 wlmtk_workspace_t *workspace_ptr,
255 wlmtk_window_t *window_ptr);
256
259 wlmtk_workspace_t *workspace_ptr);
260
270 wlmtk_workspace_t *workspace_ptr);
271
281 wlmtk_workspace_t *workspace_ptr);
282
285 wlmtk_workspace_t *workspace_ptr,
286 wlmtk_window_t *window_ptr);
287
290
293
303 wlmtk_workspace_t *workspace_ptr,
304 wlmtk_root_t *root_ptr);
305
307bs_dllist_node_t *wlmtk_dlnode_from_workspace(
308 wlmtk_workspace_t *workspace_ptr);
309
312 bs_dllist_node_t *dlnode_ptr);
313
315extern const bs_test_case_t wlmtk_workspace_test_cases[];
316
317#ifdef __cplusplus
318} // extern "C"
319#endif // __cplusplus
320
321#endif /* __WLMTK_WORKSPACE_H__ */
322/* == End of workspace.h =================================================== */
Definition element.h:181
Definition layer.c:43
Definition root.c:47
Definition window.c:51
Definition workspace.c:48
Definition tile.h:40
void wlmtk_workspace_raise_window(wlmtk_workspace_t *workspace_ptr, wlmtk_window_t *window_ptr)
Definition workspace.c:804
const bs_test_case_t wlmtk_workspace_test_cases[]
Definition workspace.c:1165
struct wlr_box wlmtk_workspace_get_maximize_extents(wlmtk_workspace_t *workspace_ptr, struct wlr_output *wlr_output_ptr)
Definition workspace.c:417
void wlmtk_workspace_enable(wlmtk_workspace_t *workspace_ptr, bool enabled)
Definition workspace.c:513
void wlmtk_workspace_confine_within(wlmtk_workspace_t *workspace_ptr, wlmtk_window_t *window_ptr)
Definition workspace.c:451
wlmtk_workspace_layer_t
Definition workspace.h:51
wlmtk_window_t * wlmtk_workspace_get_activated_window(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:757
void wlmtk_workspace_begin_window_move(wlmtk_workspace_t *workspace_ptr, wlmtk_window_t *window_ptr)
Definition workspace.c:709
void wlmtk_workspace_set_window_position(wlmtk_workspace_t *workspace_ptr, wlmtk_window_t *window_ptr, int x, int y)
Definition workspace.c:611
wlmtk_layer_t * wlmtk_workspace_get_layer(wlmtk_workspace_t *workspace_ptr, wlmtk_workspace_layer_t layer)
Definition workspace.c:623
wlmtk_root_t * wlmtk_workspace_get_root(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:824
void wlmtk_workspace_set_details(wlmtk_workspace_t *workspace_ptr, int index)
Definition workspace.c:399
struct wlr_output_layout * wlmtk_workspace_get_wlr_output_layout(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:479
void wlmtk_workspace_activate_window(wlmtk_workspace_t *workspace_ptr, wlmtk_window_t *window_ptr)
Definition workspace.c:732
bs_dllist_t * wlmtk_workspace_get_windows_dllist(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:649
void wlmtk_workspace_begin_window_resize(wlmtk_workspace_t *workspace_ptr, wlmtk_window_t *window_ptr, uint32_t edges)
Definition workspace.c:719
void wlmtk_workspace_map_window(wlmtk_workspace_t *workspace_ptr, wlmtk_window_t *window_ptr)
Definition workspace.c:534
wlmtk_workspace_t * wlmtk_workspace_from_dlnode(bs_dllist_node_t *dlnode_ptr)
Definition workspace.c:845
bs_dllist_node_t * wlmtk_dlnode_from_workspace(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:838
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:203
void wlmtk_workspace_get_details(wlmtk_workspace_t *workspace_ptr, const char **name_ptr_ptr, int *index_ptr)
Definition workspace.c:407
wlmtk_element_t * wlmtk_workspace_element(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:818
void wlmtk_workspace_unmap_window(wlmtk_workspace_t *workspace_ptr, wlmtk_window_t *window_ptr)
Definition workspace.c:557
bool wlmtk_workspace_enabled(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:528
void wlmtk_workspace_set_root(wlmtk_workspace_t *workspace_ptr, wlmtk_root_t *root_ptr)
Definition workspace.c:830
void wlmtk_workspace_destroy(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:333
void wlmtk_workspace_activate_previous_window(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:764
void wlmtk_workspace_window_to_fullscreen(wlmtk_workspace_t *workspace_ptr, wlmtk_window_t *window_ptr, bool fullscreen)
Definition workspace.c:656
void wlmtk_workspace_activate_next_window(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:784
struct wlr_box wlmtk_workspace_get_fullscreen_extents(wlmtk_workspace_t *workspace_ptr, struct wlr_output *wlr_output_ptr)
Definition workspace.c:486