X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2FWorkspace.h;h=146e1d628e0df5d72fbc31be0372360813905f3a;hb=bbbe226ccc7086721ba5e652fa89e6e8190adb56;hp=01b520ad5a1844fe97212efa7e1df3bdd0508684;hpb=098fae70a6d8d15877938080437f0fc20f52bbf5;p=chaz%2Fopenbox diff --git a/src/Workspace.h b/src/Workspace.h index 01b520ad..146e1d62 100644 --- a/src/Workspace.h +++ b/src/Workspace.h @@ -25,7 +25,8 @@ #include -#include "LinkedList.h" +#include +#include class BScreen; class Clientmenu; @@ -37,15 +38,20 @@ class Rect; class Workspace { private: BScreen &screen; - OpenboxWindow *lastfocus; Clientmenu *clientmenu; - LinkedList *stackingList, *windowList; + typedef std::vector winVect; + winVect _windows; + typedef std::list winList; + winList _zorder; char *name; int id, cascade_x, cascade_y; - OpenboxWindow *_focused; + OpenboxWindow *_focused, *_last; // last is the same as focused except + // that when focus is removed from all + // windows on the workspace, last doesnt + // change to NULL protected: void placeWindow(OpenboxWindow &); @@ -60,19 +66,17 @@ public: ~Workspace(void); inline BScreen &getScreen(void) { return screen; } - inline OpenboxWindow *getLastFocusedWindow(void) { return lastfocus; } inline Clientmenu *getMenu(void) { return clientmenu; } inline const char *getName(void) const { return name; } - inline const int &getWorkspaceID(void) const { return id; } - inline void setLastFocusedWindow(OpenboxWindow *w) { lastfocus = w; } + inline int getWorkspaceID(void) const { return id; } inline OpenboxWindow *focusedWindow() { return _focused; } + inline OpenboxWindow *lastFocusedWindow() { return _last; } void focusWindow(OpenboxWindow *win); OpenboxWindow *getWindow(int); - Bool isCurrent(void); - Bool isLastWindow(OpenboxWindow *); - const int addWindow(OpenboxWindow *, Bool = False); - const int removeWindow(OpenboxWindow *); - const int getCount(void); + bool isCurrent(void); + int addWindow(OpenboxWindow *, bool = false); + int removeWindow(OpenboxWindow *); + int getCount(void); void showAll(void); void hideAll(void); void removeAll(void); @@ -81,7 +85,7 @@ public: void reconfigure(); void update(); void setCurrent(void); - void setName(char *); + void setName(const char *); void shutdown(void); };