BScreen *screen;
BlackboxWindow *lastfocus;
Clientmenu *clientmenu;
+ XAtom *xatom;
BlackboxWindowList stackingList, windowList;
std::string name;
unsigned int id;
- int cascade_x, cascade_y;
+ unsigned int cascade_x, cascade_y;
+#ifdef XINERAMA
+ unsigned int cascade_region;
+#endif // XINERAMA
Workspace(const Workspace&);
Workspace& operator=(const Workspace&);
StackVector::iterator &stack);
void placeWindow(BlackboxWindow *win);
- bool cascadePlacement(Rect& win, const Rect& availableArea);
- bool smartPlacement(Rect& win, const Rect& availableArea);
- bool underMousePlacement(Rect& win, const Rect& availableArea);
+ bool cascadePlacement(Rect& win, const int offset);
+ bool smartPlacement(Rect& win);
+ bool underMousePlacement(Rect& win);
public:
Workspace(BScreen *scrn, unsigned int i = 0);
inline void setLastFocusedWindow(BlackboxWindow *w) { lastfocus = w; }
+ inline const BlackboxWindowList& getStackingList() const
+ { return stackingList; }
+
BlackboxWindow* getWindow(unsigned int index);
BlackboxWindow* getNextWindowInList(BlackboxWindow *w);
BlackboxWindow* getPrevWindowInList(BlackboxWindow *w);
BlackboxWindow* getTopWindowOnStack(void) const;
void sendWindowList(Netizen &n);
+ void focusFallback(const BlackboxWindow *old_window);
+ void setFocused(const BlackboxWindow *w, bool focused);
bool isCurrent(void) const;
bool isLastWindow(const BlackboxWindow* w) const;
- void addWindow(BlackboxWindow *w, bool place = False);
- unsigned int removeWindow(BlackboxWindow *w);
+ void addWindow(BlackboxWindow *w, bool place = False, bool sticky = False);
+ void removeWindow(BlackboxWindow *w, bool sticky = False);
unsigned int getCount(void) const;
void appendStackOrder(BlackboxWindowList &stack_order) const;
- void showAll(void);
- void hideAll(void);
+ void show(void);
+ void hide(void);
void removeAll(void);
void raiseWindow(BlackboxWindow *w);
void lowerWindow(BlackboxWindow *w);
void reconfigure(void);
- void updateFocusModel(void);
void setCurrent(void);
+ void readName();
void setName(const std::string& new_name);
};