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

/*///////////////////////////////////////////////////////////////////////*/
/* Copyright 2011-2021 Simon Schneegans*/
/**/
/* Permission is hereby granted, free of charge, to any person obtaining*/
/* a copy of this software and associated documentation files (the*/
/* "Software"), to deal in the Software without restriction, including*/
/* without limitation the rights to use, copy, modify, merge, publish,*/
/* distribute, sublicense, and/or sell copies of the Software, and to*/
/* permit persons to whom the Software is furnished to do so, subject to*/
/* the following conditions:*/
/* */
/* The above copyright notice and this permission notice shall be*/
/* included in all copies or substantial portions of the Software.*/
/* */
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,*/
/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF*/
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY*/
/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,*/
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE*/
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/
/*///////////////////////////////////////////////////////////////////////*/

#include <glib-object.h>
#include <libxml/xmlwriter.h>
#include <libxml/tree.h>
#include <glib.h>
#include <libwnck/libwnck.h>
#include <gee.h>
#include <stdlib.h>
#include <string.h>
#include <glib/gi18n-lib.h>
#include <gtk/gtk.h>

#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif
#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 GNOME_PIE_TYPE_ACTION_GROUP (gnome_pie_action_group_get_type ())
#define GNOME_PIE_ACTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_PIE_TYPE_ACTION_GROUP, GnomePieActionGroup))
#define GNOME_PIE_ACTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_PIE_TYPE_ACTION_GROUP, GnomePieActionGroupClass))
#define GNOME_PIE_IS_ACTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_PIE_TYPE_ACTION_GROUP))
#define GNOME_PIE_IS_ACTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_PIE_TYPE_ACTION_GROUP))
#define GNOME_PIE_ACTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_PIE_TYPE_ACTION_GROUP, GnomePieActionGroupClass))

typedef struct _GnomePieActionGroup GnomePieActionGroup;
typedef struct _GnomePieActionGroupClass GnomePieActionGroupClass;
typedef struct _GnomePieActionGroupPrivate GnomePieActionGroupPrivate;

#define GNOME_PIE_TYPE_WINDOW_LIST_GROUP (gnome_pie_window_list_group_get_type ())
#define GNOME_PIE_WINDOW_LIST_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_PIE_TYPE_WINDOW_LIST_GROUP, GnomePieWindowListGroup))
#define GNOME_PIE_WINDOW_LIST_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_PIE_TYPE_WINDOW_LIST_GROUP, GnomePieWindowListGroupClass))
#define GNOME_PIE_IS_WINDOW_LIST_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_PIE_TYPE_WINDOW_LIST_GROUP))
#define GNOME_PIE_IS_WINDOW_LIST_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_PIE_TYPE_WINDOW_LIST_GROUP))
#define GNOME_PIE_WINDOW_LIST_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_PIE_TYPE_WINDOW_LIST_GROUP, GnomePieWindowListGroupClass))

