#include "LauncherSurface.hpp" LauncherSurface::LauncherSurface(GtkApplication* app, const std::string& base_url) : Surface(app, base_url, Config{ .layer_namespace = "nebula-launcher", .surface_name = "launcher", .layer = GTK_LAYER_SHELL_LAYER_OVERLAY, .anchor_top = true, .anchor_bottom = true, .anchor_left = true, .anchor_right = true, .height_px = -1, .keyboard_mode = GTK_LAYER_SHELL_KEYBOARD_MODE_ON_DEMAND, .auto_exclusive_zone = false, }) { // Created and fully configured, but left unmapped on purpose. // Later, when shellBridge is wired to WebKitGTK, call present() to show // the launcher and gtk_widget_set_visible(GTK_WIDGET(window()), FALSE) to hide it. gtk_widget_set_visible(GTK_WIDGET(window()), FALSE); }