summaryrefslogtreecommitdiff
path: root/src/ToolbarHandler.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/ToolbarHandler.hh')
-rw-r--r--src/ToolbarHandler.hh97
1 files changed, 0 insertions, 97 deletions
diff --git a/src/ToolbarHandler.hh b/src/ToolbarHandler.hh
deleted file mode 100644
index 538ac78..0000000
--- a/src/ToolbarHandler.hh
+++ /dev/null
@@ -1,97 +0,0 @@
1// ToolbarHandler for fluxbox
2// Copyright (c) 2003 Simon Bowden (rathnor at fluxbox.org)
3// and Henrik Kinnunen (fluxgen at fluxbox.org)
4//
5// Permission is hereby granted, free of charge, to any person obtaining a
6// copy of this software and associated documentation files (the "Software"),
7// to deal in the Software without restriction, including without limitation
8// the rights to use, copy, modify, merge, publish, distribute, sublicense,
9// and/or sell copies of the Software, and to permit persons to whom the
10// Software is furnished to do so, subject to the following conditions:
11//
12// The above copyright notice and this permission notice shall be included in
13// all copies or substantial portions of the Software.
14//
15// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21// DEALINGS IN THE SOFTWARE.
22
23// $Id: ToolbarHandler.hh,v 1.9 2003/10/06 06:22:43 rathnor Exp $
24
25#ifndef TOOLBARHANDLER_HH
26#define TOOLBARHANDLER_HH
27
28#include "AtomHandler.hh"
29#include "Menu.hh"
30#include "Toolbar.hh"
31#include "Resource.hh"
32
33class BScreen;
34class FluxboxWindow;
35
36class ToolbarHandler : public AtomHandler {
37public:
38 enum ToolbarMode {
39 OFF=0,
40 NONE,
41 ICONS,
42 WORKSPACEICONS,
43 WORKSPACE,
44 ALLWINDOWS,
45 LASTMODE
46 };
47
48 explicit ToolbarHandler(BScreen &screen);
49 ~ToolbarHandler() { }
50
51 void setMode(ToolbarMode mode, bool initialise = true);
52
53 inline const Toolbar *toolbar() const { return m_toolbar.get(); }
54 inline Toolbar *toolbar() { return m_toolbar.get(); }
55
56
57 void initForScreen(BScreen &screen);
58 void setupFrame(FluxboxWindow &win);
59 // TODO: add setupClient and configure option to show groups or indiv. clients
60 void setupClient(WinClient &winclient) {}
61
62 void updateState(FluxboxWindow &win);
63 void updateFrameClose(FluxboxWindow &win);
64 void updateClientClose(WinClient &winclient) {}
65 void updateWorkspace(FluxboxWindow &win);
66 void updateCurrentWorkspace(BScreen &screen);
67
68 // these ones don't affect us
69 void updateWorkspaceNames(BScreen &screen) {}
70 void updateWorkspaceCount(BScreen &screen) {}
71 void updateClientList(BScreen &screen) {}
72 void updateHints(FluxboxWindow &win) {}
73 void updateLayer(FluxboxWindow &win) {}
74
75 bool checkClientMessage(const XClientMessageEvent &ce,
76 BScreen * screen, WinClient * const winclient) { return false; }
77
78 bool propertyNotify(WinClient &winclient, Atom the_atom) { return false; }
79
80 inline FbTk::Menu &getModeMenu() { return m_modemenu; }
81 inline const FbTk::Menu &getModeMenu() const { return m_modemenu; }
82 inline FbTk::Menu &getToolbarMenu() { return m_toolbarmenu; }
83 inline const FbTk::Menu &getToolbarMenu() const { return m_toolbarmenu; }
84
85 inline BScreen &screen() { return m_screen; }
86 inline const BScreen &screen() const { return m_screen; }
87 ToolbarMode mode() const { return m_mode; }
88private:
89 BScreen &m_screen;
90 std::auto_ptr<Toolbar> m_toolbar;
91 unsigned int m_current_workspace;
92 ToolbarMode m_mode;
93 FbMenu m_modemenu;
94 FbMenu m_toolbarmenu;
95};
96
97#endif // TOOLBARHANDLER_HH