aboutsummaryrefslogtreecommitdiff
path: root/src/ScreenPlacement.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/ScreenPlacement.cc')
-rw-r--r--src/ScreenPlacement.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/ScreenPlacement.cc b/src/ScreenPlacement.cc
index 6ba4b6f..fb79d88 100644
--- a/src/ScreenPlacement.cc
+++ b/src/ScreenPlacement.cc
@@ -25,6 +25,7 @@
25 25
26 26
27#include "RowSmartPlacement.hh" 27#include "RowSmartPlacement.hh"
28#include "MinOverlapPlacement.hh"
28#include "UnderMousePlacement.hh" 29#include "UnderMousePlacement.hh"
29#include "ColSmartPlacement.hh" 30#include "ColSmartPlacement.hh"
30#include "CascadePlacement.hh" 31#include "CascadePlacement.hh"
@@ -68,6 +69,10 @@ bool ScreenPlacement::placeWindow(const std::list<FluxboxWindow *> &windowlist,
68 case COLSMARTPLACEMENT: 69 case COLSMARTPLACEMENT:
69 m_strategy.reset(new ColSmartPlacement()); 70 m_strategy.reset(new ColSmartPlacement());
70 break; 71 break;
72 case ROWMINOVERLAPPLACEMENT:
73 case COLMINOVERLAPPLACEMENT:
74 m_strategy.reset(new MinOverlapPlacement(*m_placement_policy));
75 break;
71 case CASCADEPLACEMENT: 76 case CASCADEPLACEMENT:
72 m_strategy.reset(new CascadePlacement(win.screen())); 77 m_strategy.reset(new CascadePlacement(win.screen()));
73 break; 78 break;
@@ -137,6 +142,10 @@ void FbTk::Resource<ScreenPlacement::PlacementPolicy>::setFromString(const char
137 *(*this) = ScreenPlacement::ROWSMARTPLACEMENT; 142 *(*this) = ScreenPlacement::ROWSMARTPLACEMENT;
138 else if (strcasecmp("ColSmartPlacement", str) == 0) 143 else if (strcasecmp("ColSmartPlacement", str) == 0)
139 *(*this) = ScreenPlacement::COLSMARTPLACEMENT; 144 *(*this) = ScreenPlacement::COLSMARTPLACEMENT;
145 else if (strcasecmp("RowMinOverlapPlacement", str) == 0)
146 *(*this) = ScreenPlacement::ROWMINOVERLAPPLACEMENT;
147 else if (strcasecmp("ColMinOverlapPlacement", str) == 0)
148 *(*this) = ScreenPlacement::COLMINOVERLAPPLACEMENT;
140 else if (strcasecmp("UnderMousePlacement", str) == 0) 149 else if (strcasecmp("UnderMousePlacement", str) == 0)
141 *(*this) = ScreenPlacement::UNDERMOUSEPLACEMENT; 150 *(*this) = ScreenPlacement::UNDERMOUSEPLACEMENT;
142 else if (strcasecmp("CascadePlacement", str) == 0) 151 else if (strcasecmp("CascadePlacement", str) == 0)
@@ -152,6 +161,10 @@ std::string FbTk::Resource<ScreenPlacement::PlacementPolicy>::getString() const
152 return "RowSmartPlacement"; 161 return "RowSmartPlacement";
153 case ScreenPlacement::COLSMARTPLACEMENT: 162 case ScreenPlacement::COLSMARTPLACEMENT:
154 return "ColSmartPlacement"; 163 return "ColSmartPlacement";
164 case ScreenPlacement::ROWMINOVERLAPPLACEMENT:
165 return "RowMinOverlapPlacement";
166 case ScreenPlacement::COLMINOVERLAPPLACEMENT:
167 return "ColMinOverlapPlacement";
155 case ScreenPlacement::UNDERMOUSEPLACEMENT: 168 case ScreenPlacement::UNDERMOUSEPLACEMENT:
156 return "UnderMousePlacement"; 169 return "UnderMousePlacement";
157 case ScreenPlacement::CASCADEPLACEMENT: 170 case ScreenPlacement::CASCADEPLACEMENT: