aboutsummaryrefslogtreecommitdiffstats
path: root/sway/input/seat.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/input/seat.c')
-rw-r--r--sway/input/seat.c24
1 files changed, 6 insertions, 18 deletions
diff --git a/sway/input/seat.c b/sway/input/seat.c
index 5e65ca70..74f1375e 100644
--- a/sway/input/seat.c
+++ b/sway/input/seat.c
@@ -661,9 +661,13 @@ void seat_set_focus_warp(struct sway_seat *seat,
661 if (last_focus) { 661 if (last_focus) {
662 seat_send_unfocus(last_focus, seat); 662 seat_send_unfocus(last_focus, seat);
663 } 663 }
664
665 seat_send_focus(container, seat); 664 seat_send_focus(container, seat);
666 container_damage_whole(container->parent); 665
666 container_set_dirty(container);
667 container_set_dirty(container->parent); // for focused_inactive_child
668 if (last_focus) {
669 container_set_dirty(last_focus);
670 }
667 } 671 }
668 672
669 // If we've focused a floating container, bring it to the front. 673 // If we've focused a floating container, bring it to the front.
@@ -717,10 +721,6 @@ void seat_set_focus_warp(struct sway_seat *seat,
717 } 721 }
718 } 722 }
719 723
720 if (last_focus) {
721 container_damage_whole(last_focus);
722 }
723
724 if (last_workspace && last_workspace != new_workspace) { 724 if (last_workspace && last_workspace != new_workspace) {
725 cursor_send_pointer_motion(seat->cursor, 0, true); 725 cursor_send_pointer_motion(seat->cursor, 0, true);
726 } 726 }
@@ -840,18 +840,6 @@ struct sway_container *seat_get_active_child(struct sway_seat *seat,
840 return NULL; 840 return NULL;
841} 841}
842 842
843struct sway_container *seat_get_active_current_child(struct sway_seat *seat,
844 struct sway_container *container) {
845 struct sway_seat_container *current = NULL;
846 wl_list_for_each(current, &seat->focus_stack, link) {
847 if (current->container->current.parent == container &&
848 current->container->current.layout != L_FLOATING) {
849 return current->container;
850 }
851 }
852 return NULL;
853}
854
855struct sway_container *seat_get_focus(struct sway_seat *seat) { 843struct sway_container *seat_get_focus(struct sway_seat *seat) {
856 if (!seat->has_focus) { 844 if (!seat->has_focus) {
857 return NULL; 845 return NULL;