dont let windows be placed offscreen
This commit is contained in:
parent
b15007ca36
commit
a484ba5e19
1 changed files with 8 additions and 0 deletions
|
@ -2,6 +2,7 @@
|
||||||
#include "kernel/dispatch.h"
|
#include "kernel/dispatch.h"
|
||||||
#include "kernel/frame.h"
|
#include "kernel/frame.h"
|
||||||
#include "kernel/client.h"
|
#include "kernel/client.h"
|
||||||
|
#include "kernel/screen.h"
|
||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#ifdef HAVE_STDLIB_H
|
#ifdef HAVE_STDLIB_H
|
||||||
|
@ -55,6 +56,13 @@ gboolean place_history(Client *c)
|
||||||
x = hi->x;
|
x = hi->x;
|
||||||
y = hi->y;
|
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
|
frame_frame_gravity(c->frame, &x, &y); /* get where the client
|
||||||
should be */
|
should be */
|
||||||
client_configure(c, Corner_TopLeft, x, y,
|
client_configure(c, Corner_TopLeft, x, y,
|
||||||
|
|
Loading…
Reference in a new issue