typedef struct _GnomePieWindowListGroup GnomePieWindowListGroup;
typedef struct _GnomePieWindowListGroupClass GnomePieWindowListGroupClass;
typedef struct _GnomePieWindowListGroupPrivate GnomePieWindowListGroupPrivate;
enum  {
	GNOME_PIE_WINDOW_LIST_GROUP_0_PROPERTY,
	GNOME_PIE_WINDOW_LIST_GROUP_CURRENT_WORKSPACE_ONLY_PROPERTY,
	GNOME_PIE_WINDOW_LIST_GROUP_NUM_PROPERTIES
};
static GParamSpec* gnome_pie_window_list_group_properties[GNOME_PIE_WINDOW_LIST_GROUP_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define GNOME_PIE_GROUP_REGISTRY_TYPE_TYPEDESCRIPTION (gnome_pie_group_registry_typedescription_get_type ())
#define GNOME_PIE_GROUP_REGISTRY_TYPEDESCRIPTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_PIE_GROUP_REGISTRY_TYPE_TYPEDESCRIPTION, GnomePieGroupRegistryTypeDescription))
#define GNOME_PIE_GROUP_REGISTRY_TYPEDESCRIPTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_PIE_GROUP_REGISTRY_TYPE_TYPEDESCRIPTION, GnomePieGroupRegistryTypeDescriptionClass))
#define GNOME_PIE_GROUP_REGISTRY_IS_TYPEDESCRIPTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_PIE_GROUP_REGISTRY_TYPE_TYPEDESCRIPTION))
#define GNOME_PIE_GROUP_REGISTRY_IS_TYPEDESCRIPTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_PIE_GROUP_REGISTRY_TYPE_TYPEDESCRIPTION))
#define GNOME_PIE_GROUP_REGISTRY_TYPEDESCRIPTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_PIE_GROUP_REGISTRY_TYPE_TYPEDESCRIPTION, GnomePieGroupRegistryTypeDescriptionClass))

typedef struct _GnomePieGroupRegistryTypeDescription GnomePieGroupRegistryTypeDescription;
typedef struct _GnomePieGroupRegistryTypeDescriptionClass GnomePieGroupRegistryTypeDescriptionClass;
#define _g_free0(var) (var = (g_free (var), NULL))

#define GNOME_PIE_TYPE_ACTION (gnome_pie_action_get_type ())
#define GNOME_PIE_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_PIE_TYPE_ACTION, GnomePieAction))
#define GNOME_PIE_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_PIE_TYPE_ACTION, GnomePieActionClass))
#define GNOME_PIE_IS_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_PIE_TYPE_ACTION))
#define GNOME_PIE_IS_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_PIE_TYPE_ACTION))
#define GNOME_PIE_ACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_PIE_TYPE_ACTION, GnomePieActionClass))

typedef struct _GnomePieAction GnomePieAction;
typedef struct _GnomePieActionClass GnomePieActionClass;
typedef struct _Block2Data Block2Data;

#define GNOME_PIE_TYPE_SIG_ACTION (gnome_pie_sig_action_get_type ())
#define GNOME_PIE_SIG_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_PIE_TYPE_SIG_ACTION, GnomePieSigAction))
#define GNOME_PIE_SIG_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_PIE_TYPE_SIG_ACTION, GnomePieSigActionClass))
#define GNOME_PIE_IS_SIG_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_PIE_TYPE_SIG_ACTION))
#define GNOME_PIE_IS_SIG_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_PIE_TYPE_SIG_ACTION))
#define GNOME_PIE_SIG_ACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_PIE_TYPE_SIG_ACTION, GnomePieSigActionClass))

typedef struct _GnomePieSigAction GnomePieSigAction;
typedef struct _GnomePieSigActionClass GnomePieSigActionClass;
typedef struct _Block3Data Block3Data;

struct _GnomePieActionGroup {
	GObject parent_instance;
	GnomePieActionGroupPrivate * priv;
};

struct _GnomePieActionGroupClass {
	GObjectClass parent_class;
	void (*on_remove) (GnomePieActionGroup* self);
	void (*on_save) (GnomePieActionGroup* self, xmlTextWriter* writer);
	void (*on_load) (GnomePieActionGroup* self, xmlNode* data);
};

struct _GnomePieWindowListGroup {
	GnomePieActionGroup parent_instance;
	GnomePieWindowListGroupPrivate * priv;
};

struct _GnomePieWindowListGroupClass {
	GnomePieActionGroupClass parent_class;
};

struct _GnomePieWindowListGroupPrivate {
	gboolean _current_workspace_only;
	WnckScreen* screen;
};

struct _Block2Data {
	int _ref_count_;
	GnomePieWindowListGroup* self;
	WnckWindow* window;
};

struct _Block3Data {
	int _ref_count_;
	Block2Data * _data2_;
	GnomePieSigAction* action;
};

static gint GnomePieWindowListGroup_private_offset;
static gpointer gnome_pie_window_list_group_parent_class = NULL;
static GeeHashMap* gnome_pie_window_list_group__cached_icon_name;
static GeeHashMap* gnome_pie_window_list_group__cached_icon_name = NULL;

VALA_EXTERN GType gnome_pie_action_group_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomePieActionGroup, g_object_unref)
VALA_EXTERN GType gnome_pie_window_list_group_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomePieWindowListGroup, g_object_unref)
VALA_EXTERN void gnome_pie_action_group_on_save (GnomePieActionGroup* self,
                                     xmlTextWriter* writer);
VALA_EXTERN void gnome_pie_action_group_on_load (GnomePieActionGroup* self,
                                     xmlNode* data);
VALA_EXTERN gpointer gnome_pie_group_registry_typedescription_ref (gpointer instance);
VALA_EXTERN void gnome_pie_group_registry_typedescription_unref (gpointer instance);
VALA_EXTERN GParamSpec* gnome_pie_group_registry_param_spec_typedescription (const gchar* name,
                                                                 const gchar* nick,
                                                                 const gchar* blurb,
                                                                 GType object_type,
                                                                 GParamFlags flags);
VALA_EXTERN void gnome_pie_group_registry_value_set_typedescription (GValue* value,
                                                         gpointer v_object);
VALA_EXTERN void gnome_pie_group_registry_value_take_typedescription (GValue* value,
                                                          gpointer v_object);
VALA_EXTERN gpointer gnome_pie_group_registry_value_get_typedescription (const GValue* value);
VALA_EXTERN GType gnome_pie_group_registry_typedescription_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomePieGroupRegistryTypeDescription, gnome_pie_group_registry_typedescription_unref)
VALA_EXTERN GnomePieGroupRegistryTypeDescription* gnome_pie_window_list_group_register (void);
VALA_EXTERN GnomePieGroupRegistryTypeDescription* gnome_pie_group_registry_typedescription_new (void);
VALA_EXTERN GnomePieGroupRegistryTypeDescription* gnome_pie_group_registry_typedescription_construct (GType object_type);
VALA_EXTERN void gnome_pie_group_registry_typedescription_set_name (GnomePieGroupRegistryTypeDescription* self,
                                                        const gchar* value);
VALA_EXTERN void gnome_pie_group_registry_typedescription_set_icon (GnomePieGroupRegistryTypeDescription* self,
                                                        const gchar* value);
VALA_EXTERN void gnome_pie_group_registry_typedescription_set_description (GnomePieGroupRegistryTypeDescription* self,
                                                               const gchar* value);
VALA_EXTERN void gnome_pie_group_registry_typedescription_set_id (GnomePieGroupRegistryTypeDescription* self,
                                                      const gchar* value);
VALA_EXTERN GnomePieWindowListGroup* gnome_pie_window_list_group_new (const gchar* parent_id);
VALA_EXTERN GnomePieWindowListGroup* gnome_pie_window_list_group_construct (GType object_type,
                                                                const gchar* parent_id);
static void gnome_pie_window_list_group_set_cached_icon_name (GeeHashMap* value);
static void __lambda24_ (GnomePieWindowListGroup* self);
static void gnome_pie_window_list_group_create_actions_for_all_windows (GnomePieWindowListGroup* self);
static void ___lambda24__gtk_icon_theme_changed (GtkIconTheme* _sender,
                                          gpointer self);
