+ void emit_invisible(char const *label);
+ void emit_visible(char const *label);
+
+ void activate(int id);
+ void deactivate(int id);
+ void deactivate_main_surface();
+
+ bool can_split(struct LayoutState const &state, int new_id);
+ void try_layout(struct LayoutState &state,
+ struct LayoutState const &new_layout,
+ std::function<void(LayoutState const &nl)> apply);