sway

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

commit ae2f53a4773e2310287bc95ea68a2c5e040fbb45
parent e6a52ae387ff3db64cc0867415368bd711c41566
Author: Ryan Dwyer <ryandwyer1@gmail.com>
Date:   Fri, 21 Sep 2018 23:02:48 +1000

Reconfigure xwayland views when repositioned

Fixes #2673.

Diffstat:
Msway/desktop/transaction.c | 11+++++++++++
1 file changed, 11 insertions(+), 0 deletions(-)

diff --git a/sway/desktop/transaction.c b/sway/desktop/transaction.c @@ -6,6 +6,7 @@ #include <string.h> #include <time.h> #include <wlr/types/wlr_buffer.h> +#include "sway/config.h" #include "sway/debug.h" #include "sway/desktop.h" #include "sway/desktop/idle_inhibit_v1.h" @@ -390,6 +391,16 @@ static bool should_configure(struct sway_node *node, } struct sway_container_state *cstate = &node->sway_container->current; struct sway_container_state *istate = instruction->container_state; +#ifdef HAVE_XWAYLAND + // Xwayland views are position-aware and need to be reconfigured + // when their position changes. + if (node->sway_container->view->type == SWAY_VIEW_XWAYLAND) { + if (cstate->view_x != istate->view_x || + cstate->view_y != istate->view_y) { + return true; + } + } +#endif if (cstate->view_width == istate->view_width && cstate->view_height == istate->view_height) { return false;