all repos — openbox @ 4e84a99f0aaf74af1f9b4693486300370d41ff97

openbox fork - make it a bit more like ryudo

disable things in the placement menu when they dont have any effect for the selected placement type
Dana Jansens danakj@orodu.net
commit

4e84a99f0aaf74af1f9b4693486300370d41ff97

parent

ab80aa4981c0cacd508f096a2d05929b6ef7c976

1 files changed, 5 insertions(+), 78 deletions(-)

jump to
M src/Configmenu.ccsrc/Configmenu.cc

@@ -277,7 +277,8 @@ setItemSelected(4, placement == BScreen::ClickMousePlacement);

bool rl = (getScreen()->getRowPlacementDirection() == BScreen::LeftRight), tb = (getScreen()->getColPlacementDirection() == BScreen::TopBottom), - e = placement != BScreen::UnderMousePlacement; + e = (placement == BScreen::RowSmartPlacement || + placement == BScreen::ColSmartPlacement); setItemSelected(5, rl); setItemSelected(6, ! rl);

@@ -291,6 +292,8 @@ setItemEnabled(8, e);

setItemSelected(9, getScreen()->getPlaceIgnoreShaded()); setItemSelected(10, getScreen()->getPlaceIgnoreMaximized()); + setItemEnabled(9, e); + setItemEnabled(10, e); }

@@ -312,126 +315,50 @@

switch (item->function()) { case BScreen::RowSmartPlacement: getScreen()->savePlacementPolicy(item->function()); - - setItemSelected(0, true); - setItemSelected(1, false); - setItemSelected(2, false); - setItemSelected(3, false); - setItemSelected(4, false); - setItemEnabled(5, true); - setItemEnabled(6, true); - setItemEnabled(7, true); - setItemEnabled(8, true); - break; case BScreen::ColSmartPlacement: getScreen()->savePlacementPolicy(item->function()); - - setItemSelected(0, false); - setItemSelected(1, true); - setItemSelected(2, false); - setItemSelected(3, false); - setItemSelected(4, false); - setItemEnabled(5, true); - setItemEnabled(6, true); - setItemEnabled(7, true); - setItemEnabled(8, true); - break; case BScreen::CascadePlacement: getScreen()->savePlacementPolicy(item->function()); - - setItemSelected(0, false); - setItemSelected(1, false); - setItemSelected(2, true); - setItemSelected(3, false); - setItemSelected(4, false); - setItemEnabled(5, true); - setItemEnabled(6, true); - setItemEnabled(7, true); - setItemEnabled(8, true); - break; case BScreen::UnderMousePlacement: getScreen()->savePlacementPolicy(item->function()); - - setItemSelected(0, false); - setItemSelected(1, false); - setItemSelected(2, false); - setItemSelected(3, true); - setItemSelected(4, false); - setItemEnabled(5, false); - setItemEnabled(6, false); - setItemEnabled(7, false); - setItemEnabled(8, false); - break; case BScreen::ClickMousePlacement: getScreen()->savePlacementPolicy(item->function()); - - setItemSelected(0, false); - setItemSelected(1, false); - setItemSelected(2, false); - setItemSelected(3, false); - setItemSelected(4, true); - setItemEnabled(5, false); - setItemEnabled(6, false); - setItemEnabled(7, false); - setItemEnabled(8, false); - break; case BScreen::LeftRight: getScreen()->saveRowPlacementDirection(BScreen::LeftRight); - - setItemSelected(5, true); - setItemSelected(6, false); - break; case BScreen::RightLeft: getScreen()->saveRowPlacementDirection(BScreen::RightLeft); - - setItemSelected(5, false); - setItemSelected(6, true); - break; case BScreen::TopBottom: getScreen()->saveColPlacementDirection(BScreen::TopBottom); - - setItemSelected(7, true); - setItemSelected(8, false); - break; case BScreen::BottomTop: getScreen()->saveColPlacementDirection(BScreen::BottomTop); - - setItemSelected(7, false); - setItemSelected(8, true); - break; case BScreen::IgnoreShaded: getScreen()->savePlaceIgnoreShaded(! getScreen()->getPlaceIgnoreShaded()); - - setItemSelected(9, getScreen()->getPlaceIgnoreShaded()); - break; case BScreen::IgnoreMaximized: getScreen()-> savePlaceIgnoreMaximized(! getScreen()->getPlaceIgnoreMaximized()); - - setItemSelected(10, getScreen()->getPlaceIgnoreMaximized()); - break; } + setValues(); }