improve xdg states handling

This commit is contained in:
DanyLE
2024-04-13 05:17:28 +02:00
parent 68a0b669ef
commit 5088bf8ac2
6 changed files with 191 additions and 86 deletions

View File

@ -67,8 +67,8 @@ static void process_cursor_move(struct diyac_server *server, uint32_t time)
// move the windows to cursor
server->grab_x = toplevel->original.width * server->grab_x / toplevel->output->usable_area.width;
}
toplevel->original.y = server->seat.cursor->y - server->grab_y;
toplevel->original.x = server->seat.cursor->x - server->grab_x;
toplevel->pending_size.y = server->seat.cursor->y - server->grab_y;
toplevel->pending_size.x = server->seat.cursor->x - server->grab_x;
diyac_view_update_geometry(toplevel, true);
/*
@ -137,12 +137,12 @@ static void process_cursor_resize(struct diyac_server *server, uint32_t time)
struct wlr_box geo_box;
wlr_xdg_surface_get_geometry(toplevel->xdg_toplevel->base, &geo_box);
toplevel->original.x = new_left - geo_box.x;
toplevel->original.y = new_top - geo_box.y;
toplevel->pending_size.x = new_left - geo_box.x;
toplevel->pending_size.y = new_top - geo_box.y;
int new_width = new_right - new_left;
int new_height = new_bottom - new_top;
toplevel->original.width = new_width;
toplevel->original.height = new_height;
toplevel->pending_size.width = new_width;
toplevel->pending_size.height = new_height;
toplevel->requested.maximized = false;
diyac_view_update_geometry(toplevel, false);
/*