summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberts Muktupāvels <alberts.muktupavels@gmail.com>2021-05-11 22:30:10 +0300
committerAlberts Muktupāvels <alberts.muktupavels@gmail.com>2021-05-31 15:47:22 +0300
commit8260794f4d73219d026c53b6d57244ddf52d34a6 (patch)
tree80e13f811432705717c749d96bcb14add36d58b2
parentbd8ab37c271c065c0bcd09362222ca37f05aedf7 (diff)
downloadlibwnck-8260794f4d73219d026c53b6d57244ddf52d34a6.tar.gz
util: move default icon size to WnckHandle
In future this will allow to have multiple plugins/applets in same process with different icon sizes.
-rw-r--r--libwnck/util.c12
-rw-r--r--libwnck/wnck-handle-private.h15
-rw-r--r--libwnck/wnck-handle.c31
3 files changed, 48 insertions, 10 deletions
diff --git a/libwnck/util.c b/libwnck/util.c
index b3d8750..aea7d26 100644
--- a/libwnck/util.c
+++ b/libwnck/util.c
@@ -680,8 +680,6 @@ _wnck_get_client_type (void)
return _wnck_handle_get_client_type (_wnck_get_handle ());
}
-static gsize default_icon_size = WNCK_DEFAULT_ICON_SIZE;
-
/**
* wnck_set_default_icon_size:
* @size: the default size for windows and application standard icons.
@@ -694,17 +692,15 @@ static gsize default_icon_size = WNCK_DEFAULT_ICON_SIZE;
void
wnck_set_default_icon_size (gsize size)
{
- default_icon_size = size;
+ _wnck_handle_set_default_icon_size (_wnck_get_handle (), size);
}
gsize
_wnck_get_default_icon_size (void)
{
- return default_icon_size;
+ return _wnck_handle_get_default_icon_size (_wnck_get_handle ());
}
-static gsize default_mini_icon_size = WNCK_DEFAULT_MINI_ICON_SIZE;
-
/**
* wnck_set_default_mini_icon_size:
* @size: the default size for windows and application mini icons.
@@ -721,7 +717,7 @@ wnck_set_default_mini_icon_size (gsize size)
WnckScreen *screen;
GList *l;
- default_mini_icon_size = size;
+ _wnck_handle_set_default_mini_icon_size (_wnck_get_handle (), size);
default_screen = DefaultScreen (_wnck_get_default_display ());
screen = _wnck_screen_get_existing (default_screen);
@@ -745,7 +741,7 @@ wnck_set_default_mini_icon_size (gsize size)
gsize
_wnck_get_default_mini_icon_size (void)
{
- return default_mini_icon_size;
+ return _wnck_handle_get_default_mini_icon_size (_wnck_get_handle ());
}
/**
diff --git a/libwnck/wnck-handle-private.h b/libwnck/wnck-handle-private.h
index 2449c74..f277661 100644
--- a/libwnck/wnck-handle-private.h
+++ b/libwnck/wnck-handle-private.h
@@ -24,9 +24,20 @@ G_BEGIN_DECLS
typedef struct _WnckHandle WnckHandle;
-WnckHandle *_wnck_handle_new (WnckClientType client_type);
+WnckHandle *_wnck_handle_new (WnckClientType client_type);
-WnckClientType _wnck_handle_get_client_type (WnckHandle *self);
+WnckClientType _wnck_handle_get_client_type (WnckHandle *self);
+
+void _wnck_handle_set_default_icon_size (WnckHandle *self,
+ gsize icon_size);
+
+gsize _wnck_handle_get_default_icon_size (WnckHandle *self);
+
+
+void _wnck_handle_set_default_mini_icon_size (WnckHandle *self,
+ gsize icon_size);
+
+gsize _wnck_handle_get_default_mini_icon_size (WnckHandle *self);
G_END_DECLS
diff --git a/libwnck/wnck-handle.c b/libwnck/wnck-handle.c
index cc4771a..fd61761 100644
--- a/libwnck/wnck-handle.c
+++ b/libwnck/wnck-handle.c
@@ -28,6 +28,9 @@ struct _WnckHandle
GObject parent;
WnckClientType client_type;
+
+ gsize default_icon_size;
+ gsize default_mini_icon_size;
};
enum
@@ -120,6 +123,8 @@ wnck_handle_class_init (WnckHandleClass *self_class)
static void
wnck_handle_init (WnckHandle *self)
{
+ self->default_icon_size = WNCK_DEFAULT_ICON_SIZE;
+ self->default_mini_icon_size = WNCK_DEFAULT_MINI_ICON_SIZE;
}
WnckHandle
@@ -135,3 +140,29 @@ _wnck_handle_get_client_type (WnckHandle *self)
{
return self->client_type;
}
+
+void
+_wnck_handle_set_default_icon_size (WnckHandle *self,
+ gsize icon_size)
+{
+ self->default_icon_size = icon_size;
+}
+
+gsize
+_wnck_handle_get_default_icon_size (WnckHandle *self)
+{
+ return self->default_icon_size;
+}
+
+void
+_wnck_handle_set_default_mini_icon_size (WnckHandle *self,
+ gsize icon_size)
+{
+ self->default_mini_icon_size = icon_size;
+}
+
+gsize
+_wnck_handle_get_default_mini_icon_size (WnckHandle *self)
+{
+ return self->default_mini_icon_size;
+}