aboutsummaryrefslogtreecommitdiff
path: root/sway/desktop/output.c
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2018-10-27 21:26:19 +0200
committerGitHub <noreply@github.com>2018-10-27 21:26:19 +0200
commite3a0e3322b4fd45ead0ec908eefd4cd6e41eadc1 (patch)
tree539c04a7755907648b4345e86ad9e6ffa90b7472 /sway/desktop/output.c
parentf9a276544b40e74c5c0c0e2be99b950c6c474edf (diff)
parent0a4cf4748d842f1b4ec0e84e4b5c839dbe207652 (diff)
downloadsway-e3a0e3322b4fd45ead0ec908eefd4cd6e41eadc1.tar.xz
Merge pull request #3000 from Robinhuett/workspace_address_output_by_name
Use output identifier for workspace config
Diffstat (limited to 'sway/desktop/output.c')
-rw-r--r--sway/desktop/output.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/sway/desktop/output.c b/sway/desktop/output.c
index ed9300bb..4d6c0336 100644
--- a/sway/desktop/output.c
+++ b/sway/desktop/output.c
@@ -39,6 +39,19 @@ struct sway_output *output_by_name(const char *name) {
return NULL;
}
+struct sway_output *output_by_identifier(const char *identifier) {
+ for (int i = 0; i < root->outputs->length; ++i) {
+ struct sway_output *output = root->outputs->items[i];
+ char output_identifier[128];
+ snprintf(output_identifier, sizeof(output_identifier), "%s %s %s", output->wlr_output->make,
+ output->wlr_output->model, output->wlr_output->serial);
+ if (strcasecmp(output_identifier, identifier) == 0) {
+ return output;
+ }
+ }
+ return NULL;
+}
+
/**
* Rotate a child's position relative to a parent. The parent size is (pw, ph),
* the child position is (*sx, *sy) and its size is (sw, sh).