static void _gnome_pie_window_list_group_create_actions_for_all_windows_wnck_screen_active_workspace_changed (WnckScreen* _sender,
                                                                                                       WnckWorkspace* previous_workspace,
                                                                                                       gpointer self);
static void gnome_pie_window_list_group_create_action (GnomePieWindowListGroup* self,
                                                WnckWindow* window);
static void _gnome_pie_window_list_group_create_action_wnck_screen_window_opened (WnckScreen* _sender,
                                                                           WnckWindow* window,
                                                                           gpointer self);
static void gnome_pie_window_list_group_remove_action (GnomePieWindowListGroup* self,
                                                WnckWindow* window);
static void _gnome_pie_window_list_group_remove_action_wnck_screen_window_closed (WnckScreen* _sender,
                                                                           WnckWindow* window,
                                                                           gpointer self);
static void gnome_pie_window_list_group_real_on_save (GnomePieActionGroup* base,
                                               xmlTextWriter* writer);
VALA_EXTERN gboolean gnome_pie_window_list_group_get_current_workspace_only (GnomePieWindowListGroup* self);
static void gnome_pie_window_list_group_real_on_load (GnomePieActionGroup* base,
                                               xmlNode* data);
VALA_EXTERN void gnome_pie_window_list_group_set_current_workspace_only (GnomePieWindowListGroup* self,
                                                             gboolean value);
VALA_EXTERN GType gnome_pie_action_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomePieAction, g_object_unref)
VALA_EXTERN GeeArrayList* gnome_pie_action_group_get_actions (GnomePieActionGroup* self);
VALA_EXTERN const gchar* gnome_pie_action_get_real_command (GnomePieAction* self);
VALA_EXTERN void gnome_pie_action_group_delete_all (GnomePieActionGroup* self);
static Block2Data* block2_data_ref (Block2Data* _data2_);
static void block2_data_unref (void * _userdata_);
VALA_EXTERN GType gnome_pie_sig_action_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomePieSigAction, g_object_unref)
static Block3Data* block3_data_ref (Block3Data* _data3_);
static void block3_data_unref (void * _userdata_);
static gchar* gnome_pie_window_list_group_get_icon_name (GnomePieWindowListGroup* self,
                                                  WnckWindow* window);
VALA_EXTERN GnomePieSigAction* gnome_pie_sig_action_new (const gchar* name,
                                             const gchar* icon,
                                             const gchar* command,
                                             gboolean is_quickaction);
VALA_EXTERN GnomePieSigAction* gnome_pie_sig_action_construct (GType object_type,
                                                   const gchar* name,
                                                   const gchar* icon,
                                                   const gchar* command,
                                                   gboolean is_quickaction);
VALA_EXTERN void gnome_pie_action_group_add_action (GnomePieActionGroup* self,
                                        GnomePieAction* new_action);
static void ___lambda25_ (Block3Data* _data3_);
VALA_EXTERN void gnome_pie_action_set_name (GnomePieAction* self,
                                const gchar* value);
static void ____lambda25__wnck_window_name_changed (WnckWindow* _sender,
                                             gpointer self);
static void ___lambda26_ (Block3Data* _data3_,
                   guint32 time_stamp);
static void ____lambda26__gnome_pie_sig_action_activated (GnomePieSigAction* _sender,
                                                   guint32 time_stamp,
                                                   gpointer self);
static GeeHashMap* gnome_pie_window_list_group_get_cached_icon_name (void);
static void gnome_pie_window_list_group_finalize (GObject * obj);
static GType gnome_pie_window_list_group_get_type_once (void);
static void _vala_gnome_pie_window_list_group_get_property (GObject * object,
                                                     guint property_id,
                                                     GValue * value,
                                                     GParamSpec * pspec);
static void _vala_gnome_pie_window_list_group_set_property (GObject * object,
                                                     guint property_id,
                                                     const GValue * value,
                                                     GParamSpec * pspec);

static inline gpointer
gnome_pie_window_list_group_get_instance_private (GnomePieWindowListGroup* self)
{
	return G_STRUCT_MEMBER_P (self, GnomePieWindowListGroup_private_offset);
}

GnomePieGroupRegistryTypeDescription*
gnome_pie_window_list_group_register (void)
{
	const gchar* _tmp0_;
	GnomePieGroupRegistryTypeDescription* description = NULL;
	GnomePieGroupRegistryTypeDescription* _tmp1_;
	GnomePieGroupRegistryTypeDescription* _tmp2_;
	GnomePieGroupRegistryTypeDescription* _tmp3_;
	GnomePieGroupRegistryTypeDescription* _tmp4_;
	GnomePieGroupRegistryTypeDescription* _tmp5_;
	GnomePieGroupRegistryTypeDescription* result;
	_tmp0_ = g_getenv ("XDG_SESSION_TYPE");
	if (g_strcmp0 (_tmp0_, "wayland") == 0) {
		g_warning ("windowListGroup.vala:40: The WindowList slice group is not supported o" \
"n Wayland.");
		result = NULL;
		return result;
	}
	_tmp1_ = gnome_pie_group_registry_typedescription_new ();
	description = _tmp1_;
	_tmp2_ = description;
	gnome_pie_group_registry_typedescription_set_name (_tmp2_, _ ("Group: Window List"));
	_tmp3_ = description;
	gnome_pie_group_registry_typedescription_set_icon (_tmp3_, "preferences-system-windows");
	_tmp4_ = description;
	gnome_pie_group_registry_typedescription_set_description (_tmp4_, _ ("Shows a Slice for each of your opened Windows. Almost like Alt-Tab."));
	_tmp5_ = description;
	gnome_pie_group_registry_typedescription_set_id (_tmp5_, "window_list");
	result = description;
	return result;
}

static gpointer
_g_object_ref0 (gpointer self)
{
	return self ? g_object_ref (self) : NULL;
}

static void
__lambda24_ (GnomePieWindowListGroup* self)
{
	GeeHashMap* _tmp0_;
	GeeHashMap* _tmp1_;
	_tmp0_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
	_tmp1_ = _tmp0_;
	gnome_pie_window_list_group_set_cached_icon_name (_tmp1_);
	_g_object_unref0 (_tmp1_);
	gnome_pie_window_list_group_create_actions_for_all_windows (self);
}

static void
___lambda24__gtk_icon_theme_changed (GtkIconTheme* _sender,
                                     gpointer self)
{
	__lambda24_ ((GnomePieWindowListGroup*) self);
}

static void
_gnome_pie_window_list_group_create_actions_for_all_windows_wnck_screen_active_workspace_changed (WnckScreen* _sender,
                                                                                                  WnckWorkspace* previous_workspace,
                                                                                                  gpointer self)
{
	gnome_pie_window_list_group_create_actions_for_all_windows ((GnomePieWindowListGroup*) self);
}

static void
_gnome_pie_window_list_group_create_action_wnck_screen_window_opened (WnckScreen* _sender,
                                                                      WnckWindow* window,
                                                                      gpointer self)
{
	gnome_pie_window_list_group_create_action ((GnomePieWindowListGroup*) self, window);
}

static void
_gnome_pie_window_list_group_remove_action_wnck_screen_window_closed (WnckScreen* _sender,
                                                                      WnckWindow* window,
                                                                      gpointer self)
{
	gnome_pie_window_list_group_remove_action ((GnomePieWindowListGroup*) self, window);
}

GnomePieWindowListGroup*
gnome_pie_window_list_group_construct (GType object_type,
                                       const gchar* parent_id)
{
	GnomePieWindowListGroup * self = NULL;
	WnckScreen* _tmp0_;
	WnckScreen* _tmp1_;
	GeeHashMap* _tmp2_;
	GeeHashMap* _tmp3_;
	GtkIconTheme* _tmp4_;
	WnckScreen* _tmp5_;
	WnckScreen* _tmp6_;
	WnckScreen* _tmp7_;
	g_return_val_if_fail (parent_id != NULL, NULL);
	self = (GnomePieWindowListGroup*) g_object_new (object_type, "parent-id", parent_id, NULL);
	_tmp0_ = wnck_screen_get_default ();
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->priv->screen);
	self->priv->screen = _tmp1_;
	_tmp2_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
	_tmp3_ = _tmp2_;
	gnome_pie_window_list_group_set_cached_icon_name (_tmp3_);
	_g_object_unref0 (_tmp3_);
	_tmp4_ = gtk_icon_theme_get_default ();
	g_signal_connect_object (_tmp4_, "changed", (GCallback) ___lambda24__gtk_icon_theme_changed, self, 0);
	_tmp5_ = self->priv->screen;
	g_signal_connect_object (_tmp5_, "active-workspace-changed", (GCallback) _gnome_pie_window_list_group_create_actions_for_all_windows_wnck_screen_active_workspace_changed, self, 0);
	_tmp6_ = self->priv->screen;
	g_signal_connect_object (_tmp6_, "window-opened", (GCallback) _gnome_pie_window_list_group_create_action_wnck_screen_window_opened, self, 0);
	_tmp7_ = self->priv->screen;
	g_signal_connect_object (_tmp7_, "window-closed", (GCallback) _gnome_pie_window_list_group_remove_action_wnck_screen_window_closed, self, 0);
	return self;
}

GnomePieWindowListGroup*
gnome_pie_window_list_group_new (const gchar* parent_id)
{
	return gnome_pie_window_list_group_construct (GNOME_PIE_TYPE_WINDOW_LIST_GROUP, parent_id);
}

static gchar*
bool_to_string (gboolean self)
{
	gchar* result;
	if (self) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup ("true");
		result = _tmp0_;
		return result;
	} else {
		gchar* _tmp1_;
		_tmp1_ = g_strdup ("false");
		result = _tmp1_;
		return result;
	}
}

static void
gnome_pie_window_list_group_real_on_save (GnomePieActionGroup* base,
                                          xmlTextWriter* writer)
{
	GnomePieWindowListGroup * self;
	gboolean _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	self = (GnomePieWindowListGroup*) base;
	g_return_if_fail (writer != NULL);
	GNOME_PIE_ACTION_GROUP_CLASS (gnome_pie_window_list_group_parent_class)->on_save (G_TYPE_CHECK_INSTANCE_CAST (self, GNOME_PIE_TYPE_ACTION_GROUP, GnomePieActionGroup), writer);
	_tmp0_ = self->priv->_current_workspace_only;
	_tmp1_ = bool_to_string (_tmp0_);
	_tmp2_ = _tmp1_;
	xmlTextWriterWriteAttribute (writer, (xmlChar*) "current_workspace_only", (xmlChar*) _tmp2_);
	_g_free0 (_tmp2_);
}

static gboolean
bool_parse (const gchar* str)
{
	gboolean result;
	g_return_val_if_fail (str != NULL, FALSE);
	if (g_strcmp0 (str, "true") == 0) {
		result = TRUE;
		return result;
	} else {
		result = FALSE;
		return result;
	}
}

static void
gnome_pie_window_list_group_real_on_load (GnomePieActionGroup* base,
                                          xmlNode* data)
{
	GnomePieWindowListGroup * self;
	self = (GnomePieWindowListGroup*) base;
	{
		xmlAttr* attribute = NULL;
		xmlAttr* _tmp0_;
		_tmp0_ = data->properties;
		attribute = _tmp0_;
		{
			gboolean _tmp1_ = FALSE;
			_tmp1_ = TRUE;
			while (TRUE) {
				xmlAttr* _tmp4_;
				gchar* attr_name = NULL;
				xmlAttr* _tmp5_;
				const gchar* _tmp6_;
				gchar* _tmp7_;
				gchar* attr_content = NULL;
				xmlAttr* _tmp8_;
				xmlNode* _tmp9_;
				const gchar* _tmp10_;
				gchar* _tmp11_;
				const gchar* _tmp12_;
				if (!_tmp1_) {
					xmlAttr* _tmp2_;
					xmlAttr* _tmp3_;
					_tmp2_ = attribute;
					_tmp3_ = _tmp2_->next;
					attribute = _tmp3_;
				}
				_tmp1_ = FALSE;
				_tmp4_ = attribute;
				if (!(_tmp4_ != NULL)) {
					break;
				}
				_tmp5_ = attribute;
				_tmp6_ = _tmp5_->name;
				_tmp7_ = g_utf8_strdown (_tmp6_, (gssize) -1);
				attr_name = _tmp7_;
				_tmp8_ = attribute;
				_tmp9_ = _tmp8_->children;
				_tmp10_ = _tmp9_->content;
				_tmp11_ = g_strdup (_tmp10_);
				attr_content = _tmp11_;
				_tmp12_ = attr_name;
				if (g_strcmp0 (_tmp12_, "current_workspace_only") == 0) {
					const gchar* _tmp13_;
					_tmp13_ = attr_content;
					gnome_pie_window_list_group_set_current_workspace_only (self, bool_parse (_tmp13_));
				}
				_g_free0 (attr_content);
				_g_free0 (attr_name);
			}
		}
	}
}

static guint64
uint64_parse (const gchar* str,
              guint _base)
{
	guint64 result;
	g_return_val_if_fail (str != NULL, 0ULL);
	result = g_ascii_strtoull (str, NULL, _base);
	return result;
}

static void
gnome_pie_window_list_group_remove_action (GnomePieWindowListGroup* self,
                                           WnckWindow* window)
{
	gboolean _tmp0_ = FALSE;
	g_return_if_fail (self != NULL);
	g_return_if_fail (window != NULL);
	if (!wnck_window_is_skip_pager (window)) {
		_tmp0_ = !wnck_window_is_skip_tasklist (window);
	} else {
		_tmp0_ = FALSE;
	}
	if (_tmp0_) {
		{
			GeeArrayList* _action_list = NULL;
			GeeArrayList* _tmp1_;
			GeeArrayList* _tmp2_;
			gint _action_size = 0;
			GeeArrayList* _tmp3_;
			gint _tmp4_;
			gint _tmp5_;
			gint _action_index = 0;
			_tmp1_ = gnome_pie_action_group_get_actions ((GnomePieActionGroup*) self);
			_tmp2_ = _tmp1_;
			_action_list = _tmp2_;
			_tmp3_ = _action_list;
			_tmp4_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp3_);
			_tmp5_ = _tmp4_;
			_action_size = _tmp5_;
			_action_index = -1;
			while (TRUE) {
				gint _tmp6_;
				gint _tmp7_;
				GnomePieAction* action = NULL;
				GeeArrayList* _tmp8_;
				gpointer _tmp9_;
				GnomePieAction* _tmp10_;
				const gchar* _tmp11_;
				const gchar* _tmp12_;
				_action_index = _action_index + 1;
				_tmp6_ = _action_index;
				_tmp7_ = _action_size;
				if (!(_tmp6_ < _tmp7_)) {
					break;
				}
				_tmp8_ = _action_list;
				_tmp9_ = gee_abstract_list_get ((GeeAbstractList*) _tmp8_, _action_index);
				action = (GnomePieAction*) _tmp9_;
				_tmp10_ = action;
				_tmp11_ = gnome_pie_action_get_real_command (_tmp10_);
				_tmp12_ = _tmp11_;
				if (((guint64) wnck_window_get_xid (window)) == uint64_parse (_tmp12_, (guint) 0)) {
					GeeArrayList* _tmp13_;
					GeeArrayList* _tmp14_;
					GnomePieAction* _tmp15_;
					_tmp13_ = gnome_pie_action_group_get_actions ((GnomePieActionGroup*) self);
					_tmp14_ = _tmp13_;
					_tmp15_ = action;
					gee_abstract_collection_remove ((GeeAbstractCollection*) _tmp14_, _tmp15_);
					_g_object_unref0 (action);
					break;
				}
				_g_object_unref0 (action);
			}
		}
	}
}

static void
gnome_pie_window_list_group_create_actions_for_all_windows (GnomePieWindowListGroup* self)
{
	WnckScreen* _tmp0_;
	GList* _tmp1_;
	g_return_if_fail (self != NULL);
	gnome_pie_action_group_delete_all ((GnomePieActionGroup*) self);
	_tmp0_ = self->priv->screen;
	_tmp1_ = wnck_screen_get_windows (_tmp0_);
	{
		GList* window_collection = NULL;
		GList* window_it = NULL;
		window_collection = _tmp1_;
		for (window_it = window_collection; window_it != NULL; window_it = window_it->next) {
			WnckWindow* _tmp2_;
			WnckWindow* window = NULL;
			_tmp2_ = _g_object_ref0 ((WnckWindow*) window_it->data);
			window = _tmp2_;
			{
				WnckWindow* _tmp3_;
				_tmp3_ = window;
				gnome_pie_window_list_group_create_action (self, _tmp3_);
				_g_object_unref0 (window);
			}
		}
	}
}

