Lines 1456-1472
static gboolean
Link Here
|
1456 |
wnck_tasklist_include_window (WnckTasklist *tasklist, WnckWindow *win) |
1456 |
wnck_tasklist_include_window (WnckTasklist *tasklist, WnckWindow *win) |
1457 |
{ |
1457 |
{ |
1458 |
WnckWorkspace *active_workspace; |
1458 |
WnckWorkspace *active_workspace; |
1459 |
int x, y, w, h; |
1459 |
int x, y, w, h; |
1460 |
|
1460 |
|
1461 |
if (wnck_window_get_state (win) & WNCK_WINDOW_STATE_SKIP_TASKLIST) |
1461 |
if (wnck_window_get_state (win) & WNCK_WINDOW_STATE_SKIP_TASKLIST) |
1462 |
return FALSE; |
1462 |
return FALSE; |
1463 |
|
1463 |
|
1464 |
if (tasklist->priv->monitor_num != -1) |
1464 |
if (0 /* bug 154040 */ && tasklist->priv->monitor_num != -1) |
1465 |
{ |
1465 |
{ |
1466 |
wnck_window_get_geometry (win, &x, &y, &w, &h); |
1466 |
wnck_window_get_geometry (win, &x, &y, &w, &h); |
1467 |
/* Don't include the window if its center point is not on the same monitor */ |
1467 |
/* Don't include the window if its center point is not on the same monitor */ |
1468 |
if (gdk_screen_get_monitor_at_point (_wnck_screen_get_gdk_screen (tasklist->priv->screen), |
1468 |
if (gdk_screen_get_monitor_at_point (_wnck_screen_get_gdk_screen (tasklist->priv->screen), |
1469 |
x + w / 2, y + h / 2) != tasklist->priv->monitor_num) |
1469 |
x + w / 2, y + h / 2) != tasklist->priv->monitor_num) |
1470 |
return FALSE; |
1470 |
return FALSE; |
1471 |
} |
1471 |
} |
1472 |
|
1472 |
|
Lines 1499-1515
wnck_tasklist_update_lists (WnckTasklist
Link Here
|
1499 |
WnckTask *win_task; |
1499 |
WnckTask *win_task; |
1500 |
WnckTask *class_group_task; |
1500 |
WnckTask *class_group_task; |
1501 |
gint monitor_num; |
1501 |
gint monitor_num; |
1502 |
|
1502 |
|
1503 |
wnck_tasklist_free_tasks (tasklist); |
1503 |
wnck_tasklist_free_tasks (tasklist); |
1504 |
|
1504 |
|
1505 |
windows = wnck_screen_get_windows (tasklist->priv->screen); |
1505 |
windows = wnck_screen_get_windows (tasklist->priv->screen); |
1506 |
|
1506 |
|
1507 |
if (GTK_WIDGET (tasklist)->window != NULL) |
1507 |
if (0 /* bug 154040 */ && GTK_WIDGET (tasklist)->window != NULL) |
1508 |
{ |
1508 |
{ |
1509 |
monitor_num = gdk_screen_get_monitor_at_window (_wnck_screen_get_gdk_screen (tasklist->priv->screen), |
1509 |
monitor_num = gdk_screen_get_monitor_at_window (_wnck_screen_get_gdk_screen (tasklist->priv->screen), |
1510 |
GTK_WIDGET (tasklist)->window); |
1510 |
GTK_WIDGET (tasklist)->window); |
1511 |
if (monitor_num != tasklist->priv->monitor_num) |
1511 |
if (monitor_num != tasklist->priv->monitor_num) |
1512 |
{ |
1512 |
{ |
1513 |
tasklist->priv->monitor_num = monitor_num; |
1513 |
tasklist->priv->monitor_num = monitor_num; |
1514 |
gdk_screen_get_monitor_geometry (_wnck_screen_get_gdk_screen (tasklist->priv->screen), |
1514 |
gdk_screen_get_monitor_geometry (_wnck_screen_get_gdk_screen (tasklist->priv->screen), |
1515 |
tasklist->priv->monitor_num, |
1515 |
tasklist->priv->monitor_num, |
Lines 1756-1772
wnck_tasklist_window_changed_geometry (W
Link Here
|
1756 |
return; |
1756 |
return; |
1757 |
|
1757 |
|
1758 |
/* |
1758 |
/* |
1759 |
* If the (parent of the) tasklist itself skips |
1759 |
* If the (parent of the) tasklist itself skips |
1760 |
* the tasklist, we need an extra check whether |
1760 |
* the tasklist, we need an extra check whether |
1761 |
* the tasklist itself possibly changed monitor. |
1761 |
* the tasklist itself possibly changed monitor. |
1762 |
*/ |
1762 |
*/ |
1763 |
monitor_changed = FALSE; |
1763 |
monitor_changed = FALSE; |
1764 |
if (wnck_window_get_state (window) & WNCK_WINDOW_STATE_SKIP_TASKLIST && |
1764 |
if (0 /* bug 154040 */ && |
|
|
1765 |
wnck_window_get_state (window) & WNCK_WINDOW_STATE_SKIP_TASKLIST && |
1765 |
GTK_WIDGET (tasklist)->window != NULL) |
1766 |
GTK_WIDGET (tasklist)->window != NULL) |
1766 |
{ |
1767 |
{ |
1767 |
/* Do the extra check only if there is a suspect of a monitor change (= this window is off monitor) */ |
1768 |
/* Do the extra check only if there is a suspect of a monitor change (= this window is off monitor) */ |
1768 |
wnck_window_get_geometry (window, &x, &y, &w, &h); |
1769 |
wnck_window_get_geometry (window, &x, &y, &w, &h); |
1769 |
if (!POINT_IN_RECT (x + w / 2, y + h / 2, tasklist->priv->monitor_geometry)) |
1770 |
if (!POINT_IN_RECT (x + w / 2, y + h / 2, tasklist->priv->monitor_geometry)) |
1770 |
{ |
1771 |
{ |
1771 |
monitor_changed = (gdk_screen_get_monitor_at_window (_wnck_screen_get_gdk_screen (tasklist->priv->screen), |
1772 |
monitor_changed = (gdk_screen_get_monitor_at_window (_wnck_screen_get_gdk_screen (tasklist->priv->screen), |
1772 |
GTK_WIDGET (tasklist)->window) != tasklist->priv->monitor_num); |
1773 |
GTK_WIDGET (tasklist)->window) != tasklist->priv->monitor_num); |