Use keyboard_state.focused_surface directly

This commit is contained in:
Ferdinand Schober 2022-10-08 19:11:45 +02:00 committed by Simon Ser
parent be7707874a
commit 99acdb4e62
3 changed files with 1 additions and 14 deletions

View file

@ -192,8 +192,6 @@ void seat_set_exclusive_client(struct sway_seat *seat,
struct sway_node *seat_get_focus(struct sway_seat *seat); struct sway_node *seat_get_focus(struct sway_seat *seat);
struct wlr_surface *seat_get_focused_surface(struct sway_seat *seat);
struct sway_workspace *seat_get_focused_workspace(struct sway_seat *seat); struct sway_workspace *seat_get_focused_workspace(struct sway_seat *seat);
// If a scratchpad container is fullscreen global, this can be used to try to // If a scratchpad container is fullscreen global, this can be used to try to

View file

@ -1372,7 +1372,7 @@ void handle_pointer_constraint(struct wl_listener *listener, void *data) {
sway_constraint->destroy.notify = handle_constraint_destroy; sway_constraint->destroy.notify = handle_constraint_destroy;
wl_signal_add(&constraint->events.destroy, &sway_constraint->destroy); wl_signal_add(&constraint->events.destroy, &sway_constraint->destroy);
struct wlr_surface *surface = seat_get_focused_surface(seat); struct wlr_surface *surface = seat->wlr_seat->keyboard_state.focused_surface;
if (surface && surface == constraint->surface) { if (surface && surface == constraint->surface) {
sway_cursor_constrain(seat->cursor, constraint); sway_cursor_constrain(seat->cursor, constraint);
} }

View file

@ -1462,17 +1462,6 @@ struct sway_node *seat_get_focus(struct sway_seat *seat) {
return current->node; return current->node;
} }
struct wlr_surface *seat_get_focused_surface(struct sway_seat *seat) {
struct sway_node *focus = seat_get_focus(seat);
if (focus && node_is_view(focus)) {
return focus->sway_container->view->surface;
}
struct wlr_layer_surface_v1 *layer = seat->focused_layer;
if (layer && layer->surface)
return layer->surface;
return NULL;
}
struct sway_workspace *seat_get_focused_workspace(struct sway_seat *seat) { struct sway_workspace *seat_get_focused_workspace(struct sway_seat *seat) {
struct sway_node *focus = seat_get_focus_inactive(seat, &root->node); struct sway_node *focus = seat_get_focus_inactive(seat, &root->node);
if (!focus) { if (!focus) {