static Block2Data*
block2_data_ref (Block2Data* _data2_)
{
	g_atomic_int_inc (&_data2_->_ref_count_);
	return _data2_;
}

static void
block2_data_unref (void * _userdata_)
{
	Block2Data* _data2_;
	_data2_ = (Block2Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data2_->_ref_count_)) {
		GnomePieWindowListGroup* self;
		self = _data2_->self;
		_g_object_unref0 (_data2_->window);
		_g_object_unref0 (self);
		g_slice_free (Block2Data, _data2_);
	}
}

static Block3Data*
block3_data_ref (Block3Data* _data3_)
{
	g_atomic_int_inc (&_data3_->_ref_count_);
	return _data3_;
}

static void
block3_data_unref (void * _userdata_)
{
	Block3Data* _data3_;
	_data3_ = (Block3Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data3_->_ref_count_)) {
		GnomePieWindowListGroup* self;
		self = _data3_->_data2_->self;
		_g_object_unref0 (_data3_->action);
		block2_data_unref (_data3_->_data2_);
		_data3_->_data2_ = NULL;
		g_slice_free (Block3Data, _data3_);
	}
}

static glong
string_strnlen (gchar* str,
                glong maxlen)
{
	gchar* end = NULL;
	gchar* _tmp0_;
	gchar* _tmp1_;
	glong result;
	_tmp0_ = memchr (str, 0, (gsize) maxlen);
	end = _tmp0_;
	_tmp1_ = end;
	if (_tmp1_ == NULL) {
		result = maxlen;
		return result;
	} else {
		gchar* _tmp2_;
		_tmp2_ = end;
		result = (glong) (_tmp2_ - str);
		return result;
	}
}

static gchar*
string_substring (const gchar* self,
                  glong offset,
                  glong len)
{
	glong string_length = 0L;
	gboolean _tmp0_ = FALSE;
	gchar* _tmp3_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	if (offset >= ((glong) 0)) {
		_tmp0_ = len >= ((glong) 0);
	} else {
		_tmp0_ = FALSE;
	}
	if (_tmp0_) {
		string_length = string_strnlen ((gchar*) self, offset + len);
	} else {
		gint _tmp1_;
		gint _tmp2_;
		_tmp1_ = strlen (self);
		_tmp2_ = _tmp1_;
		string_length = (glong) _tmp2_;
	}
	if (offset < ((glong) 0)) {
		offset = string_length + offset;
		g_return_val_if_fail (offset >= ((glong) 0), NULL);
	} else {
		g_return_val_if_fail (offset <= string_length, NULL);
	}
	if (len < ((glong) 0)) {
		len = string_length - offset;
	}
	g_return_val_if_fail ((offset + len) <= string_length, NULL);
	_tmp3_ = g_strndup (((gchar*) self) + offset, (gsize) len);
	result = _tmp3_;
	return result;
}

static void
___lambda25_ (Block3Data* _data3_)
{
	Block2Data* _data2_;
	GnomePieWindowListGroup* self;
	GnomePieSigAction* _tmp0_;
	const gchar* _tmp1_;
	_data2_ = _data3_->_data2_;
	self = _data2_->self;
	_tmp0_ = _data3_->action;
	_tmp1_ = wnck_window_get_name (_data2_->window);
	gnome_pie_action_set_name ((GnomePieAction*) _tmp0_, _tmp1_);
}

static void
____lambda25__wnck_window_name_changed (WnckWindow* _sender,
                                        gpointer self)
{
	___lambda25_ (self);
}

static void
___lambda26_ (Block3Data* _data3_,
              guint32 time_stamp)
{
	Block2Data* _data2_;
	GnomePieWindowListGroup* self;
	WnckWorkspace* _tmp0_;
	_data2_ = _data3_->_data2_;
	self = _data2_->self;
	_tmp0_ = wnck_window_get_workspace (_data2_->window);
	if (_tmp0_ != NULL) {
		WnckWorkspace* _tmp1_;
		WnckScreen* _tmp2_;
		WnckWorkspace* _tmp3_;
		_tmp1_ = wnck_window_get_workspace (_data2_->window);
		_tmp2_ = wnck_window_get_screen (_data2_->window);
		_tmp3_ = wnck_screen_get_active_workspace (_tmp2_);
		if (_tmp1_ != _tmp3_) {
			WnckWorkspace* _tmp4_;
			_tmp4_ = wnck_window_get_workspace (_data2_->window);
			wnck_workspace_activate (_tmp4_, time_stamp);
		}
	}
	if (wnck_window_is_minimized (_data2_->window)) {
		wnck_window_unminimize (_data2_->window, time_stamp);
	}
	wnck_window_activate_transient (_data2_->window, time_stamp);
}

static void
____lambda26__gnome_pie_sig_action_activated (GnomePieSigAction* _sender,
                                              guint32 time_stamp,
                                              gpointer self)
{
	___lambda26_ (self, time_stamp);
}

