summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2002-08-23 23:13:21 +0000
committerDana Jansens <danakj@orodu.net>2002-08-23 23:13:21 +0000
commitcbf4bb3d62df50045fd71920256865becae21990 (patch)
tree411c2b1901e84506266047f532a5cb7258f3ea14
parent8dc38853ef1c55de644948ddb390a363e59c25bf (diff)
use the snap offset as the margin for placing windows instead of a fixed value of 1
-rw-r--r--src/Workspace.cc13
-rw-r--r--src/Workspace.hh3
2 files changed, 9 insertions, 7 deletions
diff --git a/src/Workspace.cc b/src/Workspace.cc
index 715d012e..f4fab1cd 100644
--- a/src/Workspace.cc
+++ b/src/Workspace.cc
@@ -530,9 +530,8 @@ void Workspace::setName(const string& new_name) {
/*
* Calculate free space available for window placement.
*/
-typedef std::vector<Rect> rectList;
-
-static rectList calcSpace(const Rect &win, const rectList &spaces) {
+Workspace::rectList Workspace::calcSpace(const Rect &win,
+ const rectList &spaces) const {
Rect isect, extra;
rectList result;
rectList::const_iterator siter, end = spaces.end();
@@ -553,21 +552,21 @@ static rectList calcSpace(const Rect &win, const rectList &spaces) {
// left
extra.setCoords(curr.left(), curr.top(),
- isect.left() - 1, curr.bottom());
+ isect.left() - screen->getSnapOffset(), curr.bottom());
if (extra.valid()) result.push_back(extra);
// top
extra.setCoords(curr.left(), curr.top(),
- curr.right(), isect.top() - 1);
+ curr.right(), isect.top() - screen->getSnapOffset());
if (extra.valid()) result.push_back(extra);
// right
- extra.setCoords(isect.right() + 1, curr.top(),
+ extra.setCoords(isect.right() + screen->getSnapOffset(), curr.top(),
curr.right(), curr.bottom());
if (extra.valid()) result.push_back(extra);
// bottom
- extra.setCoords(curr.left(), isect.bottom() + 1,
+ extra.setCoords(curr.left(), isect.bottom() + screen->getSnapOffset(),
curr.right(), curr.bottom());
if (extra.valid()) result.push_back(extra);
}
diff --git a/src/Workspace.hh b/src/Workspace.hh
index 72203f2d..df0411e1 100644
--- a/src/Workspace.hh
+++ b/src/Workspace.hh
@@ -65,6 +65,9 @@ private:
void lowerTransients(const BlackboxWindow * const win,
StackVector::iterator &stack);
+ typedef std::vector<Rect> rectList;
+ rectList calcSpace(const Rect &win, const rectList &spaces) const;
+
void placeWindow(BlackboxWindow *win);
bool cascadePlacement(Rect& win, const int offset);
bool smartPlacement(Rect& win);