mirror of
https://cagebreak.project-repo.co/cagebreak.git
synced 2026-08-20 12:34:18 +02:00
Add functionality for turning outputs off
This commit is contained in:
parent
d68c97cdc0
commit
c3e8ffe22f
3 changed files with 18 additions and 2 deletions
6
output.c
6
output.c
|
|
@ -258,6 +258,12 @@ output_apply_config(struct cg_server *server, struct cg_output *output,
|
|||
struct cg_output_config *config) {
|
||||
struct wlr_output *wlr_output = output->wlr_output;
|
||||
|
||||
if(config->status == OUTPUT_OFF) {
|
||||
wlr_output_enable(wlr_output, false);
|
||||
wlr_output_commit(wlr_output);
|
||||
return;
|
||||
}
|
||||
|
||||
if(output->wlr_output->enabled) {
|
||||
wlr_output_layout_remove(server->output_layout, wlr_output);
|
||||
}
|
||||
|
|
|
|||
7
output.h
7
output.h
|
|
@ -36,7 +36,12 @@ struct cg_output_priorities {
|
|||
struct wl_list link;
|
||||
};
|
||||
|
||||
enum output_status { OUTPUT_ENABLE, OUTPUT_DISABLE, OUTPUT_DEFAULT };
|
||||
enum output_status {
|
||||
OUTPUT_ENABLE,
|
||||
OUTPUT_DISABLE,
|
||||
OUTPUT_DEFAULT,
|
||||
OUTPUT_OFF
|
||||
};
|
||||
|
||||
struct cg_output_config {
|
||||
enum output_status status;
|
||||
|
|
|
|||
7
parse.c
7
parse.c
|
|
@ -545,6 +545,10 @@ parse_output_config_keyword(char *key_str, enum output_status *status) {
|
|||
*status = OUTPUT_ENABLE;
|
||||
} else if(strcmp(key_str, "disable") == 0) {
|
||||
*status = OUTPUT_DISABLE;
|
||||
} else if(strcmp(key_str, "off") == 0) {
|
||||
*status = OUTPUT_OFF;
|
||||
} else if(strcmp(key_str, "on") == 0) {
|
||||
*status = OUTPUT_ENABLE;
|
||||
} else {
|
||||
return -1;
|
||||
}
|
||||
|
|
@ -579,7 +583,8 @@ parse_output_config(char **saveptr, char **errstr) {
|
|||
name);
|
||||
goto error;
|
||||
}
|
||||
if(cfg->status == OUTPUT_ENABLE || cfg->status == OUTPUT_DISABLE) {
|
||||
if(cfg->status == OUTPUT_ENABLE || cfg->status == OUTPUT_DISABLE ||
|
||||
cfg->status == OUTPUT_OFF) {
|
||||
cfg->output_name = strdup(name);
|
||||
return cfg;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue