]> Dogcows Code - chaz/openbox/blobdiff - util/epist/screen.hh
uber patch.
[chaz/openbox] / util / epist / screen.hh
index 7b500d039b335d13ed226ccf9ef26d91aef486ad..98f8a351023ff03b24349cdb5c061432e6c9ccae 100644 (file)
@@ -1,5 +1,5 @@
-// -*- mode: C++; indent-tabs-mode: nil; -*-
-// screen.hh for Epistophy - a key handler for NETWM/EWMH window managers.
+// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
+// screen.hh for Epistrophy - a key handler for NETWM/EWMH window managers.
 // Copyright (c) 2002 - 2002 Ben Jansens <ben at orodu.net>
 //
 // Permission is hereby granted, free of charge, to any person obtaining a
@@ -28,27 +28,35 @@ 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;
+  WindowList &_clients;
+  WindowList::iterator &_active;
+  WindowList::iterator _last_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;
@@ -61,15 +69,29 @@ public:
   inline Window rootWindow() const { return _root; }
   inline bool managed() const { return _managed; }
   inline int number() const { return _number; }
+
+  const XWindow *lastActiveWindow() const;
   
   void processEvent(const XEvent &e);
-
   void handleKeypress(const XEvent &e);
+  void updateEverything();
 
-  void cycleWindow(const bool forward) const;
-  void cycleWorkspace(const bool forward) const;
+  void cycleWindow(const bool forward, const int increment,
+                   const bool allscreens = false,
+                   const bool alldesktops = false,
+                   const bool sameclass = false,
+                   const std::string &classname = "") const;
+  void cycleWorkspace(const bool forward, const int increment,
+                      const bool loop = true) const;
   void changeWorkspace(const int num) const;
+  void changeWorkspaceVert(const int num) const;
+  void changeWorkspaceHorz(const int num) const;
+
   void toggleShaded(const Window win) const;
+  void execCommand(const std::string &cmd) const;
+
+  void grabKey(const KeyCode keyCode, const int modifierMask) const;
+  void ungrabKey(const KeyCode keyCode, const int modifierMask) const;
 };
 
 #endif // __screen_hh
This page took 0.027267 seconds and 4 git commands to generate.