forked from pool/libwnck
60 lines
2.0 KiB
Diff
60 lines
2.0 KiB
Diff
|
This fixes a problem of overaggressively grouping windows in the
|
||
|
tasklist with our default size 24 panel. See bnc #148840 for
|
||
|
details and a screenshot.
|
||
|
|
||
|
Index: libwnck/tasklist.c
|
||
|
===================================================================
|
||
|
RCS file: /cvs/gnome/libwnck/libwnck/tasklist.c,v
|
||
|
retrieving revision 1.87
|
||
|
diff -u -p -u -r1.87 tasklist.c
|
||
|
--- libwnck/tasklist.c 3 Oct 2005 19:42:46 -0000 1.87
|
||
|
+++ libwnck/tasklist.c 26 Apr 2006 21:45:51 -0000
|
||
|
@@ -185,6 +185,9 @@ struct _WnckTasklistPrivate
|
||
|
gint minimum_width;
|
||
|
gint minimum_height;
|
||
|
|
||
|
+ gint last_width;
|
||
|
+ gint last_height;
|
||
|
+
|
||
|
WnckLoadIconFunction icon_loader;
|
||
|
void *icon_loader_data;
|
||
|
GDestroyNotify free_icon_loader_data;
|
||
|
@@ -694,6 +697,9 @@ wnck_tasklist_init (WnckTasklist *taskli
|
||
|
tasklist->priv->minimum_width = DEFAULT_WIDTH;
|
||
|
tasklist->priv->minimum_height = DEFAULT_HEIGHT;
|
||
|
|
||
|
+ tasklist->priv->last_width = -1;
|
||
|
+ tasklist->priv->last_height = -1;
|
||
|
+
|
||
|
tasklist->priv->idle_callback_tag = 0;
|
||
|
|
||
|
tasklist->priv->monitor_num = -1;
|
||
|
@@ -1170,8 +1176,15 @@ wnck_tasklist_size_request (GtkWidget
|
||
|
requisition->width = tasklist->priv->minimum_width;
|
||
|
requisition->height = tasklist->priv->minimum_height;
|
||
|
|
||
|
- fake_allocation.width = requisition->width;
|
||
|
- fake_allocation.height = requisition->height;
|
||
|
+ if (tasklist->priv->last_width != -1)
|
||
|
+ fake_allocation.width = tasklist->priv->last_width;
|
||
|
+ else
|
||
|
+ fake_allocation.width = requisition->width;
|
||
|
+
|
||
|
+ if (tasklist->priv->last_height != -1)
|
||
|
+ fake_allocation.height = tasklist->priv->last_height;
|
||
|
+ else
|
||
|
+ fake_allocation.height = requisition->height;
|
||
|
|
||
|
array = g_array_new (FALSE, FALSE, sizeof (int));
|
||
|
|
||
|
@@ -1298,6 +1311,9 @@ wnck_tasklist_size_allocate (GtkWidget
|
||
|
int grouping_limit;
|
||
|
|
||
|
tasklist = WNCK_TASKLIST (widget);
|
||
|
+
|
||
|
+ tasklist->priv->last_width = allocation->width;
|
||
|
+ tasklist->priv->last_height = allocation->height;
|
||
|
|
||
|
n_windows = g_list_length (tasklist->priv->windows);
|
||
|
n_startup_sequences = g_list_length (tasklist->priv->startup_sequences);
|