From 78d4f8f6105e07d289c8d5a63f46ab5a35bcfc33 Mon Sep 17 00:00:00 2001 From: fluxgen Date: Tue, 15 Apr 2003 11:59:02 +0000 Subject: fixed license, construtor and moved motif_wm_hints atom to getWMHints in FluxboxWindow instead --- src/FbAtoms.cc | 24 +++++++++++++----------- src/FbAtoms.hh | 18 +++++++++--------- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/src/FbAtoms.cc b/src/FbAtoms.cc index b68a8bd..5a75f2b 100644 --- a/src/FbAtoms.cc +++ b/src/FbAtoms.cc @@ -1,5 +1,5 @@ // FbAtom.cc -// Copyright (c) 2002 Henrik Kinnunen (fluxgen@linuxmail.org) +// Copyright (c) 2002 - 2003 Henrik Kinnunen (fluxgen(at)linuxmail.org) // // Permission is hereby granted, free of charge, to any person obtaining a // copy of this software and associated documentation files (the "Software"), @@ -13,30 +13,30 @@ // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // 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: FbAtoms.cc,v 1.5 2002/12/01 13:41:56 rathnor Exp $ +// $Id: FbAtoms.cc,v 1.6 2003/04/15 11:59:02 fluxgen Exp $ #include "FbAtoms.hh" +#include "App.hh" #include +#include + using namespace std; FbAtoms *FbAtoms::s_singleton = 0; -FbAtoms::FbAtoms(Display *display):m_init(false) { +FbAtoms::FbAtoms():m_init(false) { if (s_singleton != 0) throw string("You can only create one instance of FbAtoms"); - if (display == 0) - throw string("Must supply FbAtoms with an valid display connection"); - s_singleton = this; - initAtoms(display); + initAtoms(); } FbAtoms::~FbAtoms() { @@ -44,11 +44,14 @@ FbAtoms::~FbAtoms() { } FbAtoms *FbAtoms::instance() { - assert(s_singleton); + if (s_singleton == 0) + throw string("Create one instance of FbAtoms first!"); + return s_singleton; } -void FbAtoms::initAtoms(Display *display) { +void FbAtoms::initAtoms() { + Display *display = FbTk::App::instance()->display(); xa_wm_colormap_windows = XInternAtom(display, "WM_COLORMAP_WINDOWS", False); @@ -57,7 +60,6 @@ void FbAtoms::initAtoms(Display *display) { xa_wm_change_state = XInternAtom(display, "WM_CHANGE_STATE", False); xa_wm_delete_window = XInternAtom(display, "WM_DELETE_WINDOW", False); xa_wm_take_focus = XInternAtom(display, "WM_TAKE_FOCUS", False); - motif_wm_hints = XInternAtom(display, "_MOTIF_WM_HINTS", False); blackbox_hints = XInternAtom(display, "_BLACKBOX_HINTS", False); blackbox_attributes = XInternAtom(display, "_BLACKBOX_ATTRIBUTES", False); diff --git a/src/FbAtoms.hh b/src/FbAtoms.hh index 327e26e..39bd380 100644 --- a/src/FbAtoms.hh +++ b/src/FbAtoms.hh @@ -1,5 +1,5 @@ // FbAtom.hh -// Copyright (c) 2002 Henrik Kinnunen (fluxgen@linuxmail.org) +// Copyright (c) 2002 - 2003 Henrik Kinnunen (fluxgen(at)fluxbox.org) // // Permission is hereby granted, free of charge, to any person obtaining a // copy of this software and associated documentation files (the "Software"), @@ -13,13 +13,13 @@ // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // 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: FbAtoms.hh,v 1.8 2002/12/01 13:41:56 rathnor Exp $ +// $Id: FbAtoms.hh,v 1.9 2003/04/15 11:57:34 fluxgen Exp $ #ifndef FBATOMS_HH #define FBATOMS_HH @@ -31,8 +31,9 @@ */ class FbAtoms { public: - explicit FbAtoms(Display *display); - virtual ~FbAtoms(); + FbAtoms(); + ~FbAtoms(); + static FbAtoms *instance(); @@ -42,7 +43,6 @@ public: inline Atom getWMProtocolsAtom() const { return xa_wm_protocols; } inline Atom getWMTakeFocusAtom() const { return xa_wm_take_focus; } inline Atom getWMColormapAtom() const { return xa_wm_colormap_windows; } - inline Atom getMotifWMHintsAtom() const { return motif_wm_hints; } // this atom is for normal app->WM hints about decorations, stacking, // starting workspace etc... @@ -77,7 +77,7 @@ public: inline Atom getFluxboxCycleWindowFocusAtom() const { return blackbox_cycle_window_focus; } private: - void initAtoms(Display *disp); + void initAtoms(); // NETAttributes Atom blackbox_attributes, blackbox_change_attributes, blackbox_hints; @@ -93,8 +93,8 @@ private: blackbox_cycle_window_focus; Atom xa_wm_colormap_windows, xa_wm_protocols, xa_wm_state, - xa_wm_delete_window, xa_wm_take_focus, xa_wm_change_state, - motif_wm_hints; + xa_wm_delete_window, xa_wm_take_focus, xa_wm_change_state; + bool m_init; static FbAtoms *s_singleton; }; -- cgit v0.11.2