diff options
Diffstat (limited to 'src/fluxbox.hh')
-rw-r--r-- | src/fluxbox.hh | 47 |
1 files changed, 23 insertions, 24 deletions
diff --git a/src/fluxbox.hh b/src/fluxbox.hh index c5db866..f7d2191 100644 --- a/src/fluxbox.hh +++ b/src/fluxbox.hh | |||
@@ -22,16 +22,14 @@ | |||
22 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 22 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
23 | // DEALINGS IN THE SOFTWARE. | 23 | // DEALINGS IN THE SOFTWARE. |
24 | 24 | ||
25 | // $Id: fluxbox.hh,v 1.48 2003/04/15 00:50:25 rathnor Exp $ | 25 | // $Id: fluxbox.hh,v 1.49 2003/04/15 12:11:10 fluxgen Exp $ |
26 | 26 | ||
27 | #ifndef FLUXBOX_HH | 27 | #ifndef FLUXBOX_HH |
28 | #define FLUXBOX_HH | 28 | #define FLUXBOX_HH |
29 | 29 | ||
30 | #include "Resource.hh" | 30 | #include "Resource.hh" |
31 | #include "Keys.hh" | ||
32 | #include "BaseDisplay.hh" | 31 | #include "BaseDisplay.hh" |
33 | #include "Timer.hh" | 32 | #include "Timer.hh" |
34 | #include "Toolbar.hh" | ||
35 | #include "Observer.hh" | 33 | #include "Observer.hh" |
36 | 34 | ||
37 | #ifdef HAVE_CONFIG_H | 35 | #ifdef HAVE_CONFIG_H |
@@ -39,7 +37,6 @@ | |||
39 | #endif // HAVE_CONFIG_H | 37 | #endif // HAVE_CONFIG_H |
40 | 38 | ||
41 | #include "SignalHandler.hh" | 39 | #include "SignalHandler.hh" |
42 | #include "FbAtoms.hh" | ||
43 | 40 | ||
44 | #include <X11/Xlib.h> | 41 | #include <X11/Xlib.h> |
45 | #include <X11/Xresource.h> | 42 | #include <X11/Xresource.h> |
@@ -65,6 +62,9 @@ | |||
65 | 62 | ||
66 | class AtomHandler; | 63 | class AtomHandler; |
67 | class FluxboxWindow; | 64 | class FluxboxWindow; |
65 | class Keys; | ||
66 | class BScreen; | ||
67 | class FbAtoms; | ||
68 | 68 | ||
69 | /** | 69 | /** |
70 | main class for the window manager. | 70 | main class for the window manager. |
@@ -72,7 +72,6 @@ class FluxboxWindow; | |||
72 | */ | 72 | */ |
73 | class Fluxbox : public BaseDisplay, public FbTk::TimeoutHandler, | 73 | class Fluxbox : public BaseDisplay, public FbTk::TimeoutHandler, |
74 | public FbTk::SignalEventHandler, | 74 | public FbTk::SignalEventHandler, |
75 | public FbAtoms, | ||
76 | public FbTk::Observer { | 75 | public FbTk::Observer { |
77 | public: | 76 | public: |
78 | Fluxbox(int argc, char **argv, const char * dpy_name= 0, const char *rc = 0); | 77 | Fluxbox(int argc, char **argv, const char * dpy_name= 0, const char *rc = 0); |
@@ -80,11 +79,10 @@ public: | |||
80 | 79 | ||
81 | static Fluxbox *instance() { return singleton; } | 80 | static Fluxbox *instance() { return singleton; } |
82 | 81 | ||
83 | inline bool useIconBar() { return *m_rc_iconbar; } | 82 | inline bool useIconBar() const { return *m_rc_iconbar; } |
84 | inline void saveIconBar(bool value) { m_rc_iconbar = value; } | 83 | inline void saveIconBar(bool value) { m_rc_iconbar = value; } |
85 | #ifdef HAVE_GETPID | 84 | |
86 | inline Atom getFluxboxPidAtom() const { return fluxbox_pid; } | 85 | inline Atom getFluxboxPidAtom() const { return fluxbox_pid; } |
87 | #endif // HAVE_GETPID | ||
88 | 86 | ||
89 | FluxboxWindow *searchGroup(Window, FluxboxWindow *); | 87 | FluxboxWindow *searchGroup(Window, FluxboxWindow *); |
90 | FluxboxWindow *searchWindow(Window); | 88 | FluxboxWindow *searchWindow(Window); |
@@ -101,8 +99,8 @@ public: | |||
101 | 99 | ||
102 | enum FocusModel { SLOPPYFOCUS=0, SEMISLOPPYFOCUS, CLICKTOFOCUS }; | 100 | enum FocusModel { SLOPPYFOCUS=0, SEMISLOPPYFOCUS, CLICKTOFOCUS }; |
103 | 101 | ||
104 | inline const std::vector<Fluxbox::Titlebar>& getTitlebarRight() { return *m_rc_titlebar_right; } | 102 | inline const std::vector<Fluxbox::Titlebar>& getTitlebarRight() const { return *m_rc_titlebar_right; } |
105 | inline const std::vector<Fluxbox::Titlebar>& getTitlebarLeft() { return *m_rc_titlebar_left; } | 103 | inline const std::vector<Fluxbox::Titlebar>& getTitlebarLeft() const { return *m_rc_titlebar_left; } |
106 | inline const std::string &getStyleFilename() const { return *m_rc_stylefile; } | 104 | inline const std::string &getStyleFilename() const { return *m_rc_stylefile; } |
107 | 105 | ||
108 | inline const char *getMenuFilename() const { return m_rc_menufile->c_str(); } | 106 | inline const char *getMenuFilename() const { return m_rc_menufile->c_str(); } |
@@ -113,8 +111,8 @@ public: | |||
113 | // class to store layer numbers (special Resource type) | 111 | // class to store layer numbers (special Resource type) |
114 | class Layer { | 112 | class Layer { |
115 | public: | 113 | public: |
116 | Layer(int i) : m_num(i) {}; | 114 | explicit Layer(int i) : m_num(i) {}; |
117 | const int getNum() const { return m_num; } | 115 | inline int getNum() const { return m_num; } |
118 | 116 | ||
119 | Layer &operator=(int num) { m_num = num; return *this; } | 117 | Layer &operator=(int num) { m_num = num; return *this; } |
120 | 118 | ||
@@ -139,25 +137,25 @@ public: | |||
139 | 137 | ||
140 | inline void maskWindowEvents(Window w, FluxboxWindow *bw) | 138 | inline void maskWindowEvents(Window w, FluxboxWindow *bw) |
141 | { masked = w; masked_window = bw; } | 139 | { masked = w; masked_window = bw; } |
142 | inline void setNoFocus(Bool f) { no_focus = f; } | 140 | inline void setNoFocus(bool f) { no_focus = f; } |
143 | 141 | ||
144 | void watchKeyRelease(BScreen *screen, unsigned int mods); | 142 | void watchKeyRelease(BScreen *screen, unsigned int mods); |
145 | 143 | ||
146 | void setFocusedWindow(FluxboxWindow *w); | 144 | void setFocusedWindow(FluxboxWindow *w); |
147 | void shutdown(); | 145 | void shutdown(); |
148 | void load_rc(BScreen *); | 146 | void load_rc(BScreen &scr); |
149 | void loadRootCommand(BScreen *); | 147 | void loadRootCommand(BScreen &scr); |
150 | void loadTitlebar(); | 148 | void loadTitlebar(); |
151 | void saveStyleFilename(const char *val) { m_rc_stylefile = (val == 0 ? "" : val); } | 149 | void saveStyleFilename(const char *val) { m_rc_stylefile = (val == 0 ? "" : val); } |
152 | void saveMenuFilename(const char *); | 150 | void saveMenuFilename(const char *); |
153 | void saveTitlebarFilename(const char *); | 151 | void saveTitlebarFilename(const char *); |
154 | void saveSlitlistFilename(const char *val) { m_rc_slitlistfile = (val == 0 ? "" : val); } | 152 | void saveSlitlistFilename(const char *val) { m_rc_slitlistfile = (val == 0 ? "" : val); } |
155 | void saveWindowSearch(Window, FluxboxWindow *); | 153 | void saveWindowSearch(Window win, FluxboxWindow *fbwin); |
156 | void saveGroupSearch(Window, FluxboxWindow *); | 154 | void saveGroupSearch(Window win, FluxboxWindow *fbwin); |
157 | void save_rc(); | 155 | void save_rc(); |
158 | void removeWindowSearch(Window); | 156 | void removeWindowSearch(Window win); |
159 | void removeGroupSearch(Window); | 157 | void removeGroupSearch(Window win); |
160 | void restart(const char * = 0); | 158 | void restart(const char *command = 0); |
161 | void reconfigure(); | 159 | void reconfigure(); |
162 | void rereadMenu(); | 160 | void rereadMenu(); |
163 | void checkMenu(); | 161 | void checkMenu(); |
@@ -211,8 +209,11 @@ private: | |||
211 | void handleUnmapNotify(XUnmapEvent &ue); | 209 | void handleUnmapNotify(XUnmapEvent &ue); |
212 | void handleClientMessage(XClientMessageEvent &ce); | 210 | void handleClientMessage(XClientMessageEvent &ce); |
213 | void handleKeyEvent(XKeyEvent &ke); | 211 | void handleKeyEvent(XKeyEvent &ke); |
214 | void doWindowAction(Keys::KeyAction action, const int param); | 212 | void doWindowAction(int action, const int param); |
213 | void setTitlebar(std::vector<Fluxbox::Titlebar>& dir, const char *arg); | ||
215 | 214 | ||
215 | std::auto_ptr<FbAtoms> m_fbatoms; | ||
216 | |||
216 | ResourceManager m_resourcemanager, m_screen_rm; | 217 | ResourceManager m_resourcemanager, m_screen_rm; |
217 | 218 | ||
218 | //--- Resources | 219 | //--- Resources |
@@ -226,7 +227,6 @@ private: | |||
226 | Resource<TitlebarList> m_rc_titlebar_left, m_rc_titlebar_right; | 227 | Resource<TitlebarList> m_rc_titlebar_left, m_rc_titlebar_right; |
227 | Resource<unsigned int> m_rc_cache_life, m_rc_cache_max; | 228 | Resource<unsigned int> m_rc_cache_life, m_rc_cache_max; |
228 | 229 | ||
229 | void setTitlebar(std::vector<Fluxbox::Titlebar>& dir, const char *arg); | ||
230 | 230 | ||
231 | std::map<Window, FluxboxWindow *> windowSearch; | 231 | std::map<Window, FluxboxWindow *> windowSearch; |
232 | std::map<Window, FluxboxWindow *> groupSearch; | 232 | std::map<Window, FluxboxWindow *> groupSearch; |
@@ -241,9 +241,7 @@ private: | |||
241 | BScreen *watching_screen; | 241 | BScreen *watching_screen; |
242 | unsigned int watch_keyrelease; | 242 | unsigned int watch_keyrelease; |
243 | 243 | ||
244 | #ifdef HAVE_GETPID | ||
245 | Atom fluxbox_pid; | 244 | Atom fluxbox_pid; |
246 | #endif // HAVE_GETPID | ||
247 | 245 | ||
248 | bool no_focus, reconfigure_wait, reread_menu_wait; | 246 | bool no_focus, reconfigure_wait, reread_menu_wait; |
249 | Time last_time; | 247 | Time last_time; |
@@ -258,6 +256,7 @@ private: | |||
258 | 256 | ||
259 | static Fluxbox *singleton; | 257 | static Fluxbox *singleton; |
260 | std::vector<AtomHandler *> m_atomhandler; | 258 | std::vector<AtomHandler *> m_atomhandler; |
259 | |||
261 | }; | 260 | }; |
262 | 261 | ||
263 | 262 | ||