summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/placement/history.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/plugins/placement/history.c b/plugins/placement/history.c
index dfdcea28..58434780 100644
--- a/plugins/placement/history.c
+++ b/plugins/placement/history.c
@@ -2,6 +2,7 @@
#include "kernel/dispatch.h"
#include "kernel/frame.h"
#include "kernel/client.h"
+#include "kernel/screen.h"
#include <glib.h>
#include <string.h>
#ifdef HAVE_STDLIB_H
@@ -55,6 +56,13 @@ gboolean place_history(Client *c)
x = hi->x;
y = hi->y;
+ /* make sure the window is on the display */
+ if (x >= screen_physical_size.width ||
+ y >= screen_physical_size.height ||
+ x + c->frame->area.width < 1 ||
+ y + c->frame->area.height < 1)
+ return FALSE;
+
frame_frame_gravity(c->frame, &x, &y); /* get where the client
should be */
client_configure(c, Corner_TopLeft, x, y,