summaryrefslogtreecommitdiff
path: root/openbox/client.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2008-03-27 09:44:48 -0400
committerDana Jansens <danakj@orodu.net>2008-03-27 09:45:28 -0400
commit73adc6480d59fc5dccf9fe19ed5234c9582b328c (patch)
tree169003b9322a09ea550b182fdcd684d2089217fc /openbox/client.c
parentfd2f617be7ff57fcb187daa737f66d243544c8cd (diff)
make windows stay on screen when they are resized due to their normal hints changing
Diffstat (limited to 'openbox/client.c')
-rw-r--r--openbox/client.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/openbox/client.c b/openbox/client.c
index 0ccb343b..b6ca93a3 100644
--- a/openbox/client.c
+++ b/openbox/client.c
@@ -933,6 +933,19 @@ static gboolean client_restore_session_stacking(ObClient *self)
return FALSE;
}
+void client_reconfigure(ObClient *self, gboolean force)
+{
+ int x, y, w, h, lw, lh;
+
+ x = self->area.x;
+ y = self->area.y;
+ w = self->area.width;
+ h = self->area.height;
+ client_try_configure(self, &x, &y, &w, &h, &lw, &lh, FALSE);
+ client_find_onscreen(self, &x, &y, w, h, FALSE);
+ client_configure(self, x, y, w, h, FALSE, TRUE, force);
+}
+
void client_move_onscreen(ObClient *self, gboolean rude)
{
gint x = self->area.x;