]> Dogcows Code - chaz/openbox/blobdiff - src/Workspace.cc
gcc 3 compatibility, converted strstreams to stringstreams
[chaz/openbox] / src / Workspace.cc
index b39769e9e9f91c8abe8d05db9725b86db3211a31..0af1c332835682c6781e6e4ef4ae5cebab3ca11d 100644 (file)
@@ -58,9 +58,9 @@
 #  include <string.h>
 #endif // HAVE_STRING_H
 
-#include <vector>
 #include <algorithm>
-typedef vector<Rect> rectList;
+#include <vector>
+typedef std::vector<Rect> 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();
-  return first.x()<second.y();
+  return first.x()<second.x();
 }
  
 bool colLRBT(const Rect &first, const Rect &second){
   if (first.x()==second.x())
      return first.y()+first.h()>second.y()+second.h();
-  return first.x()<second.y();
+  return first.x()<second.x();
 }
 
 bool colRLTB(const Rect &first, const Rect &second){
@@ -442,9 +442,9 @@ Point *Workspace::bestFitPlacement(const Size &win_size, const Rect &space) {
   for (siter=spaces.begin(); siter!=spaces.end(); ++siter) {
     if ((siter->w() >= win_size.w()) && (siter->h() >= win_size.h())) {
       if (best==NULL)
-        best = siter;
+        best = &*siter;
       else if(siter->w()*siter->h()<best->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
This page took 0.023936 seconds and 4 git commands to generate.