/* settings_wm.c generated by valac 0.56.3, the Vala compiler
 * generated from settings_wm.vala, do not modify */

/*
 * This file is part of budgie-desktop
 *
 * Copyright © 2015-2022 Budgie Desktop Developers
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 */

#include <gtk/gtk.h>
#include <glib-object.h>
#include <gio/gio.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <glib/gi18n-lib.h>

#define BUDGIE_SETTINGS_GROUP_APPEARANCE "appearance"
#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif

#define BUDGIE_TYPE_SETTINGS_PAGE (budgie_settings_page_get_type ())
#define BUDGIE_SETTINGS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_SETTINGS_PAGE, BudgieSettingsPage))
#define BUDGIE_SETTINGS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_SETTINGS_PAGE, BudgieSettingsPageClass))
#define BUDGIE_IS_SETTINGS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_SETTINGS_PAGE))
#define BUDGIE_IS_SETTINGS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_SETTINGS_PAGE))
#define BUDGIE_SETTINGS_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_SETTINGS_PAGE, BudgieSettingsPageClass))

typedef struct _BudgieSettingsPage BudgieSettingsPage;
typedef struct _BudgieSettingsPageClass BudgieSettingsPageClass;
typedef struct _BudgieSettingsPagePrivate BudgieSettingsPagePrivate;

#define BUDGIE_TYPE_WINDOWS_PAGE (budgie_windows_page_get_type ())
#define BUDGIE_WINDOWS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_WINDOWS_PAGE, BudgieWindowsPage))
#define BUDGIE_WINDOWS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_WINDOWS_PAGE, BudgieWindowsPageClass))
#define BUDGIE_IS_WINDOWS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_WINDOWS_PAGE))
#define BUDGIE_IS_WINDOWS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_WINDOWS_PAGE))
#define BUDGIE_WINDOWS_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_WINDOWS_PAGE, BudgieWindowsPageClass))

typedef struct _BudgieWindowsPage BudgieWindowsPage;
typedef struct _BudgieWindowsPageClass BudgieWindowsPageClass;
typedef struct _BudgieWindowsPagePrivate BudgieWindowsPagePrivate;
enum  {
	BUDGIE_WINDOWS_PAGE_0_PROPERTY,
	BUDGIE_WINDOWS_PAGE_NUM_PROPERTIES
};
static GParamSpec* budgie_windows_page_properties[BUDGIE_WINDOWS_PAGE_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define BUDGIE_TYPE_SETTINGS_GRID (budgie_settings_grid_get_type ())
#define BUDGIE_SETTINGS_GRID(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_SETTINGS_GRID, BudgieSettingsGrid))
#define BUDGIE_SETTINGS_GRID_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_SETTINGS_GRID, BudgieSettingsGridClass))
#define BUDGIE_IS_SETTINGS_GRID(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_SETTINGS_GRID))
#define BUDGIE_IS_SETTINGS_GRID_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_SETTINGS_GRID))
#define BUDGIE_SETTINGS_GRID_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_SETTINGS_GRID, BudgieSettingsGridClass))

typedef struct _BudgieSettingsGrid BudgieSettingsGrid;
typedef struct _BudgieSettingsGridClass BudgieSettingsGridClass;

#define BUDGIE_TYPE_SETTINGS_ROW (budgie_settings_row_get_type ())
#define BUDGIE_SETTINGS_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_SETTINGS_ROW, BudgieSettingsRow))
#define BUDGIE_SETTINGS_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_SETTINGS_ROW, BudgieSettingsRowClass))
#define BUDGIE_IS_SETTINGS_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_SETTINGS_ROW))
#define BUDGIE_IS_SETTINGS_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_SETTINGS_ROW))
#define BUDGIE_SETTINGS_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_SETTINGS_ROW, BudgieSettingsRowClass))

typedef struct _BudgieSettingsRow BudgieSettingsRow;
typedef struct _BudgieSettingsRowClass BudgieSettingsRowClass;

struct _BudgieSettingsPage {
	GtkBox parent_instance;
	BudgieSettingsPagePrivate * priv;
};

struct _BudgieSettingsPageClass {
	GtkBoxClass parent_class;
};

struct _BudgieWindowsPage {
	BudgieSettingsPage parent_instance;
	BudgieWindowsPagePrivate * priv;
};

struct _BudgieWindowsPageClass {
	BudgieSettingsPageClass parent_class;
};

struct _BudgieWindowsPagePrivate {
	GSettings* budgie_wm_settings;
	GtkSwitch* center_windows;
	GtkSwitch* disable_night_light;
	GtkSwitch* pause_notifications;
	GtkComboBox* combo_layouts;
	GtkSwitch* switch_dialogs;
	GtkSwitch* switch_focus;
	GtkSwitch* switch_tiling;
	GtkSwitch* switch_unredirect;
	GtkSwitch* switch_all_windows_tabswitcher;
};

static gint BudgieWindowsPage_private_offset;
static gpointer budgie_windows_page_parent_class = NULL;

VALA_EXTERN GType budgie_settings_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BudgieSettingsPage, g_object_unref)
VALA_EXTERN GType budgie_windows_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BudgieWindowsPage, g_object_unref)
VALA_EXTERN BudgieWindowsPage* budgie_windows_page_new (void);
VALA_EXTERN BudgieWindowsPage* budgie_windows_page_construct (GType object_type);
VALA_EXTERN GType budgie_settings_grid_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BudgieSettingsGrid, g_object_unref)
VALA_EXTERN BudgieSettingsGrid* budgie_settings_grid_new (void);
VALA_EXTERN BudgieSettingsGrid* budgie_settings_grid_construct (GType object_type);
VALA_EXTERN GType budgie_settings_row_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BudgieSettingsRow, g_object_unref)
VALA_EXTERN void budgie_settings_grid_add_row (BudgieSettingsGrid* self,
                                   BudgieSettingsRow* row);
