sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

commit 659ab79b6612197caf6c0ec590fe772719c78da3
parent 9924d72ab2c7a1202f8590f65377de23e8e39522
Author: emersion <contact@emersion.fr>
Date:   Wed, 28 Nov 2018 21:00:34 +0100

Merge pull request #3214 from RedSoxFan/fix-3156

Fix default_orientation auto
Diffstat:
Msway/tree/output.c | 11+++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/sway/tree/output.c b/sway/tree/output.c @@ -88,11 +88,12 @@ void output_enable(struct sway_output *output, struct output_config *oc) { restore_workspaces(output); + struct sway_workspace *ws = NULL; if (!output->workspaces->length) { // Create workspace char *ws_name = workspace_next_name(wlr_output->name); wlr_log(WLR_DEBUG, "Creating default workspace %s", ws_name); - struct sway_workspace *ws = workspace_create(output, ws_name); + ws = workspace_create(output, ws_name); // Set each seat's focus if not already set struct sway_seat *seat = NULL; wl_list_for_each(seat, &server.input->seats, link) { @@ -104,9 +105,15 @@ void output_enable(struct sway_output *output, struct output_config *oc) { ipc_event_workspace(NULL, ws, "init"); } - apply_output_config(oc, output); + if (ws && config->default_orientation == L_NONE) { + // Since the output transformation and resolution could have changed + // due to applying the output config, the previously set layout for the + // created workspace may not be correct for `default_orientation auto` + ws->layout = output_get_default_layout(output); + } + input_manager_configure_xcursor(); wl_signal_add(&wlr_output->events.mode, &output->mode);