fixed license, construtor and moved motif_wm_hints atom to getWMHints in FluxboxWindow instead
fluxgen fluxgen
2 files changed,
22 insertions(+),
20 deletions(-)
M
src/FbAtoms.cc
→
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 @@ // all copies or substantial portions of the Software.
// // 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 <string> +#include <cassert> + 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::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 @@ xa_wm_state = XInternAtom(display, "WM_STATE", False);
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);
M
src/FbAtoms.hh
→
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 @@ // all copies or substantial portions of the Software.
// // 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 @@ atom handler for base atoms
*/ class FbAtoms { public: - explicit FbAtoms(Display *display); - virtual ~FbAtoms(); + FbAtoms(); + ~FbAtoms(); + static FbAtoms *instance();@@ -42,7 +43,6 @@ inline Atom getWMDeleteAtom() const { return xa_wm_delete_window; }
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 @@ inline Atom getFluxboxChangeWindowFocusAtom() const { return blackbox_change_window_focus; }
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 @@ Atom blackbox_change_workspace, blackbox_change_window_focus,
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; };