]> Dogcows Code - chaz/openbox/commitdiff
some cleanups and such.
authorDana Jansens <danakj@orodu.net>
Sat, 20 Jul 2002 08:06:54 +0000 (08:06 +0000)
committerDana Jansens <danakj@orodu.net>
Sat, 20 Jul 2002 08:06:54 +0000 (08:06 +0000)
util/epist/actions.cc
util/epist/actions.hh
util/epist/epist.cc
util/epist/epist.hh
util/epist/screen.cc
util/epist/window.cc
util/epist/window.hh

index ac4fc4ab0c842372b80680bf1d7a81531a6061e2..493d02154ac5c685588fe7bb7fca7cf2b11e6cc8 100644 (file)
@@ -22,7 +22,7 @@
 
 #include "actions.hh"
 
-Action::Action(enum ActionType type, KeyCode keycode, int modifierMask,
+Action::Action(enum ActionType type, KeyCode keycode, unsigned int modifierMask,
                int num): _type(type), _keycode(keycode),
                          _modifierMask(modifierMask), _numberParam(num)
 { }
index 09ee523f2ed8ca26ce60dfe8b3ff9482f984cf8c..b211bf9d5599b3c29064b18b85e9cf189327f20d 100644 (file)
@@ -73,16 +73,16 @@ public:
 private:
   enum ActionType _type;
   const KeyCode _keycode;
-  const int _modifierMask;
+  const unsigned int _modifierMask;
 
   const int _numberParam;
 public:
   inline enum ActionType type() const { return _type;}
   inline const KeyCode keycode() const { return _keycode; }
-  inline const int modifierMask() const { return _modifierMask; }
+  inline const unsigned int modifierMask() const { return _modifierMask; }
   inline const int number() const { return _numberParam; }
 
-  Action(enum ActionType type, KeyCode keycode, int modifierMask,
+  Action(enum ActionType type, KeyCode keycode, unsigned int modifierMask,
          int number = 0);
 };
   
index 6296fe03fd51b5f5d88006ee8079afa073116733..9b0460000d36ceaabe0b477ae6272ecb5d2a87eb 100644 (file)
@@ -138,6 +138,7 @@ void epist::process_event(XEvent *e) {
   else
     root = e->xany.window;
   
+  cout << "event\n";
   ScreenList::const_iterator it, end = _screens.end();
   for (it = _screens.begin(); it != end; ++it) {
     if ((*it)->rootWindow() == root) {
index f960319c120da9bbdcb63e262f8bfeab756849ff..cf5df3f028755ef828192be4023d1ac4a0410c63 100644 (file)
@@ -67,7 +67,7 @@ public:
   void removeWindow(XWindow *window);
   XWindow *findWindow(Window window) const;
 
-  list<Action> actions(void) { return _actions; }
+  ActionList actions(void) { return _actions; }
 };
 
 #endif // __epist_hh
index afe5b8d1e6b53e00f952dbceb45f7ca149ad1919..fd65db4c5e6796f8a1ac9a688ee50a486b5819d9 100644 (file)
@@ -143,28 +143,32 @@ void screen::processEvent(const XEvent &e) {
 }
 
 void screen::handleKeypress(const XEvent &e) {
-  list<Action>::const_iterator it = _epist->actions().begin();
-  list<Action>::const_iterator end = _epist->actions().end();
+  ActionList::const_iterator it = _epist->actions().begin();
+  ActionList::const_iterator end = _epist->actions().end();
+  cout << "key press\n";
   for (; it != end; ++it) {
     if (e.xkey.keycode == it->keycode() &&
-        e.xkey.state == it->modifierMask() )
-      {
-        switch (it->type()) {
-        case Action::nextWorkspace:
-          cycleWorkspace(true);
-          break;
-        case Action::prevWorkspace:
-          cycleWorkspace(false);
-          break;
-        case Action::changeWorkspace:
-          changeWorkspace(it->number());
-          break;
-        case Action::shade:
-          toggleShaded((*_active)->window());
-          break;
-        }
+        e.xkey.state == it->modifierMask()) {
+      switch (it->type()) {
+      case Action::nextWorkspace:
+        cycleWorkspace(true);
+        break;
+
+      case Action::prevWorkspace:
+        cycleWorkspace(false);
+        break;
+
+      case Action::changeWorkspace:
+        changeWorkspace(it->number());
+        break;
+
+      case Action::shade:
+        (*_active)->shade(! (*_active)->shaded());
         break;
       }
+
+      break;
+    }
   }
 }
 
@@ -216,7 +220,8 @@ void screen::updateClientList() {
     if (it == end) {  // didn't already exist
       if (doAddWindow(rootclients[i])) {
         cout << "Added window: 0x" << hex << rootclients[i] << dec << endl;
-        _clients.insert(insert_point, new XWindow(_epist, rootclients[i]));
+        _clients.insert(insert_point, new XWindow(_epist, this,
+                                                  rootclients[i]));
       }
     }
   }
@@ -291,8 +296,3 @@ void screen::cycleWorkspace(const bool forward) const {
 void screen::changeWorkspace(const int num) const {
   _xatom->sendClientMessage(_root, XAtom::net_current_desktop, _root, num);
 }
-
-void screen::toggleShaded(const Window win) const {
-  _xatom->sendClientMessage(_root, XAtom::net_wm_state, win, 2,
-                            XAtom::net_wm_state_shaded);
-}
index 4027b47fb337def6cd6b3d767ee25cd273f26ee1..1d5a219dfc92af1ec8201f28276e21a9a7bc40e8 100644 (file)
@@ -31,12 +31,13 @@ using std::endl;
 using std::hex;
 using std::dec;
 
-#include "window.hh"
 #include "epist.hh"
+#include "screen.hh"
+#include "window.hh"
 #include "../../src/XAtom.hh"
 
-XWindow::XWindow(epist *epist, Window window)
-  : _epist(epist), _xatom(epist->xatom()), _window(window) {
+XWindow::XWindow(epist *epist, screen *screen, Window window)
+  : _epist(epist), _screen(screen), _xatom(epist->xatom()), _window(window) {
 
   _unmapped = false;
 
@@ -140,3 +141,9 @@ void XWindow::processEvent(const XEvent &e) {
     break;
   }
 }
+  
+
+void XWindow::shade(const bool sh) const {
+  _xatom->sendClientMessage(_screen->rootWindow(), XAtom::net_wm_state,
+                            _window, (sh ? 1 : 0), XAtom::net_wm_state_shaded);
+}
index 30ae529d6995d408dd1060c3b4a99e2cbe9b1f38..edd126b05064aa710d5a5433d6543a42e1a3c5cd 100644 (file)
@@ -31,6 +31,7 @@ extern "C" {
 #include <string>
 
 class epist;
+class screen;
 class XWindow;
 class XAtom;
 
@@ -39,6 +40,7 @@ typedef std::list<XWindow *> WindowList;
 class XWindow {
 private:
   epist *_epist;
+  screen *_screen;
   XAtom *_xatom;
   Window _window;
   
@@ -61,7 +63,7 @@ private:
   void updateClass();
 
 public:
-  XWindow(epist *epist, Window window);
+  XWindow(epist *epist, screen *screen, Window window);
   virtual ~XWindow();
 
   inline Window window() const { return _window; }
@@ -78,6 +80,8 @@ public:
 
   void processEvent(const XEvent &e);
 
+  void shade(const bool sh) const;
+
   bool operator == (const XWindow &w) const { return w._window == _window; }
   bool operator == (const Window &w) const { return w == _window; }
 };
This page took 0.036007 seconds and 4 git commands to generate.