mirror of
https://github.com/swaywm/sway.git
synced 2024-11-29 19:31:29 +00:00
Correctly determine default layout
This commit is contained in:
parent
8d700fe008
commit
d26658fb35
|
@ -67,4 +67,9 @@ void recursive_resize(swayc_t *container, double amount, enum wlc_resize_edge ed
|
||||||
void layout_log(const swayc_t *c, int depth);
|
void layout_log(const swayc_t *c, int depth);
|
||||||
void swayc_log(log_importance_t verbosity, swayc_t *cont, const char* format, ...) __attribute__((format(printf,3,4)));
|
void swayc_log(log_importance_t verbosity, swayc_t *cont, const char* format, ...) __attribute__((format(printf,3,4)));
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get default layout.
|
||||||
|
*/
|
||||||
|
enum swayc_layouts default_layout(swayc_t *output);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1760,9 +1760,8 @@ static struct cmd_results *cmd_layout(int argc, char **argv) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strcasecmp(argv[0], "default") == 0) {
|
if (strcasecmp(argv[0], "default") == 0) {
|
||||||
// TODO: determine default from default_orientation and
|
swayc_t *output = swayc_parent_by_type(parent, C_OUTPUT);
|
||||||
// cmd_workspace_layout
|
parent->layout = default_layout(output);
|
||||||
parent->layout = L_HORIZ;
|
|
||||||
} else if (strcasecmp(argv[0], "tabbed") == 0) {
|
} else if (strcasecmp(argv[0], "tabbed") == 0) {
|
||||||
if (parent->type != C_CONTAINER) {
|
if (parent->type != C_CONTAINER) {
|
||||||
parent = new_container(parent, L_TABBED);
|
parent = new_container(parent, L_TABBED);
|
||||||
|
|
|
@ -160,7 +160,7 @@ static void config_defaults(struct sway_config *config) {
|
||||||
config->dragging_key = M_LEFT_CLICK;
|
config->dragging_key = M_LEFT_CLICK;
|
||||||
config->resizing_key = M_RIGHT_CLICK;
|
config->resizing_key = M_RIGHT_CLICK;
|
||||||
config->floating_scroll = FSB_GAPS_INNER;
|
config->floating_scroll = FSB_GAPS_INNER;
|
||||||
config->default_layout = L_HORIZ;
|
config->default_layout = L_NONE;
|
||||||
config->default_orientation = L_NONE;
|
config->default_orientation = L_NONE;
|
||||||
config->font = strdup("monospace 10");
|
config->font = strdup("monospace 10");
|
||||||
config->font_height = get_font_text_height(config->font);
|
config->font_height = get_font_text_height(config->font);
|
||||||
|
|
|
@ -163,16 +163,8 @@ swayc_t *new_workspace(swayc_t *output, const char *name) {
|
||||||
sway_log(L_DEBUG, "Added workspace %s for output %u", name, (unsigned int)output->handle);
|
sway_log(L_DEBUG, "Added workspace %s for output %u", name, (unsigned int)output->handle);
|
||||||
swayc_t *workspace = new_swayc(C_WORKSPACE);
|
swayc_t *workspace = new_swayc(C_WORKSPACE);
|
||||||
|
|
||||||
// TODO: default_layout
|
workspace->layout = default_layout(output);
|
||||||
if (config->default_layout != L_NONE) {
|
|
||||||
workspace->layout = config->default_layout;
|
|
||||||
} else if (config->default_orientation != L_NONE) {
|
|
||||||
workspace->layout = config->default_orientation;
|
|
||||||
} else if (output->width >= output->height) {
|
|
||||||
workspace->layout = L_HORIZ;
|
|
||||||
} else {
|
|
||||||
workspace->layout = L_VERT;
|
|
||||||
}
|
|
||||||
workspace->x = output->x;
|
workspace->x = output->x;
|
||||||
workspace->y = output->y;
|
workspace->y = output->y;
|
||||||
workspace->width = output->width;
|
workspace->width = output->width;
|
||||||
|
|
|
@ -993,3 +993,15 @@ void recursive_resize(swayc_t *container, double amount, enum wlc_resize_edge ed
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum swayc_layouts default_layout(swayc_t *output) {
|
||||||
|
if (config->default_layout != L_NONE) {
|
||||||
|
return config->default_layout;
|
||||||
|
} else if (config->default_orientation != L_NONE) {
|
||||||
|
return config->default_orientation;
|
||||||
|
} else if (output->width >= output->height) {
|
||||||
|
return L_HORIZ;
|
||||||
|
} else {
|
||||||
|
return L_VERT;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue