workspaces: Add workspaces.{c,h}

This commit is contained in:
Consolatis 2022-06-15 01:07:45 +02:00
parent 1afca2c2cd
commit d557623c34
5 changed files with 417 additions and 0 deletions

28
include/workspaces.h Normal file
View file

@ -0,0 +1,28 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#ifndef __LABWC_WORKSPACES_H
#define __LABWC_WORKSPACES_H
struct seat;
struct view;
struct server;
struct wl_list;
/* Double use: as config in config/rcxml.c and as instance in workspaces.c */
struct workspace {
struct wl_list link; /* struct server.workspaces
struct rcxml.workspace_config.workspaces */
struct server *server;
char *name;
struct wlr_scene_tree *tree;
};
void workspaces_init(struct server *server);
void workspaces_switch_to(struct workspace *target);
void workspaces_send_to(struct view *view, struct workspace *target);
void workspaces_destroy(struct server *server);
void workspaces_osd_hide(struct seat *seat);
struct workspace * workspaces_find(struct workspace *anchor, const char *name);
#endif /* __LABWC_WORKSPACES_H */