]> Dogcows Code - chaz/openbox/blobdiff - src/Workspace.hh
fixes to make sticky windows work better. they appear in all workspace lists, they...
[chaz/openbox] / src / Workspace.hh
index 09dc277908c93cceb8a642192b3c57e850dfacf1..819b6391764a88df4771734f981b995aaa5c6ef0 100644 (file)
@@ -52,7 +52,10 @@ private:
 
   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&);
@@ -63,9 +66,9 @@ private:
                        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);
@@ -88,12 +91,13 @@ public:
   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);
-  void 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;
 
This page took 0.021007 seconds and 4 git commands to generate.