36 lines
1.5 KiB
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));
|
|
} |