#include "background.h" #include #define NAMESPACE "background" static void on_background_destroy(GtkWindow *window, GApplication *_data) { (void) window; (void)_data; //g_application_quit (G_APPLICATION (gtk_window_get_application (window))); } void diya_session_shell_init_background(DiyaSessionShell * shell) { GtkApplication * app; g_object_get(shell, "application", &app, NULL); assert(app); GtkWindow *gtk_window = GTK_WINDOW (gtk_application_window_new (app)); assert(gtk_window); g_object_set(shell, "background", gtk_window, NULL); g_signal_connect (gtk_window, "destroy", G_CALLBACK (on_background_destroy), NULL); // int layer shell for window gtk_layer_init_for_window (gtk_window); // anchor window to all edges for (int i = 0; i < GTK_LAYER_SHELL_EDGE_ENTRY_NUMBER; i++) gtk_layer_set_anchor (gtk_window, i, true); // set margin on window for (int i = 0; i < GTK_LAYER_SHELL_EDGE_ENTRY_NUMBER; i++) gtk_layer_set_margin (gtk_window, i, 0); gtk_layer_set_layer (gtk_window, GTK_LAYER_SHELL_LAYER_BACKGROUND); gtk_layer_set_keyboard_mode (gtk_window, GTK_LAYER_SHELL_KEYBOARD_MODE_NONE); gtk_layer_set_namespace (gtk_window, NAMESPACE); gtk_widget_set_name(GTK_WIDGET(gtk_window),NAMESPACE); //gtk_layer_auto_exclusive_zone_enable (gtk_window); //g_signal_connect (gtk_window, "orientation-changed", G_CALLBACK (on_orientation_changed), /*data*/NULL); gtk_window_present (GTK_WINDOW (gtk_window)); }