static void
gnome_pie_window_list_group_create_action (GnomePieWindowListGroup* self,
                                           WnckWindow* window)
{
	Block2Data* _data2_;
	WnckWindow* _tmp0_;
	gboolean _tmp1_ = FALSE;
	gboolean _tmp2_ = FALSE;
	g_return_if_fail (self != NULL);
	g_return_if_fail (window != NULL);
	_data2_ = g_slice_new0 (Block2Data);
	_data2_->_ref_count_ = 1;
	_data2_->self = g_object_ref (self);
	_tmp0_ = _g_object_ref0 (window);
	_g_object_unref0 (_data2_->window);
	_data2_->window = _tmp0_;
	if (!wnck_window_is_skip_pager (_data2_->window)) {
		_tmp2_ = !wnck_window_is_skip_tasklist (_data2_->window);
	} else {
		_tmp2_ = FALSE;
	}
	if (_tmp2_) {
		gboolean _tmp3_ = FALSE;
		gboolean _tmp4_;
		_tmp4_ = self->priv->_current_workspace_only;
		if (!_tmp4_) {
			_tmp3_ = TRUE;
		} else {
			gboolean _tmp5_ = FALSE;
			WnckWorkspace* _tmp6_;
			_tmp6_ = wnck_window_get_workspace (_data2_->window);
			if (_tmp6_ != NULL) {
				WnckWorkspace* _tmp7_;
				WnckScreen* _tmp8_;
				WnckWorkspace* _tmp9_;
				_tmp7_ = wnck_window_get_workspace (_data2_->window);
				_tmp8_ = self->priv->screen;
				_tmp9_ = wnck_screen_get_active_workspace (_tmp8_);
				_tmp5_ = _tmp7_ == _tmp9_;
			} else {
				_tmp5_ = FALSE;
			}
			_tmp3_ = _tmp5_;
		}
		_tmp1_ = _tmp3_;
	} else {
		_tmp1_ = FALSE;
	}
	if (_tmp1_) {
		Block3Data* _data3_;
		gchar* name = NULL;
		const gchar* _tmp10_;
		gchar* _tmp11_;
		gchar* icon_name = NULL;
		gchar* _tmp12_;
		gchar* xid = NULL;
		gchar* _tmp13_;
		const gchar* _tmp14_;
		gint _tmp15_;
		gint _tmp16_;
		const gchar* _tmp21_;
		const gchar* _tmp22_;
		const gchar* _tmp23_;
		GnomePieSigAction* _tmp24_;
		GnomePieSigAction* _tmp25_;
		GnomePieSigAction* _tmp26_;
		_data3_ = g_slice_new0 (Block3Data);
		_data3_->_ref_count_ = 1;
		_data3_->_data2_ = block2_data_ref (_data2_);
		_tmp10_ = wnck_window_get_name (_data2_->window);
		_tmp11_ = g_strdup (_tmp10_);
		name = _tmp11_;
		_tmp12_ = gnome_pie_window_list_group_get_icon_name (self, _data2_->window);
		icon_name = _tmp12_;
		_tmp13_ = g_strdup_printf ("%lu", wnck_window_get_xid (_data2_->window));
		xid = _tmp13_;
		_tmp14_ = name;
		_tmp15_ = strlen (_tmp14_);
		_tmp16_ = _tmp15_;
		if (_tmp16_ > 30) {
			const gchar* _tmp17_;
			gchar* _tmp18_;
			gchar* _tmp19_;
			gchar* _tmp20_;
			_tmp17_ = name;
			_tmp18_ = string_substring (_tmp17_, (glong) 0, (glong) 30);
			_tmp19_ = _tmp18_;
			_tmp20_ = g_strconcat (_tmp19_, "...", NULL);
			_g_free0 (name);
			name = _tmp20_;
			_g_free0 (_tmp19_);
		}
		_tmp21_ = name;
		_tmp22_ = icon_name;
		_tmp23_ = xid;
		_tmp24_ = gnome_pie_sig_action_new (_tmp21_, _tmp22_, _tmp23_, FALSE);
		_data3_->action = _tmp24_;
		_tmp25_ = _data3_->action;
		gnome_pie_action_group_add_action ((GnomePieActionGroup*) self, (GnomePieAction*) _tmp25_);
		g_signal_connect_data (_data2_->window, "name-changed", (GCallback) ____lambda25__wnck_window_name_changed, block3_data_ref (_data3_), (GClosureNotify) block3_data_unref, 0);
		_tmp26_ = _data3_->action;
		g_signal_connect_data (_tmp26_, "activated", (GCallback) ____lambda26__gnome_pie_sig_action_activated, block3_data_ref (_data3_), (GClosureNotify) block3_data_unref, 0);
		_g_free0 (xid);
		_g_free0 (icon_name);
		_g_free0 (name);
		block3_data_unref (_data3_);
		_data3_ = NULL;
	}
	block2_data_unref (_data2_);
	_data2_ = NULL;
}

static gchar*
gnome_pie_window_list_group_get_icon_name (GnomePieWindowListGroup* self,
                                           WnckWindow* window)
{
	gchar* icon_name = NULL;
	gchar* _tmp0_;
	const gchar* _tmp1_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (window != NULL, NULL);
	_tmp0_ = g_strdup ("");
	icon_name = _tmp0_;
	_tmp1_ = icon_name;
	if (g_strcmp0 (_tmp1_, "") == 0) {
		WnckApplication* application = NULL;
		WnckApplication* _tmp2_;
		WnckApplication* _tmp3_;
		WnckApplication* _tmp4_;
		const gchar* _tmp5_;
		gchar* _tmp6_;
		_tmp2_ = wnck_window_get_application (window);
		_tmp3_ = _g_object_ref0 (_tmp2_);
		application = _tmp3_;
		_tmp4_ = application;
		_tmp5_ = wnck_application_get_icon_name (_tmp4_);
		_tmp6_ = g_utf8_strdown (_tmp5_, (gssize) -1);
		_g_free0 (icon_name);
		icon_name = _tmp6_;
		_g_object_unref0 (application);
	}
	result = icon_name;
	return result;
}

