feat: allows fullscreen support
This commit is contained in:
15
cursor.c
15
cursor.c
@ -52,17 +52,20 @@ void diyac_reset_cursor_mode(struct diyac_server *server)
|
||||
|
||||
static void process_cursor_move(struct diyac_server *server, uint32_t time)
|
||||
{
|
||||
/* Move the grabbed toplevel to the new position. */
|
||||
struct diyac_view *toplevel = server->grabbed_view;
|
||||
if (toplevel->state != DIYAC_VIEW_NORMAL)
|
||||
/* Move the grabbed toplevel to the new position. */
|
||||
if (toplevel->state == DIYAC_VIEW_FULL_SCREEN)
|
||||
{
|
||||
// cancel maximize or fullscreen state
|
||||
return;
|
||||
}
|
||||
if (toplevel->state == DIYAC_VIEW_MAXIMIZE)
|
||||
{
|
||||
// cancel maximize state
|
||||
wlr_xdg_toplevel_set_maximized(toplevel->xdg_toplevel, false);
|
||||
wlr_xdg_toplevel_set_fullscreen(toplevel->xdg_toplevel, false);
|
||||
// move the windows to cursor
|
||||
server->grab_x = toplevel->original.width * server->grab_x / toplevel->output->usable_area.width;
|
||||
}
|
||||
toplevel->state = DIYAC_VIEW_NORMAL;
|
||||
toplevel->requested = DIYAC_VIEW_NORMAL;
|
||||
toplevel->original.y = server->seat.cursor->y - server->grab_y;
|
||||
toplevel->original.x = server->seat.cursor->x - server->grab_x;
|
||||
|
||||
@ -135,7 +138,7 @@ static void process_cursor_resize(struct diyac_server *server, uint32_t time)
|
||||
int new_height = new_bottom - new_top;
|
||||
toplevel->original.width = new_width;
|
||||
toplevel->original.height = new_height;
|
||||
toplevel->state = DIYAC_VIEW_NORMAL;
|
||||
toplevel->requested = DIYAC_VIEW_NORMAL;
|
||||
diyac_view_update_geometry(toplevel, false);
|
||||
/*
|
||||
wlr_scene_node_set_position(&toplevel->scene_tree->node,
|
||||
|
Reference in New Issue
Block a user