#include <X11/Xlib.h>
#include "LinkedList.h"
+#include "Geometry.h"
class BScreen;
class Clientmenu;
class Workspace {
private:
- BScreen *screen;
+ BScreen &screen;
OpenboxWindow *lastfocus;
Clientmenu *clientmenu;
protected:
void placeWindow(OpenboxWindow *);
-
+ Point *bestFitPlacement(const Size &win_size, const Rect &space);
+ Point *rowSmartPlacement(const Size &win_size, const Rect &space);
+ Point *cascade(const OpenboxWindow* window);
public:
- Workspace(BScreen *, int = 0);
+ Workspace(BScreen &, int = 0);
~Workspace(void);
- inline BScreen *getScreen(void) { return screen; }
+ inline BScreen &getScreen(void) { return screen; }
inline OpenboxWindow *getLastFocusedWindow(void) { return lastfocus; }