00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __EDELIB_XSETTINGSMANAGER_H__
00023 #define __EDELIB_XSETTINGSMANAGER_H__
00024
00025 #include "XSettingsCommon.h"
00026
00027 EDELIB_NS_BEGIN
00028
00038 class EDELIB_API XSettingsManager {
00039 private:
00040 E_DISABLE_CLASS_COPY(XSettingsManager)
00041
00042 protected:
00044 XSettingsData* manager_data;
00045
00046 public:
00050 XSettingsManager() : manager_data(NULL) { }
00051
00055 ~XSettingsManager() { clear(); }
00056
00063 bool init(Display* dpy, int screen);
00064
00069 void clear(void);
00070
00077 static bool manager_running(Display* dpy, int screen);
00078
00084 bool should_terminate(const XEvent* xev);
00085
00091 void set(const char* name, int val);
00092
00098 void set(const char* name, const char* val);
00099
00108 void set(const char* name, unsigned short red, unsigned short green, unsigned short blue, unsigned short alpha);
00109
00113 void notify(void);
00114 };
00115
00116 EDELIB_NS_END
00117 #endif