X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=util%2Fepist%2Fwindow.hh;h=e7f382808cc56de23ca33221166067ef7ae75208;hb=4aeca296e895bfe74d59d4732e740c2d49c10080;hp=636e90bae0691ef1951c47efccc719aa3f2df458;hpb=24a1e215d1f8d2ff1674847278a15336d4b671b6;p=chaz%2Fopenbox diff --git a/util/epist/window.hh b/util/epist/window.hh index 636e90ba..e7f38280 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 @@ -31,14 +31,24 @@ extern "C" { #include class epist; +class screen; class XWindow; class XAtom; typedef std::list WindowList; class XWindow { +public: + enum Max { + Max_None, + Max_Horz, + Max_Vert, + Max_Full + }; + private: epist *_epist; + screen *_screen; XAtom *_xatom; Window _window; @@ -60,8 +70,10 @@ private: void updateTitle(); void updateClass(); + void findFramePosition(int &x, int &y) const; + public: - XWindow(epist *epist, Window window); + XWindow(epist *epist, screen *screen, Window window); virtual ~XWindow(); inline Window window() const { return _window; } @@ -69,7 +81,7 @@ public: 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 const std::string &appClass() const { return _app_class; } inline bool shaded() const { return _shaded; } inline bool iconic() const { return _iconic; } @@ -78,6 +90,17 @@ public: void processEvent(const XEvent &e); + void shade(const bool sh) const; + void close() const; + void raise() const; + void lower() const; + void iconify() const; + void focus() const; + void sendTo(unsigned int dest) const; + void move(int x, int y) const; + void toggleMaximize(Max max) const; // i hate toggle functions + void maximize(Max max) const; + bool operator == (const XWindow &w) const { return w._window == _window; } bool operator == (const Window &w) const { return w == _window; } };