diff options
Diffstat (limited to 'include/sway/input/seat.h')
-rw-r--r-- | include/sway/input/seat.h | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/include/sway/input/seat.h b/include/sway/input/seat.h index 5c404ecd..8a7e5450 100644 --- a/include/sway/input/seat.h +++ b/include/sway/input/seat.h | |||
@@ -13,9 +13,9 @@ struct sway_seat_device { | |||
13 | struct wl_list link; // sway_seat::devices | 13 | struct wl_list link; // sway_seat::devices |
14 | }; | 14 | }; |
15 | 15 | ||
16 | struct sway_seat_container { | 16 | struct sway_seat_node { |
17 | struct sway_seat *seat; | 17 | struct sway_seat *seat; |
18 | struct sway_container *container; | 18 | struct sway_node *node; |
19 | 19 | ||
20 | struct wl_list link; // sway_seat::focus_stack | 20 | struct wl_list link; // sway_seat::focus_stack |
21 | 21 | ||
@@ -76,7 +76,7 @@ struct sway_seat { | |||
76 | uint32_t last_button_serial; | 76 | uint32_t last_button_serial; |
77 | 77 | ||
78 | struct wl_listener focus_destroy; | 78 | struct wl_listener focus_destroy; |
79 | struct wl_listener new_container; | 79 | struct wl_listener new_node; |
80 | struct wl_listener new_drag_icon; | 80 | struct wl_listener new_drag_icon; |
81 | 81 | ||
82 | struct wl_list devices; // sway_seat_device::link | 82 | struct wl_list devices; // sway_seat_device::link |
@@ -100,10 +100,10 @@ void seat_remove_device(struct sway_seat *seat, | |||
100 | 100 | ||
101 | void seat_configure_xcursor(struct sway_seat *seat); | 101 | void seat_configure_xcursor(struct sway_seat *seat); |
102 | 102 | ||
103 | void seat_set_focus(struct sway_seat *seat, struct sway_container *container); | 103 | void seat_set_focus(struct sway_seat *seat, struct sway_node *node); |
104 | 104 | ||
105 | void seat_set_focus_warp(struct sway_seat *seat, | 105 | void seat_set_focus_warp(struct sway_seat *seat, |
106 | struct sway_container *container, bool warp, bool notify); | 106 | struct sway_node *node, bool warp, bool notify); |
107 | 107 | ||
108 | void seat_set_focus_surface(struct sway_seat *seat, | 108 | void seat_set_focus_surface(struct sway_seat *seat, |
109 | struct wlr_surface *surface, bool unfocus); | 109 | struct wlr_surface *surface, bool unfocus); |
@@ -114,7 +114,11 @@ void seat_set_focus_layer(struct sway_seat *seat, | |||
114 | void seat_set_exclusive_client(struct sway_seat *seat, | 114 | void seat_set_exclusive_client(struct sway_seat *seat, |
115 | struct wl_client *client); | 115 | struct wl_client *client); |
116 | 116 | ||
117 | struct sway_container *seat_get_focus(struct sway_seat *seat); | 117 | struct sway_node *seat_get_focus(struct sway_seat *seat); |
118 | |||
119 | struct sway_workspace *seat_get_focused_workspace(struct sway_seat *seat); | ||
120 | |||
121 | struct sway_container *seat_get_focused_container(struct sway_seat *seat); | ||
118 | 122 | ||
119 | /** | 123 | /** |
120 | * Return the last container to be focused for the seat (or the most recently | 124 | * Return the last container to be focused for the seat (or the most recently |
@@ -125,32 +129,31 @@ struct sway_container *seat_get_focus(struct sway_seat *seat); | |||
125 | * is destroyed, or focus moves to a container with children and we need to | 129 | * is destroyed, or focus moves to a container with children and we need to |
126 | * descend into the next leaf in focus order. | 130 | * descend into the next leaf in focus order. |
127 | */ | 131 | */ |
128 | struct sway_container *seat_get_focus_inactive(struct sway_seat *seat, | 132 | struct sway_node *seat_get_focus_inactive(struct sway_seat *seat, |
129 | struct sway_container *container); | 133 | struct sway_node *node); |
130 | 134 | ||
131 | struct sway_container *seat_get_focus_inactive_tiling(struct sway_seat *seat, | 135 | struct sway_container *seat_get_focus_inactive_tiling(struct sway_seat *seat, |
132 | struct sway_container *container); | 136 | struct sway_workspace *workspace); |
133 | 137 | ||
134 | /** | 138 | /** |
135 | * Descend into the focus stack to find the focus-inactive view. Useful for | 139 | * Descend into the focus stack to find the focus-inactive view. Useful for |
136 | * container placement when they change position in the tree. | 140 | * container placement when they change position in the tree. |
137 | */ | 141 | */ |
138 | struct sway_container *seat_get_focus_inactive_view(struct sway_seat *seat, | 142 | struct sway_container *seat_get_focus_inactive_view(struct sway_seat *seat, |
139 | struct sway_container *container); | 143 | struct sway_node *ancestor); |
140 | 144 | ||
141 | /** | 145 | /** |
142 | * Return the immediate child of container which was most recently focused. | 146 | * Return the immediate child of container which was most recently focused. |
143 | */ | 147 | */ |
144 | struct sway_container *seat_get_active_child(struct sway_seat *seat, | 148 | struct sway_node *seat_get_active_child(struct sway_seat *seat, |
145 | struct sway_container *container); | 149 | struct sway_node *parent); |
146 | 150 | ||
147 | /** | 151 | /** |
148 | * Iterate over the focus-inactive children of the container calling the | 152 | * Iterate over the focus-inactive children of the container calling the |
149 | * function on each. | 153 | * function on each. |
150 | */ | 154 | */ |
151 | void seat_focus_inactive_children_for_each(struct sway_seat *seat, | 155 | void seat_for_each_node(struct sway_seat *seat, |
152 | struct sway_container *container, | 156 | void (*f)(struct sway_node *node, void *data), void *data); |
153 | void (*f)(struct sway_container *container, void *data), void *data); | ||
154 | 157 | ||
155 | void seat_apply_config(struct sway_seat *seat, struct seat_config *seat_config); | 158 | void seat_apply_config(struct sway_seat *seat, struct seat_config *seat_config); |
156 | 159 | ||
@@ -173,7 +176,7 @@ void seat_begin_resize_tiling(struct sway_seat *seat, | |||
173 | struct sway_container *con, uint32_t button, enum wlr_edges edge); | 176 | struct sway_container *con, uint32_t button, enum wlr_edges edge); |
174 | 177 | ||
175 | struct sway_container *seat_get_focus_inactive_floating(struct sway_seat *seat, | 178 | struct sway_container *seat_get_focus_inactive_floating(struct sway_seat *seat, |
176 | struct sway_container *container); | 179 | struct sway_workspace *workspace); |
177 | 180 | ||
178 | void seat_end_mouse_operation(struct sway_seat *seat); | 181 | void seat_end_mouse_operation(struct sway_seat *seat); |
179 | 182 | ||