VALA_EXTERN BudgieSettingsRow* budgie_settings_row_new (GtkWidget* widget,
                                            const gchar* label,
                                            const gchar* description);
VALA_EXTERN BudgieSettingsRow* budgie_settings_row_construct (GType object_type,
                                                  GtkWidget* widget,
                                                  const gchar* label,
                                                  const gchar* description);
static void budgie_windows_page_finalize (GObject * obj);
static GType budgie_windows_page_get_type_once (void);

static inline gpointer
budgie_windows_page_get_instance_private (BudgieWindowsPage* self)
{
	return G_STRUCT_MEMBER_P (self, BudgieWindowsPage_private_offset);
}

BudgieWindowsPage*
budgie_windows_page_construct (GType object_type)
{
	BudgieWindowsPage * self = NULL;
	BudgieSettingsGrid* grid = NULL;
	BudgieSettingsGrid* _tmp0_;
	GtkSwitch* _tmp1_;
	GtkSwitch* _tmp2_;
	BudgieSettingsRow* _tmp3_;
	BudgieSettingsRow* _tmp4_;
	GtkComboBox* _tmp5_;
	GtkComboBox* _tmp6_;
	BudgieSettingsRow* _tmp7_;
	BudgieSettingsRow* _tmp8_;
	GtkSwitch* _tmp9_;
	GtkSwitch* _tmp10_;
	BudgieSettingsRow* _tmp11_;
	BudgieSettingsRow* _tmp12_;
	GtkSwitch* _tmp13_;
	GtkSwitch* _tmp14_;
	BudgieSettingsRow* _tmp15_;
	BudgieSettingsRow* _tmp16_;
	GtkSwitch* _tmp17_;
	GtkSwitch* _tmp18_;
	BudgieSettingsRow* _tmp19_;
	BudgieSettingsRow* _tmp20_;
	GtkSwitch* _tmp21_;
	GtkSwitch* _tmp22_;
	BudgieSettingsRow* _tmp23_;
	BudgieSettingsRow* _tmp24_;
	GtkSwitch* _tmp25_;
	GtkSwitch* _tmp26_;
	BudgieSettingsRow* _tmp27_;
	BudgieSettingsRow* _tmp28_;
	GtkSwitch* _tmp29_;
	GtkSwitch* _tmp30_;
	BudgieSettingsRow* _tmp31_;
	BudgieSettingsRow* _tmp32_;
	GtkSwitch* _tmp33_;
	GtkSwitch* _tmp34_;
	BudgieSettingsRow* _tmp35_;
	BudgieSettingsRow* _tmp36_;
	GtkListStore* model = NULL;
	GtkListStore* _tmp37_;
	GtkTreeIter iter = {0};
	GtkTreeIter _tmp38_ = {0};
	GtkTreeIter _tmp39_;
	GtkTreeIter _tmp40_ = {0};
	GtkTreeIter _tmp41_;
	GtkComboBox* _tmp42_;
	GtkComboBox* _tmp43_;
	GtkCellRendererText* render = NULL;
	GtkCellRendererText* _tmp44_;
	GtkComboBox* _tmp45_;
	GtkComboBox* _tmp46_;
	GtkComboBox* _tmp47_;
	GSettings* _tmp48_;
	GSettings* _tmp49_;
	GtkSwitch* _tmp50_;
	GSettings* _tmp51_;
	GtkComboBox* _tmp52_;
	GSettings* _tmp53_;
	GtkSwitch* _tmp54_;
	GSettings* _tmp55_;
	GtkSwitch* _tmp56_;
	GSettings* _tmp57_;
	GtkSwitch* _tmp58_;
	GSettings* _tmp59_;
	GtkSwitch* _tmp60_;
	GSettings* _tmp61_;
	GtkSwitch* _tmp62_;
	GSettings* _tmp63_;
	GtkSwitch* _tmp64_;
	GSettings* _tmp65_;
	GtkSwitch* _tmp66_;
	self = (BudgieWindowsPage*) g_object_new (object_type, "group", BUDGIE_SETTINGS_GROUP_APPEARANCE, "content-id", "windows", "title", _ ("Windows"), "display-weight", 4, "icon-name", "preferences-system-windows", NULL);
	_tmp0_ = budgie_settings_grid_new ();
	g_object_ref_sink (_tmp0_);
	grid = _tmp0_;
	gtk_container_add ((GtkContainer*) self, (GtkWidget*) grid);
	_tmp1_ = (GtkSwitch*) gtk_switch_new ();
	g_object_ref_sink (_tmp1_);
	_g_object_unref0 (self->priv->switch_dialogs);
	self->priv->switch_dialogs = _tmp1_;
	_tmp2_ = self->priv->switch_dialogs;
	_tmp3_ = budgie_settings_row_new ((GtkWidget*) _tmp2_, _ ("Attach modal dialogs to windows"), _ ("Modal dialogs will become attached to the parent window and move toget" \
"her when dragged."));
	_tmp4_ = _tmp3_;
	budgie_settings_grid_add_row (grid, _tmp4_);
	_g_object_unref0 (_tmp4_);
	_tmp5_ = (GtkComboBox*) gtk_combo_box_new ();
	g_object_ref_sink (_tmp5_);
	_g_object_unref0 (self->priv->combo_layouts);
	self->priv->combo_layouts = _tmp5_;
	_tmp6_ = self->priv->combo_layouts;
	_tmp7_ = budgie_settings_row_new ((GtkWidget*) _tmp6_, _ ("Button layout"), _ ("Change the layout of buttons in application titlebars."));
	_tmp8_ = _tmp7_;
	budgie_settings_grid_add_row (grid, _tmp8_);
	_g_object_unref0 (_tmp8_);
	_tmp9_ = (GtkSwitch*) gtk_switch_new ();
	g_object_ref_sink (_tmp9_);
	_g_object_unref0 (self->priv->center_windows);
	self->priv->center_windows = _tmp9_;
	_tmp10_ = self->priv->center_windows;
	_tmp11_ = budgie_settings_row_new ((GtkWidget*) _tmp10_, _ ("Center new windows on screen"), _ ("Center newly launched windows on the current screen."));
	_tmp12_ = _tmp11_;
	budgie_settings_grid_add_row (grid, _tmp12_);
	_g_object_unref0 (_tmp12_);
	_tmp13_ = (GtkSwitch*) gtk_switch_new ();
	g_object_ref_sink (_tmp13_);
	_g_object_unref0 (self->priv->disable_night_light);
	self->priv->disable_night_light = _tmp13_;
	_tmp14_ = self->priv->disable_night_light;
	_tmp15_ = budgie_settings_row_new ((GtkWidget*) _tmp14_, _ ("Disable Night Light mode when windows are fullscreen"), _ ("Disables Night Light mode when a window is fullscreen. Re-enables when" \
" leaving fullscreen."));
	_tmp16_ = _tmp15_;
	budgie_settings_grid_add_row (grid, _tmp16_);
	_g_object_unref0 (_tmp16_);
	_tmp17_ = (GtkSwitch*) gtk_switch_new ();
	g_object_ref_sink (_tmp17_);
	_g_object_unref0 (self->priv->pause_notifications);
	self->priv->pause_notifications = _tmp17_;
	_tmp18_ = self->priv->pause_notifications;
	_tmp19_ = budgie_settings_row_new ((GtkWidget*) _tmp18_, _ ("Pause notifications when windows are fullscreen"), _ ("Prevents notifications from appearing when a window is fullscreen. Unp" \
"auses when leaving fullscreen."));
	_tmp20_ = _tmp19_;
	budgie_settings_grid_add_row (grid, _tmp20_);
	_g_object_unref0 (_tmp20_);
	_tmp21_ = (GtkSwitch*) gtk_switch_new ();
	g_object_ref_sink (_tmp21_);
	_g_object_unref0 (self->priv->switch_tiling);
	self->priv->switch_tiling = _tmp21_;
	_tmp22_ = self->priv->switch_tiling;
	_tmp23_ = budgie_settings_row_new ((GtkWidget*) _tmp22_, _ ("Automatic tiling"), _ ("Windows will automatically tile when dragged into the top of the scree" \
"n or the far corners."));
	_tmp24_ = _tmp23_;
	budgie_settings_grid_add_row (grid, _tmp24_);
	_g_object_unref0 (_tmp24_);
	_tmp25_ = (GtkSwitch*) gtk_switch_new ();
	g_object_ref_sink (_tmp25_);
	_g_object_unref0 (self->priv->switch_focus);
	self->priv->switch_focus = _tmp25_;
	_tmp26_ = self->priv->switch_focus;
	_tmp27_ = budgie_settings_row_new ((GtkWidget*) _tmp26_, _ ("Enable window focus change on mouse enter and leave"), _ ("Enables window focus to apply when the mouse enters the window and unf" \
"ocus when the mouse leaves the window."));
	_tmp28_ = _tmp27_;
	budgie_settings_grid_add_row (grid, _tmp28_);
	_g_object_unref0 (_tmp28_);
	_tmp29_ = (GtkSwitch*) gtk_switch_new ();
	g_object_ref_sink (_tmp29_);
	_g_object_unref0 (self->priv->switch_unredirect);
	self->priv->switch_unredirect = _tmp29_;
	_tmp30_ = self->priv->switch_unredirect;
	_tmp31_ = budgie_settings_row_new ((GtkWidget*) _tmp30_, _ ("Disable unredirection of windows"), _ ("This option is for advanced users. Use this if you are having graphica" \
"l or performance issues with dedicated GPUs."));
	_tmp32_ = _tmp31_;
	budgie_settings_grid_add_row (grid, _tmp32_);
	_g_object_unref0 (_tmp32_);
	_tmp33_ = (GtkSwitch*) gtk_switch_new ();
	g_object_ref_sink (_tmp33_);
	_g_object_unref0 (self->priv->switch_all_windows_tabswitcher);
	self->priv->switch_all_windows_tabswitcher = _tmp33_;
	_tmp34_ = self->priv->switch_all_windows_tabswitcher;
	_tmp35_ = budgie_settings_row_new ((GtkWidget*) _tmp34_, _ ("Show all windows in tab switcher"), _ ("All tabs will be displayed in tab switcher regardless of the workspace" \
" in use."));
	_tmp36_ = _tmp35_;
	budgie_settings_grid_add_row (grid, _tmp36_);
	_g_object_unref0 (_tmp36_);
	_tmp37_ = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING, -1);
	model = _tmp37_;
	gtk_list_store_append (model, &_tmp38_);
	iter = _tmp38_;
	_tmp39_ = iter;
	gtk_list_store_set (model, &_tmp39_, 0, "traditional", 1, _ ("Right (standard)"), -1, -1);
	gtk_list_store_append (model, &_tmp40_);
	iter = _tmp40_;
	_tmp41_ = iter;
	gtk_list_store_set (model, &_tmp41_, 0, "left", 1, _ ("Left"), -1, -1);
	_tmp42_ = self->priv->combo_layouts;
	gtk_combo_box_set_model (_tmp42_, (GtkTreeModel*) model);
	_tmp43_ = self->priv->combo_layouts;
	gtk_combo_box_set_id_column (_tmp43_, 0);
	_tmp44_ = (GtkCellRendererText*) gtk_cell_renderer_text_new ();
	g_object_ref_sink (_tmp44_);
	render = _tmp44_;
	_tmp45_ = self->priv->combo_layouts;
	gtk_cell_layout_pack_start ((GtkCellLayout*) _tmp45_, (GtkCellRenderer*) render, TRUE);
	_tmp46_ = self->priv->combo_layouts;
	gtk_cell_layout_add_attribute ((GtkCellLayout*) _tmp46_, (GtkCellRenderer*) render, "text", 1);
	_tmp47_ = self->priv->combo_layouts;
	gtk_combo_box_set_id_column (_tmp47_, 0);
	_tmp48_ = g_settings_new ("com.solus-project.budgie-wm");
	_g_object_unref0 (self->priv->budgie_wm_settings);
	self->priv->budgie_wm_settings = _tmp48_;
	_tmp49_ = self->priv->budgie_wm_settings;
	_tmp50_ = self->priv->switch_dialogs;
	g_settings_bind (_tmp49_, "attach-modal-dialogs", (GObject*) _tmp50_, "active", G_SETTINGS_BIND_DEFAULT);
	_tmp51_ = self->priv->budgie_wm_settings;
	_tmp52_ = self->priv->combo_layouts;
	g_settings_bind (_tmp51_, "button-style", (GObject*) _tmp52_, "active-id", G_SETTINGS_BIND_DEFAULT);
	_tmp53_ = self->priv->budgie_wm_settings;
	_tmp54_ = self->priv->center_windows;
	g_settings_bind (_tmp53_, "center-windows", (GObject*) _tmp54_, "active", G_SETTINGS_BIND_DEFAULT);
	_tmp55_ = self->priv->budgie_wm_settings;
	_tmp56_ = self->priv->disable_night_light;
	g_settings_bind (_tmp55_, "disable-night-light-on-fullscreen", (GObject*) _tmp56_, "active", G_SETTINGS_BIND_DEFAULT);
	_tmp57_ = self->priv->budgie_wm_settings;
	_tmp58_ = self->priv->pause_notifications;
	g_settings_bind (_tmp57_, "pause-notifications-on-fullscreen", (GObject*) _tmp58_, "active", G_SETTINGS_BIND_DEFAULT);
	_tmp59_ = self->priv->budgie_wm_settings;
	_tmp60_ = self->priv->switch_tiling;
	g_settings_bind (_tmp59_, "edge-tiling", (GObject*) _tmp60_, "active", G_SETTINGS_BIND_DEFAULT);
	_tmp61_ = self->priv->budgie_wm_settings;
	_tmp62_ = self->priv->switch_focus;
	g_settings_bind (_tmp61_, "focus-mode", (GObject*) _tmp62_, "active", G_SETTINGS_BIND_DEFAULT);
	_tmp63_ = self->priv->budgie_wm_settings;
	_tmp64_ = self->priv->switch_unredirect;
	g_settings_bind (_tmp63_, "force-unredirect", (GObject*) _tmp64_, "active", G_SETTINGS_BIND_DEFAULT);
	_tmp65_ = self->priv->budgie_wm_settings;
	_tmp66_ = self->priv->switch_all_windows_tabswitcher;
	g_settings_bind (_tmp65_, "show-all-windows-tabswitcher", (GObject*) _tmp66_, "active", G_SETTINGS_BIND_DEFAULT);
	_g_object_unref0 (render);
	_g_object_unref0 (model);
	_g_object_unref0 (grid);
	return self;
}

