00001 // Copyright (c) 2003 - 2004 Anselm R. Garbe <anselmg at t-online.de> 00002 // See ../LICENSE.txt for license details. 00003 // 00004 // $Id: theme.h 7 2007-05-24 11:03:53Z eg1981 $ 00005 00006 #ifndef __THEME_H 00007 #define __THEME_H 00008 00009 extern "C" { 00010 #include <X11/Xlib.h> 00011 } 00012 00013 #include <map> 00014 #include <string> 00015 00016 #include "ncwm.h" 00017 00018 typedef map<string, string, less<string> > MSettings; 00019 00023 class Theme 00024 { 00025 00026 public: 00027 00028 Theme(); 00029 ~Theme(); 00030 00031 void initTheme(MSettings *settings, Colormap cmap); 00032 00033 unsigned long BAR_BACKGROUND; 00034 unsigned long BAR_TEXT; 00035 unsigned long BAR_SHINE; 00036 unsigned long BAR_SHADOW; 00037 00038 unsigned long METER_BACKGROUND; 00039 unsigned long METER_FIGURE_HIGH; 00040 unsigned long METER_FIGURE_NORMAL; 00041 unsigned long METER_FIGURE_LOW; 00042 unsigned long METER_BORDER_SHINE; 00043 unsigned long METER_BORDER_SHADOW; 00044 00045 unsigned long FOCUSREQ_BACKGROUND; 00046 unsigned long FOCUSREQ_TEXT; 00047 unsigned long FOCUSREQ_SHINE; 00048 unsigned long FOCUSREQ_SHADOW; 00049 00050 unsigned long TILED_SHINE_FOCUSSED; 00051 unsigned long TILED_SHADOW_FOCUSSED; 00052 unsigned long TILED_SHINE_NORMAL; 00053 unsigned long TILED_SHADOW_NORMAL; 00054 00055 unsigned long BUTTON_BACKGROUND_NORMAL; 00056 unsigned long BUTTON_BACKGROUND_PRESSED; 00057 unsigned long BUTTON_SHINE_BORDER_NORMAL; 00058 unsigned long BUTTON_SHINE_BORDER_PRESSED; 00059 unsigned long BUTTON_SHADOW_BORDER_NORMAL; 00060 unsigned long BUTTON_SHADOW_BORDER_PRESSED; 00061 unsigned long BUTTON_SHINE_FIGURE_NORMAL; 00062 unsigned long BUTTON_SHINE_FIGURE_PRESSED; 00063 unsigned long BUTTON_SHADOW_FIGURE_NORMAL; 00064 unsigned long BUTTON_SHADOW_FIGURE_PRESSED; 00065 00066 unsigned long FRAME_BACKGROUND_NORMAL; 00067 unsigned long FRAME_BACKGROUND_FOCUSSED; 00068 unsigned long FRAME_SHINE_NORMAL; 00069 unsigned long FRAME_SHINE_FOCUSSED; 00070 unsigned long FRAME_SHADOW_NORMAL; 00071 unsigned long FRAME_SHADOW_FOCUSSED; 00072 unsigned long FRAME_PSEUDO; 00073 00074 unsigned long LABEL_BACKGROUND_NORMAL; 00075 unsigned long LABEL_BACKGROUND_FOCUSSED; 00076 unsigned long LABEL_TEXT_NORMAL; 00077 unsigned long LABEL_TEXT_FOCUSSED; 00078 unsigned long LABEL_SHINE_NORMAL; 00079 unsigned long LABEL_SHINE_FOCUSSED; 00080 unsigned long LABEL_SHADOW_NORMAL; 00081 unsigned long LABEL_SHADOW_FOCUSSED; 00082 00083 unsigned long TAB_BACKGROUND_ACTIVE_NORMAL; 00084 unsigned long TAB_BACKGROUND_INACTIVE_NORMAL; 00085 unsigned long TAB_BACKGROUND_ACTIVE_FOCUSSED; 00086 unsigned long TAB_BACKGROUND_INACTIVE_FOCUSSED; 00087 unsigned long TAB_TEXT_ACTIVE_NORMAL; 00088 unsigned long TAB_TEXT_INACTIVE_NORMAL; 00089 unsigned long TAB_TEXT_ACTIVE_FOCUSSED; 00090 unsigned long TAB_TEXT_INACTIVE_FOCUSSED; 00091 unsigned long TAB_SHINE_ACTIVE_NORMAL; 00092 unsigned long TAB_SHINE_INACTIVE_NORMAL; 00093 unsigned long TAB_SHINE_ACTIVE_FOCUSSED; 00094 unsigned long TAB_SHINE_INACTIVE_FOCUSSED; 00095 unsigned long TAB_SHADOW_ACTIVE_NORMAL; 00096 unsigned long TAB_SHADOW_INACTIVE_NORMAL; 00097 unsigned long TAB_SHADOW_ACTIVE_FOCUSSED; 00098 unsigned long TAB_SHADOW_INACTIVE_FOCUSSED; 00099 00100 private: 00101 unsigned long allocateColor(string name, Colormap cmap); 00102 00103 }; 00104 00105 #endif // __THEME_H