|
|
|
@ -153,28 +153,22 @@ static void merge_wildcard_on_all(struct output_config *wildcard) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void merge_id_on_name(struct output_config *oc) {
|
|
|
|
|
char *id_on_name = NULL;
|
|
|
|
|
char id[128];
|
|
|
|
|
char *name = NULL;
|
|
|
|
|
struct sway_output *output;
|
|
|
|
|
wl_list_for_each(output, &root->all_outputs, link) {
|
|
|
|
|
name = output->wlr_output->name;
|
|
|
|
|
output_get_identifier(id, sizeof(id), output);
|
|
|
|
|
if (strcmp(name, oc->name) == 0 || strcmp(id, oc->name) == 0) {
|
|
|
|
|
size_t length = snprintf(NULL, 0, "%s on %s", id, name) + 1;
|
|
|
|
|
id_on_name = malloc(length);
|
|
|
|
|
if (!id_on_name) {
|
|
|
|
|
sway_log(SWAY_ERROR, "Failed to allocate id on name string");
|
|
|
|
|
struct sway_output *output = all_output_by_name_or_id(oc->name);
|
|
|
|
|
if (output == NULL) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
snprintf(id_on_name, length, "%s on %s", id, name);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const char *name = output->wlr_output->name;
|
|
|
|
|
char id[128];
|
|
|
|
|
output_get_identifier(id, sizeof(id), output);
|
|
|
|
|
|
|
|
|
|
size_t size = snprintf(NULL, 0, "%s on %s", id, name) + 1;
|
|
|
|
|
char *id_on_name = malloc(size);
|
|
|
|
|
if (!id_on_name) {
|
|
|
|
|
sway_log(SWAY_ERROR, "Failed to allocate id on name string");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
snprintf(id_on_name, size, "%s on %s", id, name);
|
|
|
|
|
|
|
|
|
|
int i = list_seq_find(config->output_configs, output_name_cmp, id_on_name);
|
|
|
|
|
if (i >= 0) {
|
|
|
|
|