aboutsummaryrefslogtreecommitdiff
path: root/src/RowSmartPlacement.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/RowSmartPlacement.cc')
-rw-r--r--src/RowSmartPlacement.cc19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/RowSmartPlacement.cc b/src/RowSmartPlacement.cc
index eb2956b..1c66a18 100644
--- a/src/RowSmartPlacement.cc
+++ b/src/RowSmartPlacement.cc
@@ -57,11 +57,12 @@ bool RowSmartPlacement::placeWindow(const std::vector<FluxboxWindow *> &windowli
57 if (screen_placement.rowDirection() == ScreenPlacement::RIGHTLEFT) 57 if (screen_placement.rowDirection() == ScreenPlacement::RIGHTLEFT)
58 change_x = -1; 58 change_x = -1;
59 59
60 int win_w = win.width() + win.fbWindow().borderWidth()*2 + win.widthOffset();
61 int win_h = win.height() + win.fbWindow().borderWidth()*2 + win.heightOffset();
60 62
63 int x_off = win.xOffset();
64 int y_off = win.yOffset();
61 65
62
63 int win_h = win.height() + win.fbWindow().borderWidth()*2;
64 int win_w = win.width() + win.fbWindow().borderWidth()*2;
65 int test_y; 66 int test_y;
66 if (top_bot) 67 if (top_bot)
67 test_y = head_top; 68 test_y = head_top;
@@ -102,10 +103,10 @@ bool RowSmartPlacement::placeWindow(const std::vector<FluxboxWindow *> &windowli
102 for (; win_it != win_it_end && placed; ++win_it) { 103 for (; win_it != win_it_end && placed; ++win_it) {
103 FluxboxWindow &window = **win_it; 104 FluxboxWindow &window = **win_it;
104 105
105 int curr_x = window.x(); 106 int curr_x = window.x() + window.xOffset();
106 int curr_y = window.y(); 107 int curr_y = window.y() + window.yOffset();
107 int curr_w = window.width() + window.fbWindow().borderWidth()*2; 108 int curr_w = window.width() + window.fbWindow().borderWidth()*2 + window.widthOffset();
108 int curr_h = window.height() + window.fbWindow().borderWidth()*2; 109 int curr_h = window.height() + window.fbWindow().borderWidth()*2 + window.heightOffset();
109 110
110 if (curr_x < test_x + win_w && 111 if (curr_x < test_x + win_w &&
111 curr_x + curr_w > test_x && 112 curr_x + curr_w > test_x &&
@@ -138,8 +139,8 @@ bool RowSmartPlacement::placeWindow(const std::vector<FluxboxWindow *> &windowli
138 139
139 140
140 if (placed) { 141 if (placed) {
141 place_x = test_x; 142 place_x = test_x + x_off;
142 place_y = test_y; 143 place_y = test_y + y_off;
143 144
144 break; 145 break;
145 } 146 }