]> Dogcows Code - chaz/openbox/blobdiff - util/epist/window.hh
dont change last active while cycling around in stacked mode
[chaz/openbox] / util / epist / window.hh
index 406efe09487c343c01c2bc35649b5a3a8772c4ea..d14ec06fca56e281642ca805f46492540e17e2e4 100644 (file)
@@ -1,5 +1,5 @@
 // -*- mode: C++; indent-tabs-mode: nil; -*-
-// window.hh for Epistophy - a key handler for NETWM/EWMH window managers.
+// window.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
@@ -46,6 +46,12 @@ public:
   };
 
 private:
+  // defined by black/openbox
+  static const unsigned long PropBlackboxAttributesElements = 9;
+  static const unsigned long AttribDecoration = 1 << 6;
+  static const unsigned long DecorNone = 0;
+  static const unsigned long DecorNormal = 2;
+
   epist  *_epist;
   screen *_screen;
   XAtom  *_xatom;
@@ -60,39 +66,44 @@ private:
   int _inc_x, _inc_y; // resize increments
   int _base_x, _base_y; // base size
   int _gravity;
+  bool _can_focus;
 
   // states
   bool _shaded;
   bool _iconic;
   bool _max_vert;
   bool _max_horz;
+  bool _decorated;
 
   bool _unmapped;
 
   void updateDimentions();
-  void updateHints();
+  void updateBlackboxAttributes();
+  void updateNormalHints();
+  void updateWMHints();
   void updateState();
   void updateDesktop();
   void updateTitle();
   void updateClass();
 
-  void findFramePosition(int &x, int &y) const;
-
 public:
   XWindow(epist *epist, screen *screen, Window window);
   virtual ~XWindow();
 
+  inline screen *getScreen() const { return _screen; }
   inline Window window() const { return _window; }
   
   inline unsigned int desktop() const { return _desktop; }
   inline const std::string &title() const { return _title; }
   inline const std::string &appName() const { return _app_name; }
   inline const std::string &appClass() const { return _app_class; }
+  inline bool canFocus() const { return _can_focus; }
   
   inline bool shaded() const { return _shaded; }
   inline bool iconic() const { return _iconic; }
   inline bool maxVert() const { return _max_vert; }
   inline bool maxHorz() const { return _max_horz; }
+  inline bool decorated() const { return _decorated; }
   inline const Rect &area() const { return _rect; }
   inline unsigned int x() const { return _rect.x(); }
   inline unsigned int y() const { return _rect.y(); }
@@ -106,10 +117,12 @@ public:
   void raise() const;
   void lower() const;
   void iconify() const;
-  void focus() const;
+  void focus(bool raise = true) const;
+  void decorate(bool d) const;
   void sendTo(unsigned int dest) const;
   void move(int x, int y) const;
-  void resize(unsigned int width, unsigned int height) const;
+  void resizeRel(int dwidth, int dheight) const;
+  void resizeAbs(unsigned int width, unsigned int height) const;
   void toggleMaximize(Max max) const; // i hate toggle functions
   void maximize(Max max) const;
 
This page took 0.022143 seconds and 4 git commands to generate.