meson.build: Build X11 backend optionally
[src/agl-compositor.git] / src / main.c
index eefdc19..519d427 100644 (file)
 #include <unistd.h>
 #include <linux/input.h>
 
-#include <libweston-6/compositor-drm.h>
-#include <libweston-6/compositor-wayland.h>
-#include <libweston-6/compositor-x11.h>
-#include <libweston-6/compositor.h>
-#include <libweston-6/windowed-output-api.h>
-#include <libweston-6/config-parser.h>
+#include <libweston/backend-drm.h>
+#include <libweston/backend-wayland.h>
+#ifdef HAVE_BACKEND_X11
+#include <libweston/backend-x11.h>
+#endif
+#include <libweston/libweston.h>
+#include <libweston/windowed-output-api.h>
+#include <libweston/config-parser.h>
 
 #include "shared/os-compatibility.h"
 
@@ -709,6 +711,7 @@ load_wayland_backend(struct ivi_compositor *ivi, int *argc, char *argv[])
        return windowed_create_outputs(ivi, output_count, "WL", "wayland");
 }
 
+#ifdef HAVE_BACKEND_X11
 static int
 load_x11_backend(struct ivi_compositor *ivi, int *argc, char *argv[])
 {
@@ -746,6 +749,13 @@ load_x11_backend(struct ivi_compositor *ivi, int *argc, char *argv[])
 
        return windowed_create_outputs(ivi, output_count, "X", "screen");
 }
+#else
+static int
+load_x11_backend(struct ivi_compositor *ivi, int *argc, char *argv[])
+{
+       return -1;
+}
+#endif
 
 static int
 load_backend(struct ivi_compositor *ivi, const char *backend,
@@ -1088,10 +1098,24 @@ usage(int error_code)
        exit(error_code);
 }
 
+static void
+ivi_compositor_get_quirks(struct ivi_compositor *ivi)
+{
+       struct weston_config_section *section;
+
+       if (!ivi->config)
+               return;
+
+       section = weston_config_get_section(ivi->config, "shell", NULL, NULL);
+       weston_config_section_get_bool(section, "activate-by-default",
+                       &ivi->quirks.activate_apps_by_default, 0);
+
+}
+
 int main(int argc, char *argv[])
 {
        struct ivi_compositor ivi = { 0 };
-       struct wl_display *display;
+       struct wl_display *display = NULL;
        struct wl_event_loop *loop;
        struct wl_event_source *signals[3] = { 0 };
        struct weston_config_section *section;
@@ -1146,6 +1170,8 @@ int main(int argc, char *argv[])
                        backend = choose_default_backend();
        }
 
+       ivi_compositor_get_quirks(&ivi);
+
        display = wl_display_create();
        loop = wl_display_get_event_loop(display);
 
@@ -1193,6 +1219,8 @@ int main(int argc, char *argv[])
 
        weston_compositor_flush_heads_changed(ivi.compositor);
 
+       ivi_shell_init_black_fs(&ivi);
+
        if (create_listening_socket(display, socket_name) < 0)
                goto error_compositor;