summaryrefslogtreecommitdiff
path: root/libwnck
diff options
context:
space:
mode:
authorThomas Vander Stichele <thomas@apestaart.org>2002-05-13 02:33:17 +0000
committerAlexander Larsson <alexl@src.gnome.org>2002-05-13 02:33:17 +0000
commit2279bfb42af210e2a6ca750436d3c13d2775510e (patch)
treecf871781704097d503a0884ecf613cb446e3258b /libwnck
parentce47e1b14bc3023c3e0f6708fab5f58dccb57cff (diff)
downloadlibwnck-2279bfb42af210e2a6ca750436d3c13d2775510e.tar.gz
implemented minimum_width which can be set from applets to force a minimum
2002-05-11 Thomas Vander Stichele <thomas@apestaart.org> * libwnck/tasklist.c: implemented minimum_width which can be set from applets to force a minimum width of the tasklist applet (see gnome-panel/applets/gen_util/tasklist.c)
Diffstat (limited to 'libwnck')
-rw-r--r--libwnck/tasklist.c28
-rw-r--r--libwnck/tasklist.h3
-rw-r--r--libwnck/test-tasklist.c2
3 files changed, 31 insertions, 2 deletions
diff --git a/libwnck/tasklist.c b/libwnck/tasklist.c
index 33f58ee..d9e2bf1 100644
--- a/libwnck/tasklist.c
+++ b/libwnck/tasklist.c
@@ -123,6 +123,8 @@ struct _WnckTasklistPrivate
int *size_hints;
int size_hints_len;
+
+ gint minimum_width;
};
@@ -360,6 +362,8 @@ wnck_tasklist_init (WnckTasklist *tasklist)
tasklist->priv->grouping = WNCK_TASKLIST_AUTO_GROUP;
tasklist->priv->grouping_limit = DEFAULT_GROUPING_LIMIT;
+
+ tasklist->priv->minimum_width = DEFAULT_WIDTH;
}
static void
@@ -470,6 +474,28 @@ wnck_tasklist_set_grouping_limit (WnckTasklist *tasklist,
gtk_widget_queue_resize (GTK_WIDGET (tasklist));
}
+/* set the minimum width */
+void
+wnck_tasklist_set_minimum_width (WnckTasklist *tasklist, gint size)
+{
+ g_return_if_fail (WNCK_IS_TASKLIST (tasklist));
+
+ if (tasklist->priv->minimum_width == size)
+ return;
+
+ tasklist->priv->minimum_width = size;
+ gtk_widget_queue_resize (GTK_WIDGET (tasklist));
+}
+
+/* get the minimum width */
+gint
+wnck_tasklist_get_minimum_width (WnckTasklist *tasklist)
+{
+ g_return_val_if_fail (WNCK_IS_TASKLIST (tasklist), 0);
+
+ return tasklist->priv->minimum_width;
+}
+
/* returns the maximal possible button width (i.e. if you
* don't want to stretch the buttons to fill the alloctions
* the width can be smaller) */
@@ -645,7 +671,7 @@ wnck_tasklist_size_request (GtkWidget *widget,
gtk_widget_get_size_request (widget, &u_width, &u_height);
- requisition->width = DEFAULT_WIDTH;
+ requisition->width = tasklist->priv->minimum_width;
requisition->height = DEFAULT_HEIGHT;
if (u_height != -1)
diff --git a/libwnck/tasklist.h b/libwnck/tasklist.h
index 6fc8b8c..a52ebbb 100644
--- a/libwnck/tasklist.h
+++ b/libwnck/tasklist.h
@@ -71,6 +71,9 @@ void wnck_tasklist_set_grouping_limit (WnckTasklist *tasklist,
gint limit);
void wnck_tasklist_set_include_all_workspaces (WnckTasklist *tasklist,
gboolean include_all_workspaces);
+void wnck_tasklist_set_minimum_width (WnckTasklist *tasklist, gint size);
+gint wnck_tasklist_get_minimum_width (WnckTasklist *tasklist);
+
G_END_DECLS
#endif /* WNCK_TASKLIST_H */
diff --git a/libwnck/test-tasklist.c b/libwnck/test-tasklist.c
index eeb70d4..5d781b1 100644
--- a/libwnck/test-tasklist.c
+++ b/libwnck/test-tasklist.c
@@ -32,7 +32,7 @@ main (int argc, char **argv)
tasklist = wnck_tasklist_new (screen);
- wnck_tasklist_set_grouping (tasklist, WNCK_TASKLIST_AUTO_GROUP);
+ wnck_tasklist_set_grouping (WNCK_TASKLIST (tasklist), WNCK_TASKLIST_AUTO_GROUP);
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
gtk_container_add (GTK_CONTAINER (win), frame);