diff options
author | Thomas Vander Stichele <thomas@apestaart.org> | 2002-05-13 02:33:17 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2002-05-13 02:33:17 +0000 |
commit | 2279bfb42af210e2a6ca750436d3c13d2775510e (patch) | |
tree | cf871781704097d503a0884ecf613cb446e3258b /libwnck | |
parent | ce47e1b14bc3023c3e0f6708fab5f58dccb57cff (diff) | |
download | libwnck-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.c | 28 | ||||
-rw-r--r-- | libwnck/tasklist.h | 3 | ||||
-rw-r--r-- | libwnck/test-tasklist.c | 2 |
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); |