server subbackend output add/remove

This commit is contained in:
Tony Crisci 2017-12-23 13:55:14 -05:00
parent 997c70a035
commit fa2684ae0b
7 changed files with 266 additions and 75 deletions

View file

@ -144,9 +144,6 @@ sway_cmd cmd_workspace;
sway_cmd cmd_ws_auto_back_and_forth;
sway_cmd cmd_workspace_layout;
sway_cmd backend_cmd_add;
sway_cmd backend_cmd_del;
sway_cmd bar_cmd_activate_button;
sway_cmd bar_cmd_binding_mode_indicator;
sway_cmd bar_cmd_bindsym;

View file

@ -7,6 +7,7 @@
#include <wlr/types/wlr_compositor.h>
#include <wlr/types/wlr_data_device.h>
#include <wlr/types/wlr_xdg_shell_v6.h>
#include <wlr/types/wlr_input_device.h>
#include <wlr/render.h>
// TODO WLR: make Xwayland optional
#include <wlr/xwayland.h>
@ -22,9 +23,14 @@ struct sway_subbackend {
char *name;
enum sway_subbackend_type type;
struct wlr_backend *backend;
struct wl_list link; // sway_server::subbackends
struct wl_list outputs;
struct wl_list inputs;
struct wl_listener backend_destroy;
struct wl_list link; // sway_server::subbackends
};
struct sway_server {
@ -73,5 +79,18 @@ struct sway_subbackend *sway_subbackend_create(enum sway_subbackend_type type,
void sway_server_add_subbackend(struct sway_server *server,
struct sway_subbackend *subbackend);
void sway_server_remove_subbackend(struct sway_server *server, char *name);
struct sway_subbackend *sway_server_get_subbackend(struct sway_server *server,
char *name);
void sway_subbackend_add_output(struct sway_server *server,
struct sway_subbackend *subbackend, char *name);
void sway_subbackend_remove_output(struct sway_server *server,
struct sway_subbackend *subbackend, char *name);
void sway_subbackend_add_input(struct sway_server *server,
struct sway_subbackend *subbackend, enum wlr_input_device_type type,
char *name);
void sway_subbackend_remove_input(struct sway_server *server,
struct sway_subbackend *subbackend, char *name);
#endif