summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberts Muktupāvels <alberts.muktupavels@gmail.com>2019-08-20 21:21:31 +0300
committerAlberts Muktupāvels <alberts.muktupavels@gmail.com>2019-09-10 18:46:58 +0300
commit78d51b3a1a5576cdf6558cd8f54ee6bae71acfd5 (patch)
tree315bef05a32775c5ab0c16d511df21b89c93c477
parentfcb5eefbea6c31947a8f0dfcb93f9ca5fed5853f (diff)
downloadlibwnck-78d51b3a1a5576cdf6558cd8f54ee6bae71acfd5.tar.gz
class-group: add WnckScreen to private struct
-rw-r--r--libwnck/class-group.c7
-rw-r--r--libwnck/private.h3
-rw-r--r--libwnck/screen.c2
3 files changed, 9 insertions, 3 deletions
diff --git a/libwnck/class-group.c b/libwnck/class-group.c
index 4b658d8..72513b8 100644
--- a/libwnck/class-group.c
+++ b/libwnck/class-group.c
@@ -50,6 +50,8 @@
/* Private part of the WnckClassGroup structure */
struct _WnckClassGroupPrivate {
+ WnckScreen *screen;
+
char *res_class;
char *name;
GList *windows;
@@ -220,6 +222,7 @@ wnck_class_group_get (const char *id)
/**
* _wnck_class_group_create:
+ * @screen: a #WnckScreen.
* @res_class: name of the resource class for the group.
*
* Creates a new WnckClassGroup with the specified resource class name. If
@@ -230,7 +233,8 @@ wnck_class_group_get (const char *id)
* matches the @res_class.
**/
WnckClassGroup *
-_wnck_class_group_create (const char *res_class)
+_wnck_class_group_create (WnckScreen *screen,
+ const char *res_class)
{
WnckClassGroup *class_group;
@@ -242,6 +246,7 @@ _wnck_class_group_create (const char *res_class)
NULL);
class_group = g_object_new (WNCK_TYPE_CLASS_GROUP, NULL);
+ class_group->priv->screen = screen;
class_group->priv->res_class = g_strdup (res_class ? res_class : "");
diff --git a/libwnck/private.h b/libwnck/private.h
index 1122f34..492fd2c 100644
--- a/libwnck/private.h
+++ b/libwnck/private.h
@@ -95,8 +95,9 @@ void _wnck_application_destroy (WnckApplication *app);
void _wnck_application_load_icons (WnckApplication *app);
void _wnck_application_shutdown_all (void);
+WnckClassGroup *_wnck_class_group_create (WnckScreen *screen,
+ const char *res_class);
-WnckClassGroup* _wnck_class_group_create (const char *res_class);
void _wnck_class_group_destroy (WnckClassGroup *class_group);
void _wnck_class_group_add_window (WnckClassGroup *class_group,
WnckWindow *window);
diff --git a/libwnck/screen.c b/libwnck/screen.c
index 96325a1..48e7c77 100644
--- a/libwnck/screen.c
+++ b/libwnck/screen.c
@@ -1493,7 +1493,7 @@ update_client_list (WnckScreen *screen)
class_group = wnck_class_group_get (res_class);
if (class_group == NULL)
{
- class_group = _wnck_class_group_create (res_class);
+ class_group = _wnck_class_group_create (screen, res_class);
created_class_groups = g_list_prepend (created_class_groups, class_group);
}