wlmaker
Loading...
Searching...
No Matches
workspace.h
Go to the documentation of this file.
1/* ========================================================================= */
21#ifndef __WLMTK_WORKSPACE_H__
22#define __WLMTK_WORKSPACE_H__
23
24
25#include <stdbool.h>
26#include <stdint.h>
27#include <libbase/libbase.h>
28
31
32struct wlmtk_tile_style;
33
34#include "desktop.h" // IWYU pragma: keep
35#include "element.h"
36#include "layer.h" // IWYU pragma: keep
37#include "window.h" // IWYU pragma: keep
38
40struct wlr_output;
41struct wlr_output_layout;
42
43#ifdef __cplusplus
44extern "C" {
45#endif // __cplusplus
46
53typedef enum {
54 WLMTK_WORKSPACE_LAYER_BACKGROUND = 0,
55 WLMTK_WORKSPACE_LAYER_BOTTOM = 1,
56 WLMTK_WORKSPACE_LAYER_TOP = 3,
57 WLMTK_WORKSPACE_LAYER_OVERLAY = 4,
59
71 struct wlr_output_layout *wlr_output_layout_ptr,
72 const char *name_ptr,
73 const struct wlmtk_tile_style *tile_style_ptr);
74
81
89 wlmtk_workspace_t *workspace_ptr,
90 int index);
91
100 wlmtk_workspace_t *workspace_ptr,
101 const char **name_ptr_ptr,
102 int *index_ptr);
103
114 wlmtk_workspace_t *workspace_ptr,
115 struct wlr_output *wlr_output_ptr);
116
127 wlmtk_workspace_t *workspace_ptr,
128 struct wlr_output *wlr_output_ptr);
129
139 wlmtk_workspace_t *workspace_ptr,
140 wlmtk_window_t *window_ptr);
141
143struct wlr_output_layout *wlmtk_workspace_get_wlr_output_layout(
144 wlmtk_workspace_t *workspace_ptr);
145
156void wlmtk_workspace_enable(wlmtk_workspace_t *workspace_ptr, bool enabled);
157
159bool wlmtk_workspace_enabled(wlmtk_workspace_t *workspace_ptr);
160
168 wlmtk_window_t *window_ptr);
169
177 wlmtk_window_t *window_ptr);
178
188 wlmtk_workspace_t *workspace_ptr,
189 wlmtk_window_t *window_ptr,
190 int x,
191 int y);
192
202 wlmtk_workspace_t *workspace_ptr,
204
205
216 wlmtk_workspace_t *workspace_ptr);
217
228 wlmtk_workspace_t *workspace_ptr,
229 wlmtk_window_t *window_ptr,
230 bool fullscreen);
231
239 wlmtk_workspace_t *workspace_ptr,
240 wlmtk_window_t *window_ptr);
241
250 wlmtk_workspace_t *workspace_ptr,
251 wlmtk_window_t *window_ptr,
252 uint32_t edges);
253
256 wlmtk_workspace_t *workspace_ptr,
257 wlmtk_window_t *window_ptr);
258
261 wlmtk_workspace_t *workspace_ptr);
262
272 wlmtk_workspace_t *workspace_ptr);
273
283 wlmtk_workspace_t *workspace_ptr);
284
287 wlmtk_workspace_t *workspace_ptr,
288 wlmtk_window_t *window_ptr);
289
292
295
305 wlmtk_workspace_t *workspace_ptr,
306 wlmtk_desktop_t *desktop_ptr);
307
309bs_dllist_node_t *wlmtk_dlnode_from_workspace(
310 wlmtk_workspace_t *workspace_ptr);
311
314 bs_dllist_node_t *dlnode_ptr);
315
317extern const bs_test_set_t wlmtk_workspace_test_set;
318
319#ifdef __cplusplus
320} // extern "C"
321#endif // __cplusplus
322
323#endif /* __WLMTK_WORKSPACE_H__ */
324/* == End of workspace.h =================================================== */
Definition desktop.c:46
Definition element.h:188
Definition layer.c:44
Definition window.c:53
Definition workspace.c:50
Definition tile.h:44
void wlmtk_workspace_raise_window(wlmtk_workspace_t *workspace_ptr, wlmtk_window_t *window_ptr)
Definition workspace.c:822
const bs_test_set_t wlmtk_workspace_test_set
Definition workspace.c:1306
struct wlr_box wlmtk_workspace_get_maximize_extents(wlmtk_workspace_t *workspace_ptr, struct wlr_output *wlr_output_ptr)
Definition workspace.c:431
void wlmtk_workspace_enable(wlmtk_workspace_t *workspace_ptr, bool enabled)
Definition workspace.c:530
void wlmtk_workspace_confine_within(wlmtk_workspace_t *workspace_ptr, wlmtk_window_t *window_ptr)
Definition workspace.c:465
wlmtk_workspace_layer_t
Definition workspace.h:53
wlmtk_window_t * wlmtk_workspace_get_activated_window(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:775
void wlmtk_workspace_begin_window_move(wlmtk_workspace_t *workspace_ptr, wlmtk_window_t *window_ptr)
Definition workspace.c:727
void wlmtk_workspace_set_window_position(wlmtk_workspace_t *workspace_ptr, wlmtk_window_t *window_ptr, int x, int y)
Definition workspace.c:629
wlmtk_layer_t * wlmtk_workspace_get_layer(wlmtk_workspace_t *workspace_ptr, wlmtk_workspace_layer_t layer)
Definition workspace.c:641
wlmtk_desktop_t * wlmtk_workspace_get_desktop(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:842
void wlmtk_workspace_set_details(wlmtk_workspace_t *workspace_ptr, int index)
Definition workspace.c:413
struct wlr_output_layout * wlmtk_workspace_get_wlr_output_layout(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:496
void wlmtk_workspace_activate_window(wlmtk_workspace_t *workspace_ptr, wlmtk_window_t *window_ptr)
Definition workspace.c:750
bs_dllist_t * wlmtk_workspace_get_windows_dllist(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:667
wlmtk_workspace_t * wlmtk_workspace_create(struct wlr_output_layout *wlr_output_layout_ptr, const char *name_ptr, const struct wlmtk_tile_style *tile_style_ptr)
Definition workspace.c:217
void wlmtk_workspace_begin_window_resize(wlmtk_workspace_t *workspace_ptr, wlmtk_window_t *window_ptr, uint32_t edges)
Definition workspace.c:737
void wlmtk_workspace_map_window(wlmtk_workspace_t *workspace_ptr, wlmtk_window_t *window_ptr)
Definition workspace.c:551
wlmtk_workspace_t * wlmtk_workspace_from_dlnode(bs_dllist_node_t *dlnode_ptr)
Definition workspace.c:863
bs_dllist_node_t * wlmtk_dlnode_from_workspace(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:856
void wlmtk_workspace_get_details(wlmtk_workspace_t *workspace_ptr, const char **name_ptr_ptr, int *index_ptr)
Definition workspace.c:421
wlmtk_element_t * wlmtk_workspace_element(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:836
void wlmtk_workspace_unmap_window(wlmtk_workspace_t *workspace_ptr, wlmtk_window_t *window_ptr)
Definition workspace.c:575
bool wlmtk_workspace_enabled(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:545
void wlmtk_workspace_destroy(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:347
void wlmtk_workspace_activate_previous_window(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:782
void wlmtk_workspace_window_to_fullscreen(wlmtk_workspace_t *workspace_ptr, wlmtk_window_t *window_ptr, bool fullscreen)
Definition workspace.c:674
void wlmtk_workspace_set_desktop(wlmtk_workspace_t *workspace_ptr, wlmtk_desktop_t *desktop_ptr)
Definition workspace.c:848
void wlmtk_workspace_activate_next_window(wlmtk_workspace_t *workspace_ptr)
Definition workspace.c:802
struct wlr_box wlmtk_workspace_get_fullscreen_extents(wlmtk_workspace_t *workspace_ptr, struct wlr_output *wlr_output_ptr)
Definition workspace.c:503