X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=util%2Fepist%2Fwindow.hh;h=f86c25a5a98767aa398326d06ac779644f51958f;hb=6ca5c5891a58c616b32b733c99fe373aa58bc360;hp=fdf2223ef663a3d54b7c746078f7bad297e345a4;hpb=28594da6de001f1d8b6b975286032302db3a6491;p=chaz%2Fopenbox diff --git a/util/epist/window.hh b/util/epist/window.hh index fdf2223e..f86c25a5 100644 --- a/util/epist/window.hh +++ b/util/epist/window.hh @@ -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 // // Permission is hereby granted, free of charge, to any person obtaining a @@ -30,7 +30,7 @@ extern "C" { #include #include -#include "../../src/Util.hh" +#include "../../src/util.hh" class epist; class screen; @@ -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,17 +66,21 @@ 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(); @@ -87,11 +97,13 @@ public: 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(); } @@ -105,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;