X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2FWorkspace.cc;h=0af1c332835682c6781e6e4ef4ae5cebab3ca11d;hb=89563281384c34886fb12b169d1bdf8d293f0b48;hp=b39769e9e9f91c8abe8d05db9725b86db3211a31;hpb=ad7f61121cffae9773425cd0e3a53717be7a68a7;p=chaz%2Fopenbox diff --git a/src/Workspace.cc b/src/Workspace.cc index b39769e9..0af1c332 100644 --- a/src/Workspace.cc +++ b/src/Workspace.cc @@ -58,9 +58,9 @@ # include #endif // HAVE_STRING_H -#include #include -typedef vector rectList; +#include +typedef std::vector rectList; Workspace::Workspace(BScreen &scrn, int i) : screen(scrn) { @@ -399,13 +399,13 @@ bool rowLRTB(const Rect &first, const Rect &second){ bool colLRTB(const Rect &first, const Rect &second){ if (first.x()==second.x()) return first.y()second.y()+second.h(); - return first.x()w() >= win_size.w()) && (siter->h() >= win_size.h())) { if (best==NULL) - best = siter; + best = &*siter; else if(siter->w()*siter->h()h()*best->w()) - best = siter; + best = &*siter; } } if (best != NULL) { @@ -545,10 +545,7 @@ Point *Workspace::colSmartPlacement(const Size &win_size, const Rect &space) { sort(spaces.begin(),spaces.end(),colLRBT); else sort(spaces.begin(),spaces.end(),colRLBT); - fprintf(stderr,"Spaces after sorting\n"); - for (siter=spaces.begin(); siter!=spaces.end(); ++siter) - fprintf(stderr,"space(%d,%d)(%d,%d)\n",siter->x(),siter->y(), - siter->x()+siter->w(),siter->y()+siter->h()); + //Find first space that fits the window best = NULL; for (siter=spaces.begin(); siter!=spaces.end(); ++siter) @@ -606,6 +603,7 @@ void Workspace::placeWindow(OpenboxWindow &win) { place = colSmartPlacement(window_size, space); break; case BScreen::UnderMousePlacement: + case BScreen::ClickMousePlacement: place = underMousePlacement(window_size, space); break; } // switch