all repos — fluxbox @ 9d5eb092fab89c34c8b672d64bab0bffd27f3091

custom fork of the fluxbox windowmanager

added screen accessor and removed client from window before we send signal
fluxgen fluxgen
commit

9d5eb092fab89c34c8b672d64bab0bffd27f3091

parent

860b70e5b65e0f6771442f7e5417440e23a5d1cd

2 files changed, 13 insertions(+), 8 deletions(-)

jump to
M src/WinClient.ccsrc/WinClient.cc

@@ -19,7 +19,7 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING

// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. -// $Id: WinClient.cc,v 1.8 2003/05/10 22:59:32 fluxgen Exp $ +// $Id: WinClient.cc,v 1.9 2003/05/14 12:07:06 fluxgen Exp $ #include "WinClient.hh"

@@ -56,13 +56,18 @@ blackbox_hint(0),

m_win(&fbwin), modal(false), m_title(""), m_icon_title(""), - m_diesig(*this) { } + m_diesig(*this), m_screen(fbwin.screen()) { } WinClient::~WinClient() { #ifdef DEBUG cerr<<__FILE__<<"(~"<<__FUNCTION__<<")[this="<<this<<"]"<<endl; #endif // DEBUG + FbTk::EventManager::instance()->remove(window()); + + if (m_win != 0) + m_win->removeClient(*this); + // this takes care of any focus issues m_diesig.notify();

@@ -93,11 +98,7 @@

if (window()) fluxbox->removeWindowSearch(window()); - if (m_win != 0) - m_win->removeClient(*this); - FbTk::EventManager::instance()->remove(window()); m_win = 0; - } void WinClient::updateRect(int x, int y,
M src/WinClient.hhsrc/WinClient.hh

@@ -19,7 +19,7 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING

// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. -// $Id: WinClient.hh,v 1.4 2003/05/10 14:16:38 fluxgen Exp $ +// $Id: WinClient.hh,v 1.5 2003/05/14 12:07:05 fluxgen Exp $ #ifndef WINCLIENT_HH #define WINCLIENT_HH

@@ -30,6 +30,8 @@ #include "FbWindow.hh"

#include <X11/Xutil.h> #include <string> + +class BScreen; /// Holds client window info class WinClient:public FbTk::FbWindow {

@@ -48,7 +50,8 @@ bool getWMName(XTextProperty &textprop) const;

bool getWMIconName(XTextProperty &textprop) const; void updateTitle(); void updateIconTitle(); - + BScreen &screen() { return m_screen; } + const BScreen &screen() const { return m_screen; } /// notifies when this client dies FbTk::Subject &dieSig() { return m_diesig; }

@@ -109,6 +112,7 @@ private:

bool modal; std::string m_title, m_icon_title; WinClientSubj m_diesig; + BScreen &m_screen; }; #endif // WINCLIENT_HH