aboutsummaryrefslogtreecommitdiff
path: root/sway/config
diff options
context:
space:
mode:
authorBrian Ashworth <bosrsf04@gmail.com>2019-03-15 15:09:55 -0400
committerDrew DeVault <sir@cmpwn.com>2019-03-16 10:40:46 -0600
commit3106ef23a7b4f7f7efeb43d47e724f5b23c4fd78 (patch)
tree82335e0f8877d291a36e3c67f8cfefe07bbdde56 /sway/config
parent2578669de76c6d4b2038a648d1cfcd3c7e9e320a (diff)
downloadsway-3106ef23a7b4f7f7efeb43d47e724f5b23c4fd78.tar.xz
Fix output config retrieval for new outputs
This removes `output_find_config`, which would take the first matching output config it found. This is fine if only a name output config, identifier output config, or even just wildcard exist, but if there is a name output config and identifier output config, they are not merged. Instead, this introduces find_output_config, which is just a wrapper for `get_output_config`. This ensures that both the name and identifier output configs are respected. This fixes the following case: - For simplicity in this example, remove all output configs from config - Run `swaymsg output <name> bg #ff0000 solid_color` - Run `swaymsg output <identifier> scale 2` - Disconnect and reconnect output Without this, the output will have the background, but not the scale. With this, the output will have both the background and scale
Diffstat (limited to 'sway/config')
-rw-r--r--sway/config/output.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sway/config/output.c b/sway/config/output.c
index 1f55fd6a..a20c5ad4 100644
--- a/sway/config/output.c
+++ b/sway/config/output.c
@@ -438,6 +438,12 @@ static struct output_config *get_output_config(char *identifier,
return result;
}
+struct output_config *find_output_config(struct sway_output *output) {
+ char id[128];
+ output_get_identifier(id, sizeof(id), output);
+ return get_output_config(id, output);
+}
+
void apply_output_config_to_outputs(struct output_config *oc) {
// Try to find the output container and apply configuration now. If
// this is during startup then there will be no container and config