src/atoms.cpp

Go to the documentation of this file.
00001 // Copyright (c) 2003 - 2004 Anselm R. Garbe <anselmg at t-online.de>
00002 // See ../LICENSE.txt for license details.
00003 //
00004 // $Id: atoms.cpp 7 2007-05-24 11:03:53Z eg1981 $
00005 
00006 extern "C" {
00007 #include "X11/Xatom.h"
00008 }
00009 #include <sstream>
00010 
00011 #include "atoms.h"
00012 
00013 #include "logger.h"
00014 #include "kernel.h"
00015 #include "ncwm.h"
00016 #include "xcore.h"
00017 
00018 Atom Atoms::WM_STATE = 0;
00019 Atom Atoms::WM_CHANGE_STATE = 0;
00020 Atom Atoms::WM_PROTOCOLS = 0;
00021 Atom Atoms::WM_DELETE = 0;
00022 Atom Atoms::WM_TAKE_FOCUS = 0;
00023 Atom Atoms::WM_COLORMAPS = 0;
00024 
00025 Atom Atoms::MWM_HINTS = 0;
00026 
00027 Atom Atoms::NET_WM_DESKTOP = 0;
00028 
00029 Atom Atoms::NCWM_ACTIONCMD = 0;
00030 Atom Atoms::NCWM_STATUSTEXT = 0;
00031 Atom Atoms::NCWM_METERTEXT = 0;
00032 Atom Atoms::NCWM_PRETTYPRINT_REQUEST = 0;
00033 Atom Atoms::NCWM_PRETTYPRINT_RESPONSE = 0;
00034 
00035 bool Atoms::initialized_ = false;
00036 
00037 void Atoms::initAtoms()
00038 {
00039     if (initialized_) {
00040         return;
00041     }
00042 
00043     ostringstream oss;
00044 
00045     // ICCCM
00046     WM_STATE = XCORE->internAtom("WM_STATE");
00047     oss << "WM_STATE: " << WM_STATE << endl;
00048     WM_CHANGE_STATE = XCORE->internAtom("WM_CHANGE_STATE");
00049     oss << "WM_CHANGE_STATE: " << WM_CHANGE_STATE << endl;
00050     WM_PROTOCOLS = XCORE->internAtom("WM_PROTOCOLS");
00051     oss << "WM_PROTOCOLS: " << WM_PROTOCOLS << endl;
00052     WM_DELETE = XCORE->internAtom("WM_DELETE_WINDOW");
00053     oss << "WM_DELETE_WINDOW: " << WM_DELETE << endl;
00054     WM_TAKE_FOCUS = XCORE->internAtom("WM_TAKE_FOCUS");
00055     oss << "WM_TAKE_FOCUS: " << WM_TAKE_FOCUS << endl;
00056     WM_COLORMAPS = XCORE->internAtom("WM_COLORMAP_WINDOWS");
00057     oss << "WM_COLORMAP_WINDOWS: " << WM_COLORMAPS << endl;
00058     oss << "XA_WM_ICON_NAME: " << XA_WM_ICON_NAME << endl;
00059     oss << "XA_WM_NAME: " << XA_WM_NAME << endl;
00060     oss << "XA_WM_TRANSIENT_FOR: " << XA_WM_TRANSIENT_FOR;
00061 
00062     LOGDEBUG(oss.str());
00063 
00064     // MOTIF
00065     MWM_HINTS = XCORE->internAtom("_MOTIF_WM_HINTS");
00066 
00067     // NETWM
00068     NET_WM_DESKTOP = XCORE->internAtom("_NET_WM_DESKTOP");
00069 
00070     // NCWM
00071     NCWM_ACTIONCMD = XCORE->internAtom("_NCWM_ACTIONCMD");
00072     NCWM_STATUSTEXT = XCORE->internAtom("_NCWM_STATUSTEXT");
00073     NCWM_METERTEXT = XCORE->internAtom("_NCWM_METERTEXT");
00074     NCWM_PRETTYPRINT_REQUEST =
00075         XCORE->internAtom("_NCWM_PRETTYPRINT_REQUEST");
00076     NCWM_PRETTYPRINT_RESPONSE =
00077         XCORE->internAtom("_NCWM_PRETTYPRINT_RESPONSE");
00078 
00079     initialized_ = true;
00080 }

Generated on Thu May 24 15:19:31 2007 for ncwm by  doxygen 1.5.1