diff options
Diffstat (limited to 'src/Screen.hh')
-rw-r--r-- | src/Screen.hh | 31 |
1 files changed, 14 insertions, 17 deletions
diff --git a/src/Screen.hh b/src/Screen.hh index 02fcc0d..57c41b6 100644 --- a/src/Screen.hh +++ b/src/Screen.hh | |||
@@ -54,6 +54,7 @@ | |||
54 | #include <map> | 54 | #include <map> |
55 | 55 | ||
56 | class ClientPattern; | 56 | class ClientPattern; |
57 | class FbMenu; | ||
57 | class Focusable; | 58 | class Focusable; |
58 | class FluxboxWindow; | 59 | class FluxboxWindow; |
59 | class WinClient; | 60 | class WinClient; |
@@ -122,12 +123,12 @@ public: | |||
122 | const std::string &windowMenuFilename() const { return *resource.windowmenufile; } | 123 | const std::string &windowMenuFilename() const { return *resource.windowmenufile; } |
123 | FbTk::ImageControl &imageControl() { return *m_image_control.get(); } | 124 | FbTk::ImageControl &imageControl() { return *m_image_control.get(); } |
124 | // menus | 125 | // menus |
125 | const FbTk::Menu &rootMenu() const { return *m_rootmenu.get(); } | 126 | const FbMenu &rootMenu() const { return *m_rootmenu.get(); } |
126 | FbTk::Menu &rootMenu() { return *m_rootmenu.get(); } | 127 | FbMenu &rootMenu() { return *m_rootmenu.get(); } |
127 | const FbTk::Menu &configMenu() const { return *m_configmenu.get(); } | 128 | const FbMenu &configMenu() const { return *m_configmenu.get(); } |
128 | FbTk::Menu &configMenu() { return *m_configmenu.get(); } | 129 | FbMenu &configMenu() { return *m_configmenu.get(); } |
129 | const FbTk::Menu &windowMenu() const { return *m_windowmenu.get(); } | 130 | const FbMenu &windowMenu() const { return *m_windowmenu.get(); } |
130 | FbTk::Menu &windowMenu() { return *m_windowmenu.get(); } | 131 | FbMenu &windowMenu() { return *m_windowmenu.get(); } |
131 | ExtraMenus &extraWindowMenus() { return m_extramenus; } | 132 | ExtraMenus &extraWindowMenus() { return m_extramenus; } |
132 | const ExtraMenus &extraWindowMenus() const { return m_extramenus; } | 133 | const ExtraMenus &extraWindowMenus() const { return m_extramenus; } |
133 | 134 | ||
@@ -166,9 +167,9 @@ public: | |||
166 | Workspace *currentWorkspace() { return m_current_workspace; } | 167 | Workspace *currentWorkspace() { return m_current_workspace; } |
167 | const Workspace *currentWorkspace() const { return m_current_workspace; } | 168 | const Workspace *currentWorkspace() const { return m_current_workspace; } |
168 | /// @return the workspace menu | 169 | /// @return the workspace menu |
169 | const FbTk::Menu &workspaceMenu() const { return *m_workspacemenu.get(); } | 170 | const FbMenu &workspaceMenu() const { return *m_workspacemenu.get(); } |
170 | /// @return the workspace menu | 171 | /// @return the workspace menu |
171 | FbTk::Menu &workspaceMenu() { return *m_workspacemenu.get(); } | 172 | FbMenu &workspaceMenu() { return *m_workspacemenu.get(); } |
172 | /// @return focus control handler | 173 | /// @return focus control handler |
173 | const FocusControl &focusControl() const { return *m_focus_control; } | 174 | const FocusControl &focusControl() const { return *m_focus_control; } |
174 | /// @return focus control handler | 175 | /// @return focus control handler |
@@ -251,15 +252,15 @@ public: | |||
251 | /** | 252 | /** |
252 | * Creates an empty menu with specified label | 253 | * Creates an empty menu with specified label |
253 | * @param label for the menu | 254 | * @param label for the menu |
254 | * @return create menu | 255 | * @return created menu |
255 | */ | 256 | */ |
256 | FbTk::Menu *createMenu(const std::string &label); | 257 | FbMenu *createMenu(const std::string &label); |
257 | /** | 258 | /** |
258 | * Creates an empty toggle menu with a specific label | 259 | * Creates an empty toggle menu with a specific label |
259 | * @param label | 260 | * @param label |
260 | * @return created menu | 261 | * @return created menu |
261 | */ | 262 | */ |
262 | FbTk::Menu *createToggleMenu(const std::string &label); | 263 | FbMenu *createToggleMenu(const std::string &label); |
263 | 264 | ||
264 | /** | 265 | /** |
265 | * For extras to add menus. | 266 | * For extras to add menus. |
@@ -276,8 +277,6 @@ public: | |||
276 | 277 | ||
277 | void saveWorkspaces(int w) { *resource.workspaces = w; } | 278 | void saveWorkspaces(int w) { *resource.workspaces = w; } |
278 | 279 | ||
279 | void saveMenu(FbTk::Menu &menu) { m_rootmenu_list.push_back(&menu); } | ||
280 | |||
281 | FbTk::ThemeProxy<FbWinFrameTheme> &focusedWinFrameTheme() { return *m_focused_windowtheme.get(); } | 280 | FbTk::ThemeProxy<FbWinFrameTheme> &focusedWinFrameTheme() { return *m_focused_windowtheme.get(); } |
282 | const FbTk::ThemeProxy<FbWinFrameTheme> &focusedWinFrameTheme() const { return *m_focused_windowtheme.get(); } | 281 | const FbTk::ThemeProxy<FbWinFrameTheme> &focusedWinFrameTheme() const { return *m_focused_windowtheme.get(); } |
283 | FbTk::ThemeProxy<FbWinFrameTheme> &unfocusedWinFrameTheme() { return *m_unfocused_windowtheme.get(); } | 282 | FbTk::ThemeProxy<FbWinFrameTheme> &unfocusedWinFrameTheme() { return *m_unfocused_windowtheme.get(); } |
@@ -385,6 +384,7 @@ public: | |||
385 | void reconfigure(); | 384 | void reconfigure(); |
386 | void reconfigureTabs(); | 385 | void reconfigureTabs(); |
387 | void rereadMenu(); | 386 | void rereadMenu(); |
387 | void rereadWindowMenu(); | ||
388 | void shutdown(); | 388 | void shutdown(); |
389 | /// show position window centered on the screen with "X x Y" text | 389 | /// show position window centered on the screen with "X x Y" text |
390 | void showPosition(int x, int y); | 390 | void showPosition(int x, int y); |
@@ -491,7 +491,6 @@ public: | |||
491 | 491 | ||
492 | private: | 492 | private: |
493 | void setupConfigmenu(FbTk::Menu &menu); | 493 | void setupConfigmenu(FbTk::Menu &menu); |
494 | void initMenu(); | ||
495 | void renderGeomWindow(); | 494 | void renderGeomWindow(); |
496 | void renderPosWindow(); | 495 | void renderPosWindow(); |
497 | 496 | ||
@@ -517,15 +516,13 @@ private: | |||
517 | 516 | ||
518 | 517 | ||
519 | std::auto_ptr<FbTk::ImageControl> m_image_control; | 518 | std::auto_ptr<FbTk::ImageControl> m_image_control; |
520 | std::auto_ptr<FbTk::Menu> m_configmenu, m_rootmenu, m_workspacemenu, m_windowmenu; | 519 | std::auto_ptr<FbMenu> m_configmenu, m_rootmenu, m_workspacemenu, m_windowmenu; |
521 | 520 | ||
522 | ExtraMenus m_extramenus; | 521 | ExtraMenus m_extramenus; |
523 | 522 | ||
524 | typedef std::list<FbTk::Menu *> Rootmenus; | ||
525 | typedef std::list<std::pair<FbTk::FbString, FbTk::Menu *> > Configmenus; | 523 | typedef std::list<std::pair<FbTk::FbString, FbTk::Menu *> > Configmenus; |
526 | 524 | ||
527 | 525 | ||
528 | Rootmenus m_rootmenu_list; | ||
529 | Configmenus m_configmenu_list; | 526 | Configmenus m_configmenu_list; |
530 | Icons m_icon_list; | 527 | Icons m_icon_list; |
531 | 528 | ||