Remove usage of surface->sx|sy

These coordinates contain the all-time accumulated buffer attach point,
which is a way to perform incremental client-side initiated movement of
windows, intended as a way to maintain logical window positioning while
compensating for layout changes such as folding in a left side panel.

This value is not useful for implementing this feature, and break things
if they ever become non-zero. Their inclusion in calculations also tend
to cause confusion.

Remove usage of these coordinates, removing the ability for clients to
move themselves. This may again be supported if a better API is made
available from wlroots.
master
Kenny Levinsen 4 years ago committed by Simon Ser
parent 80128d23ba
commit 7ec9d07fc5

@ -99,8 +99,8 @@ static bool get_surface_box(struct surface_iterator_data *data,
int sw = surface->current.width; int sw = surface->current.width;
int sh = surface->current.height; int sh = surface->current.height;
double _sx = sx + surface->sx; double _sx = sx;
double _sy = sy + surface->sy; double _sy = sy;
rotate_child_position(&_sx, &_sy, sw, sh, data->width, data->height, rotate_child_position(&_sx, &_sy, sw, sh, data->width, data->height,
data->rotation); data->rotation);

@ -159,8 +159,8 @@ static void render_surface_iterator(struct sway_output *output, struct sway_view
struct wlr_box dst_box = *_box; struct wlr_box dst_box = *_box;
struct sway_container *container = data->container; struct sway_container *container = data->container;
if (container != NULL) { if (container != NULL) {
dst_box.width = fmin(dst_box.width, container->current.content_width - surface->sx); dst_box.width = fmin(dst_box.width, container->current.content_width);
dst_box.height = fmin(dst_box.height, container->current.content_height - surface->sy); dst_box.height = fmin(dst_box.height, container->current.content_height);
} }
scale_box(&dst_box, wlr_output->scale); scale_box(&dst_box, wlr_output->scale);

Loading…
Cancel
Save