+ int placement = getScreen()->getPlacementPolicy();
+
+ setItemSelected(0, placement == BScreen::RowSmartPlacement);
+ setItemSelected(1, placement == BScreen::ColSmartPlacement);
+ setItemSelected(2, placement == BScreen::CascadePlacement);
+ setItemSelected(3, placement == BScreen::UnderMousePlacement);
+ setItemSelected(4, placement == BScreen::ClickMousePlacement);
+
+ bool rl = (getScreen()->getRowPlacementDirection() == BScreen::LeftRight),
+ tb = (getScreen()->getColPlacementDirection() == BScreen::TopBottom),
+ e = (placement == BScreen::RowSmartPlacement ||
+ placement == BScreen::ColSmartPlacement);
+
+ setItemSelected(5, rl);
+ setItemSelected(6, ! rl);
+ setItemEnabled(5, e);
+ setItemEnabled(6, e);
+
+ setItemSelected(7, tb);
+ setItemSelected(8, ! tb);
+ setItemEnabled(7, e);
+ setItemEnabled(8, e);
+
+ setItemSelected(9, getScreen()->getPlaceIgnoreShaded());
+ setItemSelected(10, getScreen()->getPlaceIgnoreMaximized());
+ setItemEnabled(9, e);
+ setItemEnabled(10, e);
+}
+
+
+void Configmenu::Placementmenu::reconfigure(void) {
+ setValues();
+ Basemenu::reconfigure();
+}
+
+
+void Configmenu::Placementmenu::itemSelected(int button, unsigned int index) {
+ if (button != 1)
+ return;
+
+ BasemenuItem *item = find(index);
+
+ if (! item->function())
+ return;
+
+ switch (item->function()) {