diya-shell/src/background.c

36 lines
1.5 KiB
C

#include "background.h"
#include <assert.h>
#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));
}