summaryrefslogtreecommitdiff
path: root/src/client.cc
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-02-03 04:14:54 +0000
committerDana Jansens <danakj@orodu.net>2003-02-03 04:14:54 +0000
commit9223bfdd67ff39e4aaf72be1a0b4341033fc12c8 (patch)
treedf5b628ccf4e5c084fd26bf879209d6ed4651c0b /src/client.cc
parentf5904cdaaafa95e8ab6ffde212dfc6b7478b4e32 (diff)
let the client be moved to a position specified for the *frame*
Diffstat (limited to 'src/client.cc')
-rw-r--r--src/client.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/client.cc b/src/client.cc
index f60a8da6..1b3ad1a9 100644
--- a/src/client.cc
+++ b/src/client.cc
@@ -495,7 +495,7 @@ void Client::updateNormalHints()
// changing its gravity
if (frame && _gravity != oldgravity) {
// move our idea of the client's position based on its new gravity
- int x, y;
+ int x = frame->rect().x(), y = frame->rect().y();
frame->frameGravity(x, y);
_area.setPos(x, y);
}
@@ -1146,9 +1146,11 @@ void Client::internal_resize(Corner anchor, int w, int h, bool user,
}
-void Client::move(int x, int y)
+void Client::move(int x, int y, bool framepos)
{
if (!(_functions & Func_Move)) return;
+ if (framepos)
+ frame->frameGravity(x, y);
internal_move(x, y);
}
@@ -1386,6 +1388,8 @@ void Client::maximize(bool max, int dir, bool savearea)
_gravity = StaticGravity;
// adjust our idea of position based on StaticGravity, so we stay put
// unless asked
+ x = frame->rect().x();
+ y = frame->rect().y();
frame->frameGravity(x, y);
if (savearea) {
@@ -1471,7 +1475,7 @@ void Client::maximize(bool max, int dir, bool savearea)
if (max) {
// because of my little gravity trick in here, we have to set the position
// of the client to what it really is
- int x, y;
+ int x = frame->rect().x(), y = frame->rect().y();
frame->frameGravity(x, y);
_area.setPos(x, y);
}