struct wlr_scene_node *node, struct wlr_surface *surface,
struct wlr_surface *toplevel, uint32_t resize_edges);
void seat_reset_pressed(struct seat *seat);
+void seat_output_layout_changed(struct seat *seat);
void interactive_begin(struct view *view, enum input_mode mode, uint32_t edges);
void interactive_finish(struct view *view);
wl_list_remove(&output->frame.link);
wl_list_remove(&output->destroy.link);
wl_list_remove(&output->request_state.link);
+ seat_output_layout_changed(&output->server->seat);
for (size_t i = 0; i < ARRAY_SIZE(output->layer_tree); i++) {
wlr_scene_node_destroy(&output->layer_tree[i]->node);
server->pending_output_layout_change--;
do_output_layout_change(server);
+ seat_output_layout_changed(&output->server->seat);
}
void
seat->pressed.toplevel = NULL;
seat->pressed.resize_edges = 0;
}
+
+void
+seat_output_layout_changed(struct seat *seat)
+{
+ struct input *input = NULL;
+ wl_list_for_each(input, &seat->inputs, link) {
+ switch (input->wlr_input_device->type) {
+ case WLR_INPUT_DEVICE_TABLET_TOOL:
+ map_input_to_output(seat, input->wlr_input_device, rc.tablet.output_name);
+ break;
+ default:
+ break;
+ }
+ }
+}