refactor: cleanup + improve focus
This commit is contained in:
19
view.c
19
view.c
@ -21,10 +21,6 @@ void diyac_focus_view(struct diyac_view *toplevel, bool raise)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if(!toplevel->mapped)
|
||||
{
|
||||
return;
|
||||
}
|
||||
struct diyac_server *server = toplevel->server;
|
||||
struct wlr_surface *prev_surface = server->seat.wlr_seat->keyboard_state.focused_surface;
|
||||
if (prev_surface == toplevel->xdg_toplevel->base->surface)
|
||||
@ -46,6 +42,10 @@ void diyac_focus_view(struct diyac_view *toplevel, bool raise)
|
||||
wlr_xdg_toplevel_set_activated(prev_toplevel, false);
|
||||
}
|
||||
}
|
||||
if(!toplevel->mapped)
|
||||
{
|
||||
return;
|
||||
}
|
||||
raise_to_front(toplevel);
|
||||
if (raise)
|
||||
{
|
||||
@ -82,7 +82,6 @@ struct diyac_view *diyac_view_at(
|
||||
|
||||
void diyac_focus_topmost_view(struct diyac_server *server)
|
||||
{
|
||||
wlr_log(WLR_INFO, "diyac_focus_topmost_view");
|
||||
struct diyac_view *view = diyac_topmost_focusable_view(server);
|
||||
if (view)
|
||||
{
|
||||
@ -152,16 +151,12 @@ bool diyac_view_update_geometry(struct diyac_view *view, bool grabbed)
|
||||
// view->output->wlr_output, &view->current))
|
||||
//{
|
||||
struct wlr_box usable = diyac_output_usable_area(view->output);
|
||||
wlr_log(WLR_INFO, "diyac_view_update_geometry: current: [%d,%d,%d,%d], usable: [%d,%d,%d,%d] ",
|
||||
wlr_log(WLR_DEBUG, "diyac_view_update_geometry: current: [%d,%d,%d,%d], usable: [%d,%d,%d,%d] ",
|
||||
geometry->x, geometry->y, geometry->width, geometry->height,
|
||||
usable.x, usable.y, usable.width, usable.height);
|
||||
struct diyac_server *server = view->server;
|
||||
if (!view->mapped)
|
||||
{
|
||||
wlr_xdg_toplevel_set_maximized(view->xdg_toplevel, false);
|
||||
wlr_xdg_toplevel_set_fullscreen(view->xdg_toplevel, false);
|
||||
// the view has not yet be mapped, don't maximize it
|
||||
wlr_log(WLR_INFO, "The view has not yet be mapped, ignore request");
|
||||
view->state = DIYAC_VIEW_NORMAL;
|
||||
return false;
|
||||
}
|
||||
@ -172,7 +167,6 @@ bool diyac_view_update_geometry(struct diyac_view *view, bool grabbed)
|
||||
* We dont change the current_view geometry in maximize state
|
||||
*
|
||||
*/
|
||||
wlr_xdg_toplevel_set_maximized(view->xdg_toplevel, true);
|
||||
wlr_scene_node_set_position(&view->scene_tree->node, usable.x, usable.y);
|
||||
wlr_xdg_toplevel_set_size(view->xdg_toplevel, usable.width, usable.height);
|
||||
return true;
|
||||
@ -184,7 +178,6 @@ bool diyac_view_update_geometry(struct diyac_view *view, bool grabbed)
|
||||
/*TODO: implement full-screen */
|
||||
//view->state = DIYAC_VIEW_NORMAL;
|
||||
wlr_log(WLR_INFO, "diyac_view_update_geometry: full-screen ignore");
|
||||
wlr_xdg_toplevel_set_fullscreen(view->xdg_toplevel, false);
|
||||
return false;
|
||||
|
||||
default:
|
||||
@ -231,7 +224,7 @@ bool diyac_view_update_geometry(struct diyac_view *view, bool grabbed)
|
||||
|
||||
if (adjusted)
|
||||
{
|
||||
wlr_log(WLR_INFO, "diyac_view_update_geometry: updating geometry: %d %d %d %d", geometry->x, geometry->y, geometry->width, geometry->height);
|
||||
wlr_log(WLR_DEBUG, "diyac_view_update_geometry: updating geometry: %d %d %d %d", geometry->x, geometry->y, geometry->width, geometry->height);
|
||||
wlr_scene_node_set_position(&view->scene_tree->node, geometry->x, geometry->y);
|
||||
wlr_xdg_toplevel_set_size(view->xdg_toplevel, geometry->width, geometry->height);
|
||||
}
|
||||
|
Reference in New Issue
Block a user