+namespace {
+
+#ifdef WE_LIKE_NOT_TO_USE_THIS
+// This can fix the HomeScreen...
+void redraw_fix(App *app, std::unique_ptr<genivi::surface> &s, int x, int y,
+ int w, int h) {
+ { // XXX: Work around weston redraw issues
+ // trigger an update by changing the source dimensions!
+ s->set_configuration(w + 1, h);
+ s->set_source_rectangle(0, 0, w + 1, h);
+ s->set_destination_rectangle(x, y, w + 1, h);
+ app->controller->commit_changes();
+ app->display->roundtrip();
+
+ // wait some time, for the process to do its thing...
+ using namespace std::chrono_literals;
+ std::this_thread::sleep_for(100ms);
+
+ // Set a different size then what we actually want.
+ s->set_configuration(w, h);
+ s->set_source_rectangle(0, 0, w, h);
+ s->set_destination_rectangle(x, y, w, h);
+ app->controller->commit_changes();
+ app->display->roundtrip();
+ }
+}
+#endif
+
+} // namespace
+
+void App::surface_set_layout(int surface_id, optional<int> sub_surface_id) {