]> Dogcows Code - chaz/openbox/blobdiff - src/Workspace.h
confine the mouse to the window for button grabs so that alt-click-drag on a window...
[chaz/openbox] / src / Workspace.h
index 01b520ad5a1844fe97212efa7e1df3bdd0508684..146e1d628e0df5d72fbc31be0372360813905f3a 100644 (file)
@@ -25,7 +25,8 @@
 
 #include <X11/Xlib.h>
 
-#include "LinkedList.h"
+#include <vector>
+#include <list>
 
 class BScreen;
 class Clientmenu;
@@ -37,15 +38,20 @@ class Rect;
 class Workspace {
 private:
   BScreen &screen;
-  OpenboxWindow *lastfocus;
   Clientmenu *clientmenu;
 
-  LinkedList<OpenboxWindow> *stackingList, *windowList;
+  typedef std::vector<OpenboxWindow *> winVect;
+  winVect _windows;
+  typedef std::list<OpenboxWindow *> 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);
 };
 
This page took 0.021855 seconds and 4 git commands to generate.