]> Dogcows Code - chaz/openbox/blobdiff - util/epist/screen.hh
implement window resizing
[chaz/openbox] / util / epist / screen.hh
index 7b500d039b335d13ed226ccf9ef26d91aef486ad..4c3a47c2f89a5c8b7387f6fbb28808e3bab9a18c 100644 (file)
@@ -28,27 +28,34 @@ extern "C" {
 }
 
 #include <vector>
+#include <string>
 
 #include "window.hh"
 
 class epist;
 class screen;
 class XAtom;
+class ScreenInfo;
 
 class screen {
   epist *_epist;
   XAtom *_xatom;
   int _number;
   Window _root;
+  const ScreenInfo *_info;
 
   std::string _wm_name;
   
   WindowList _clients;
   WindowList::iterator _active;
+  unsigned int _active_desktop;
+  unsigned int _num_desktops;
 
   bool _managed;
 
   XWindow *findWindow(const XEvent &e) const;
+  void updateNumDesktops();
+  void updateActiveDesktop();
   void updateClientList();
   void updateActiveWindow();
   bool doAddWindow(Window window) const;
@@ -66,10 +73,13 @@ public:
 
   void handleKeypress(const XEvent &e);
 
-  void cycleWindow(const bool forward) const;
-  void cycleWorkspace(const bool forward) const;
+  void cycleWindow(const bool forward, const bool alldesktops = false,
+                   const bool sameclass = false,
+                   const std::string &classname = "") const;
+  void cycleWorkspace(const bool forward, const bool loop = true) const;
   void changeWorkspace(const int num) const;
   void toggleShaded(const Window win) const;
+  void execCommand(const std::string &cmd) const;
 };
 
 #endif // __screen_hh
This page took 0.027825 seconds and 4 git commands to generate.