X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=util%2Fepist%2Fwindow.hh;h=edd126b05064aa710d5a5433d6543a42e1a3c5cd;hb=8e601e4a64b37f333fc3a5f844e4d72d6f289415;hp=01cb2a8046985942524c497d77946a27f00f3cea;hpb=0aae72418670c23f3fac604aca62cc8a461704f6;p=chaz%2Fopenbox diff --git a/util/epist/window.hh b/util/epist/window.hh index 01cb2a80..edd126b0 100644 --- a/util/epist/window.hh +++ b/util/epist/window.hh @@ -1,5 +1,5 @@ // -*- mode: C++; indent-tabs-mode: nil; -*- -// window.hh for Epistory - a key handler for NETWM/EWMH window managers. +// window.hh for Epistophy - 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 @@ -28,31 +28,60 @@ extern "C" { } #include +#include +class epist; +class screen; class XWindow; +class XAtom; -typedef std::list WindowList; +typedef std::list WindowList; class XWindow { private: + epist *_epist; + screen *_screen; + XAtom *_xatom; Window _window; + unsigned int _desktop; + std::string _title; + std::string _app_name; + std::string _app_class; + + // states bool _shaded; bool _iconic; bool _max_vert; bool _max_horz; + bool _unmapped; + + void updateState(); + void updateDesktop(); + void updateTitle(); + void updateClass(); + public: - XWindow(Window window); + XWindow(epist *epist, screen *screen, Window window); virtual ~XWindow(); 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_name; } + 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; } + 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; } };