static gboolean on_configure_event(GtkWidget *widget, GdkEventConfigure *event, gpointer user_data) { gchar layout[80]; gint x; gint y; gdk_window_get_root_origin(gtk_widget_get_window(widgets.app), &x, &y); settings.gs_width = event->width; settings.gs_height = event->height; settings.app_x = x; settings.app_y = y; #ifdef HAVE_GTK_312 sprintf(layout, "%d", gtk_window_is_maximized(GTK_WINDOW(widgets.app))); xml_set_value("Xiphos", "layout", "maximized", layout); #endif sprintf(layout, "%d", settings.gs_width); xml_set_value("Xiphos", "layout", "width", layout); sprintf(layout, "%d", settings.gs_height); xml_set_value("Xiphos", "layout", "height", layout); sprintf(layout, "%d", settings.app_x); xml_set_value("Xiphos", "layout", "app_x", layout); sprintf(layout, "%d", settings.app_y); xml_set_value("Xiphos", "layout", "app_y", layout); xml_save_settings_doc(settings.fnconfigure); return FALSE; }
static gboolean sp_window_settings__window_save_settings_cb (gpointer data) { GtkWindow *window = data; GdkRectangle geom; gboolean maximized; g_assert (GTK_IS_WINDOW (window)); g_assert (G_IS_SETTINGS (settings)); g_object_set_data (G_OBJECT (window), "SETTINGS_HANDLER_ID", NULL); gtk_window_get_size (window, &geom.width, &geom.height); gtk_window_get_position (window, &geom.x, &geom.y); maximized = gtk_window_is_maximized (window); g_settings_set (settings, "window-size", "(ii)", geom.width, geom.height); g_settings_set (settings, "window-position", "(ii)", geom.x, geom.y); g_settings_set_boolean (settings, "window-maximized", maximized); return G_SOURCE_REMOVE; }