summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--src/constraints.c8
2 files changed, 10 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index a3d9b88b..b46ed648 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2003-03-14 Rob Adams <robadams@ucla.edu>
+
+ * contraints.c (get_outermost_screen_positions): Don't try to
+ force a window onscreen by more than its width. Fix for #94815.
+
2003-03-13 Rob Adams <robadams@ucla.edu>
Make it so that the alt-tabbing won't try to go to a minimized
diff --git a/src/constraints.c b/src/constraints.c
index 96535cd2..a4b2c8a9 100644
--- a/src/constraints.c
+++ b/src/constraints.c
@@ -352,10 +352,11 @@ get_outermost_onscreen_positions (MetaWindow *window,
int *bottommost_y)
{
if (leftmost_x)
- *leftmost_x = info->nw_x + TITLEBAR_LENGTH_ONSCREEN - orig->width;
+ *leftmost_x = info->nw_x - orig->width +
+ MIN (TITLEBAR_LENGTH_ONSCREEN, orig->width);
if (rightmost_x)
- *rightmost_x = info->se_x - TITLEBAR_LENGTH_ONSCREEN;
+ *rightmost_x = info->se_x - MIN (TITLEBAR_LENGTH_ONSCREEN, orig->width);
if (topmost_y)
*topmost_y = info->nw_y + info->fgeom.top_height;
@@ -368,7 +369,8 @@ get_outermost_onscreen_positions (MetaWindow *window,
if (window->frame)
*bottommost_y = info->se_y;
else
- *bottommost_y = info->se_y - TITLEBAR_LENGTH_ONSCREEN;
+ *bottommost_y = info->se_y -
+ MIN (TITLEBAR_LENGTH_ONSCREEN, orig->height);
}
}