all repos — openbox @ 32951060f693424bd173888e16382a02949c450e

openbox fork - make it a bit more like ryudo

bestfit placement now honors the left->right and top->bottom options for window placement.
fix for the placement config menu.
Dana Jansens danakj@orodu.net
commit

32951060f693424bd173888e16382a02949c450e

parent

ec028e395f5b88611759c88d1af39bcd708c2910

2 files changed, 12 insertions(+), 7 deletions(-)

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

@@ -356,16 +356,16 @@

case BScreen::TopBottom: configmenu->screen.setColPlacementDirection(BScreen::TopBottom); - setItemSelected(5, True); - setItemSelected(6, False); + setItemSelected(6, True); + setItemSelected(7, False); break; case BScreen::BottomTop: configmenu->screen.setColPlacementDirection(BScreen::BottomTop); - setItemSelected(5, False); - setItemSelected(6, True); + setItemSelected(6, False); + setItemSelected(7, True); break; }
M src/Workspace.ccsrc/Workspace.cc

@@ -396,9 +396,14 @@ (siter->h() >= win_size.h()))

best = siter; } - if (best != NULL) - return new Point(best->origin()); - else + if (best != NULL) { + Point *pt = new Point(best->origin()); + if (screen.colPlacementDirection() != BScreen::TopBottom) + pt->setY(pt->y() + (best->h() - win_size.h())); + if (screen.rowPlacementDirection() != BScreen::LeftRight) + pt->setX(pt->x() + (best->w() - win_size.w())); + return pt; + } else return NULL; //fall back to cascade }