BudgieWindowsPage*
budgie_windows_page_new (void)
{
	return budgie_windows_page_construct (BUDGIE_TYPE_WINDOWS_PAGE);
}

static void
budgie_windows_page_class_init (BudgieWindowsPageClass * klass,
                                gpointer klass_data)
{
	budgie_windows_page_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &BudgieWindowsPage_private_offset);
	G_OBJECT_CLASS (klass)->finalize = budgie_windows_page_finalize;
}

static void
budgie_windows_page_instance_init (BudgieWindowsPage * self,
                                   gpointer klass)
{
	self->priv = budgie_windows_page_get_instance_private (self);
}

static void
budgie_windows_page_finalize (GObject * obj)
{
	BudgieWindowsPage * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BUDGIE_TYPE_WINDOWS_PAGE, BudgieWindowsPage);
	_g_object_unref0 (self->priv->budgie_wm_settings);
	_g_object_unref0 (self->priv->center_windows);
	_g_object_unref0 (self->priv->disable_night_light);
	_g_object_unref0 (self->priv->pause_notifications);
	_g_object_unref0 (self->priv->combo_layouts);
	_g_object_unref0 (self->priv->switch_dialogs);
	_g_object_unref0 (self->priv->switch_focus);
	_g_object_unref0 (self->priv->switch_tiling);
	_g_object_unref0 (self->priv->switch_unredirect);
	_g_object_unref0 (self->priv->switch_all_windows_tabswitcher);
	G_OBJECT_CLASS (budgie_windows_page_parent_class)->finalize (obj);
}

/**
* WindowsPage allows users to control window manager settings
*/
static GType
budgie_windows_page_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (BudgieWindowsPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) budgie_windows_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BudgieWindowsPage), 0, (GInstanceInitFunc) budgie_windows_page_instance_init, NULL };
	GType budgie_windows_page_type_id;
	budgie_windows_page_type_id = g_type_register_static (BUDGIE_TYPE_SETTINGS_PAGE, "BudgieWindowsPage", &g_define_type_info, 0);
	BudgieWindowsPage_private_offset = g_type_add_instance_private (budgie_windows_page_type_id, sizeof (BudgieWindowsPagePrivate));
	return budgie_windows_page_type_id;
}

GType
budgie_windows_page_get_type (void)
{
	static volatile gsize budgie_windows_page_type_id__once = 0;
	if (g_once_init_enter (&budgie_windows_page_type_id__once)) {
		GType budgie_windows_page_type_id;
		budgie_windows_page_type_id = budgie_windows_page_get_type_once ();
		g_once_init_leave (&budgie_windows_page_type_id__once, budgie_windows_page_type_id);
	}
	return budgie_windows_page_type_id__once;
}