gboolean
gnome_pie_window_list_group_get_current_workspace_only (GnomePieWindowListGroup* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_current_workspace_only;
	return result;
}

void
gnome_pie_window_list_group_set_current_workspace_only (GnomePieWindowListGroup* self,
                                                        gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = gnome_pie_window_list_group_get_current_workspace_only (self);
	if (old_value != value) {
		self->priv->_current_workspace_only = value;
		g_object_notify_by_pspec ((GObject *) self, gnome_pie_window_list_group_properties[GNOME_PIE_WINDOW_LIST_GROUP_CURRENT_WORKSPACE_ONLY_PROPERTY]);
	}
}

static GeeHashMap*
gnome_pie_window_list_group_get_cached_icon_name (void)
{
	GeeHashMap* result;
	GeeHashMap* _tmp0_;
	_tmp0_ = gnome_pie_window_list_group__cached_icon_name;
	result = _tmp0_;
	return result;
}

static void
gnome_pie_window_list_group_set_cached_icon_name (GeeHashMap* value)
{
	GeeHashMap* _tmp0_;
	_tmp0_ = _g_object_ref0 (value);
	_g_object_unref0 (gnome_pie_window_list_group__cached_icon_name);
	gnome_pie_window_list_group__cached_icon_name = _tmp0_;
}

static void
gnome_pie_window_list_group_class_init (GnomePieWindowListGroupClass * klass,
                                        gpointer klass_data)
{
	gnome_pie_window_list_group_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &GnomePieWindowListGroup_private_offset);
	((GnomePieActionGroupClass *) klass)->on_save = (void (*) (GnomePieActionGroup*, xmlTextWriter*)) gnome_pie_window_list_group_real_on_save;
	((GnomePieActionGroupClass *) klass)->on_load = (void (*) (GnomePieActionGroup*, xmlNode*)) gnome_pie_window_list_group_real_on_load;
	G_OBJECT_CLASS (klass)->get_property = _vala_gnome_pie_window_list_group_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_gnome_pie_window_list_group_set_property;
	G_OBJECT_CLASS (klass)->finalize = gnome_pie_window_list_group_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), GNOME_PIE_WINDOW_LIST_GROUP_CURRENT_WORKSPACE_ONLY_PROPERTY, gnome_pie_window_list_group_properties[GNOME_PIE_WINDOW_LIST_GROUP_CURRENT_WORKSPACE_ONLY_PROPERTY] = g_param_spec_boolean ("current-workspace-only", "current-workspace-only", "current-workspace-only", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
gnome_pie_window_list_group_instance_init (GnomePieWindowListGroup * self,
                                           gpointer klass)
{
	self->priv = gnome_pie_window_list_group_get_instance_private (self);
	self->priv->_current_workspace_only = FALSE;
}

static void
gnome_pie_window_list_group_finalize (GObject * obj)
{
	GnomePieWindowListGroup * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GNOME_PIE_TYPE_WINDOW_LIST_GROUP, GnomePieWindowListGroup);
	_g_object_unref0 (self->priv->screen);
	G_OBJECT_CLASS (gnome_pie_window_list_group_parent_class)->finalize (obj);
}

static GType
gnome_pie_window_list_group_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (GnomePieWindowListGroupClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gnome_pie_window_list_group_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GnomePieWindowListGroup), 0, (GInstanceInitFunc) gnome_pie_window_list_group_instance_init, NULL };
	GType gnome_pie_window_list_group_type_id;
	gnome_pie_window_list_group_type_id = g_type_register_static (GNOME_PIE_TYPE_ACTION_GROUP, "GnomePieWindowListGroup", &g_define_type_info, 0);
	GnomePieWindowListGroup_private_offset = g_type_add_instance_private (gnome_pie_window_list_group_type_id, sizeof (GnomePieWindowListGroupPrivate));
	return gnome_pie_window_list_group_type_id;
}

GType
gnome_pie_window_list_group_get_type (void)
{
	static volatile gsize gnome_pie_window_list_group_type_id__once = 0;
	if (g_once_init_enter (&gnome_pie_window_list_group_type_id__once)) {
		GType gnome_pie_window_list_group_type_id;
		gnome_pie_window_list_group_type_id = gnome_pie_window_list_group_get_type_once ();
		g_once_init_leave (&gnome_pie_window_list_group_type_id__once, gnome_pie_window_list_group_type_id);
	}
	return gnome_pie_window_list_group_type_id__once;
}

static void
_vala_gnome_pie_window_list_group_get_property (GObject * object,
                                                guint property_id,
                                                GValue * value,
                                                GParamSpec * pspec)
{
	GnomePieWindowListGroup * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GNOME_PIE_TYPE_WINDOW_LIST_GROUP, GnomePieWindowListGroup);
	switch (property_id) {
		case GNOME_PIE_WINDOW_LIST_GROUP_CURRENT_WORKSPACE_ONLY_PROPERTY:
		g_value_set_boolean (value, gnome_pie_window_list_group_get_current_workspace_only (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_gnome_pie_window_list_group_set_property (GObject * object,
                                                guint property_id,
                                                const GValue * value,
                                                GParamSpec * pspec)
{
	GnomePieWindowListGroup * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GNOME_PIE_TYPE_WINDOW_LIST_GROUP, GnomePieWindowListGroup);
	switch (property_id) {
		case GNOME_PIE_WINDOW_LIST_GROUP_CURRENT_WORKSPACE_ONLY_PROPERTY:
		gnome_pie_window_list_group_set_current_workspace_only (self, g_value_get_boolean (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

