aboutsummaryrefslogtreecommitdiff
path: root/src/Screen.hh
diff options
context:
space:
mode:
authorMathias Gumz <akira@fluxbox.org>2015-01-22 15:28:53 (GMT)
committerMathias Gumz <akira@fluxbox.org>2015-01-22 15:28:53 (GMT)
commitab2eef49371b2c9e45efea128fc84f3d556d1901 (patch)
tree4054a47639da3cf7ac262b1122110d38cb3aad41 /src/Screen.hh
parent3cda1099e265fd8d08bf5f19a0cbd15d6ad5f0d3 (diff)
downloadfluxbox-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.hh25
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;
79class BScreen: public FbTk::EventHandler, private FbTk::NotCopyable { 79class BScreen: public FbTk::EventHandler, private FbTk::NotCopyable {
80public: 80public:
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