diff options
author | Mathias Gumz <akira@fluxbox.org> | 2015-01-22 15:28:53 (GMT) |
---|---|---|
committer | Mathias Gumz <akira@fluxbox.org> | 2015-01-22 15:28:53 (GMT) |
commit | ab2eef49371b2c9e45efea128fc84f3d556d1901 (patch) | |
tree | 4054a47639da3cf7ac262b1122110d38cb3aad41 /src/Screen.hh | |
parent | 3cda1099e265fd8d08bf5f19a0cbd15d6ad5f0d3 (diff) | |
download | fluxbox-ab2eef49371b2c9e45efea128fc84f3d556d1901.zip fluxbox-ab2eef49371b2c9e45efea128fc84f3d556d1901.tar.bz2 |
Add -no-slit and -no-toolbar flags
Sometimes fluxbox is used as a component of a desktop environment (
e.g., the "Lumina Desktop"). It's easier and more stable for this kind
of "users" to disable the toolbar or the slit alltogether. Why not
configure these features out? Because then they would need 2 installations
of fluxbox: One without the slit and the toolbar (and perhaps other
components) and one with them.
This implements feature request #314, at least partially.
This commit also looks bigger than it actually is: I refactored and cleaned
up classes Fluxbox and BScreen.
Diffstat (limited to 'src/Screen.hh')
-rw-r--r-- | src/Screen.hh | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/src/Screen.hh b/src/Screen.hh index c9a6ede..983aa81 100644 --- a/src/Screen.hh +++ b/src/Screen.hh | |||
@@ -79,20 +79,19 @@ class FbWindow; | |||
79 | class BScreen: public FbTk::EventHandler, private FbTk::NotCopyable { | 79 | class BScreen: public FbTk::EventHandler, private FbTk::NotCopyable { |
80 | public: | 80 | public: |
81 | typedef std::list<FluxboxWindow *> Icons; | 81 | typedef std::list<FluxboxWindow *> Icons; |
82 | |||
83 | typedef std::vector<Workspace *> Workspaces; | 82 | typedef std::vector<Workspace *> Workspaces; |
84 | typedef std::vector<std::string> WorkspaceNames; | 83 | typedef std::vector<std::string> WorkspaceNames; |
85 | 84 | ||
86 | BScreen(FbTk::ResourceManager &rm, | 85 | BScreen(FbTk::ResourceManager &rm, |
87 | const std::string &screenname, const std::string &altscreenname, | 86 | const std::string &screenname, const std::string &altscreenname, |
88 | int scrn, int number_of_layers); | 87 | int scrn, int number_of_layers, unsigned int opts); |
89 | ~BScreen(); | 88 | ~BScreen(); |
90 | 89 | ||
91 | void initWindows(); | 90 | void initWindows(); |
92 | void initMenus(); | 91 | void initMenus(); |
93 | 92 | ||
94 | bool isRootColormapInstalled() const { return root_colormap_installed; } | 93 | bool isRootColormapInstalled() const { return root_colormap_installed; } |
95 | bool isScreenManaged() const { return managed; } | 94 | bool isScreenManaged() const { return m_state.managed; } |
96 | bool isWorkspaceWarping() const { return (m_workspaces_list.size() > 1) && *resource.workspace_warping; } | 95 | bool isWorkspaceWarping() const { return (m_workspaces_list.size() > 1) && *resource.workspace_warping; } |
97 | bool doAutoRaise() const { return *resource.auto_raise; } | 96 | bool doAutoRaise() const { return *resource.auto_raise; } |
98 | bool clickRaises() const { return *resource.click_raises; } | 97 | bool clickRaises() const { return *resource.click_raises; } |
@@ -222,7 +221,7 @@ public: | |||
222 | */ | 221 | */ |
223 | void cycleFocus(int opts = 0, const ClientPattern *pat = 0, bool reverse = false); | 222 | void cycleFocus(int opts = 0, const ClientPattern *pat = 0, bool reverse = false); |
224 | 223 | ||
225 | bool isCycling() const { return m_cycling; } | 224 | bool isCycling() const { return m_state.cycling; } |
226 | 225 | ||
227 | /** | 226 | /** |
228 | * For extras to add menus. | 227 | * For extras to add menus. |
@@ -267,7 +266,7 @@ public: | |||
267 | const FbTk::ResourceManager &resourceManager() const { return m_resource_manager; } | 266 | const FbTk::ResourceManager &resourceManager() const { return m_resource_manager; } |
268 | const std::string &name() const { return m_name; } | 267 | const std::string &name() const { return m_name; } |
269 | const std::string &altName() const { return m_altname; } | 268 | const std::string &altName() const { return m_altname; } |
270 | bool isShuttingdown() const { return m_shutdown; } | 269 | bool isShuttingdown() const { return m_state.shutdown; } |
271 | bool isRestart(); | 270 | bool isRestart(); |
272 | 271 | ||
273 | ScreenPlacement &placementStrategy() { return *m_placement_strategy; } | 272 | ScreenPlacement &placementStrategy() { return *m_placement_strategy; } |
@@ -479,8 +478,8 @@ private: | |||
479 | 478 | ||
480 | Icons m_icon_list; | 479 | Icons m_icon_list; |
481 | 480 | ||
482 | std::auto_ptr<Slit> m_slit; | 481 | std::auto_ptr<Slit> m_slit; |
483 | std::auto_ptr<Toolbar> m_toolbar; | 482 | std::auto_ptr<Toolbar> m_toolbar; |
484 | 483 | ||
485 | Workspace *m_current_workspace; | 484 | Workspace *m_current_workspace; |
486 | 485 | ||
@@ -516,7 +515,6 @@ private: | |||
516 | typedef std::map<Window, WinClient *> Groupables; | 515 | typedef std::map<Window, WinClient *> Groupables; |
517 | Groupables m_expecting_groups; | 516 | Groupables m_expecting_groups; |
518 | 517 | ||
519 | bool m_cycling; | ||
520 | const ClientPattern *m_cycle_opts; | 518 | const ClientPattern *m_cycle_opts; |
521 | 519 | ||
522 | // Xinerama related private data | 520 | // Xinerama related private data |
@@ -536,10 +534,13 @@ private: | |||
536 | 534 | ||
537 | std::vector<HeadArea*> m_head_areas; | 535 | std::vector<HeadArea*> m_head_areas; |
538 | 536 | ||
539 | 537 | struct { | |
540 | bool m_restart; | 538 | bool cycling; |
541 | bool m_shutdown; | 539 | bool restart; |
542 | bool managed; | 540 | bool shutdown; |
541 | bool managed; | ||
542 | } m_state; | ||
543 | unsigned int m_opts; // hold Fluxbox::OPT_SLIT etc | ||
543 | }; | 544 | }; |
544 | 545 | ||
545 | 546 | ||