aboutsummaryrefslogtreecommitdiff
path: root/sway
diff options
context:
space:
mode:
Diffstat (limited to 'sway')
-rw-r--r--sway/commands/output.c3
-rw-r--r--sway/config/output.c7
-rw-r--r--sway/tree/container.c1
3 files changed, 8 insertions, 3 deletions
diff --git a/sway/commands/output.c b/sway/commands/output.c
index bbf8efc3..11da0ff6 100644
--- a/sway/commands/output.c
+++ b/sway/commands/output.c
@@ -27,11 +27,10 @@ struct cmd_results *cmd_output(int argc, char **argv) {
}
const char *name = argv[0];
- struct output_config *output = calloc(1, sizeof(struct output_config));
+ struct output_config *output = new_output_config();
if (!output) {
return cmd_results_new(CMD_FAILURE, "output", "Unable to allocate output config");
}
- output_config_defaults(output);
output->name = strdup(name);
// TODO: atoi doesn't handle invalid numbers
diff --git a/sway/config/output.c b/sway/config/output.c
index 4a0a5cc9..26798503 100644
--- a/sway/config/output.c
+++ b/sway/config/output.c
@@ -14,13 +14,18 @@ int output_name_cmp(const void *item, const void *data) {
return strcmp(output->name, name);
}
-void output_config_defaults(struct output_config *oc) {
+struct output_config *new_output_config() {
+ struct output_config *oc = calloc(1, sizeof(struct output_config));
+ if (oc == NULL) {
+ return NULL;
+ }
oc->enabled = -1;
oc->width = oc->height -1;
oc->refresh_rate = -1;
oc->x = oc->y = -1;
oc->scale = -1;
oc->transform = -1;
+ return oc;
}
void merge_output_config(struct output_config *dst, struct output_config *src) {
diff --git a/sway/tree/container.c b/sway/tree/container.c
index ec3311a0..d9bed7d8 100644
--- a/sway/tree/container.c
+++ b/sway/tree/container.c
@@ -93,6 +93,7 @@ swayc_t *new_output(struct sway_output *sway_output) {
sway_log(L_DEBUG, "Creating default workspace %s", ws_name);
new_workspace(output, ws_name);
free(ws_name);
+ update_root_geometry();
return output;
}