aboutsummaryrefslogtreecommitdiff
path: root/src/FbCommands.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/FbCommands.hh')
-rw-r--r--src/FbCommands.hh139
1 files changed, 139 insertions, 0 deletions
diff --git a/src/FbCommands.hh b/src/FbCommands.hh
new file mode 100644
index 0000000..2d1d5da
--- /dev/null
+++ b/src/FbCommands.hh
@@ -0,0 +1,139 @@
1// FbCommands.hh for Fluxbox
2// Copyright (c) 2003 Henrik Kinnunen (fluxgen at users.sourceforge.net)
3//
4// Permission is hereby granted, free of charge, to any person obtaining a
5// copy of this software and associated documentation files (the "Software"),
6// to deal in the Software without restriction, including without limitation
7// the rights to use, copy, modify, merge, publish, distribute, sublicense,
8// and/or sell copies of the Software, and to permit persons to whom the
9// Software is furnished to do so, subject to the following conditions:
10//
11// The above copyright notice and this permission notice shall be included in
12// all copies or substantial portions of the Software.
13//
14// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20// DEALINGS IN THE SOFTWARE.
21
22// $Id: FbCommands.hh,v 1.17 2003/12/20 17:41:32 fluxgen Exp $
23
24// \file contains basic commands to restart, reconfigure, execute command and exit fluxbox
25
26#ifndef FBCOMMANDS_HH
27#define FBCOMMANDS_HH
28
29#include "Command.hh"
30
31#include <string>
32
33namespace FbCommands {
34
35/// executes a system command
36class ExecuteCmd: public FbTk::Command {
37public:
38 ExecuteCmd(const std::string &cmd, int screen_num = -1);
39 void execute();
40private:
41 std::string m_cmd;
42 const int m_screen_num;
43};
44
45/// exit fluxbox
46class ExitFluxboxCmd: public FbTk::Command {
47public:
48 void execute();
49};
50
51/// saves resources
52class SaveResources: public FbTk::Command {
53public:
54 void execute();
55};
56
57/// restarts fluxbox
58class RestartFluxboxCmd: public FbTk::Command {
59public:
60 RestartFluxboxCmd(const std::string &cmd);
61 void execute();
62private:
63 std::string m_cmd;
64 const int m_screen_num;
65};
66
67/// reconfigures fluxbox
68class ReconfigureFluxboxCmd: public FbTk::Command {
69public:
70 void execute();
71};
72
73class ReloadStyleCmd: public FbTk::Command {
74public:
75 void execute();
76};
77
78class SetStyleCmd: public FbTk::Command {
79public:
80 explicit SetStyleCmd(const std::string &filename);
81 void execute();
82private:
83 std::string m_filename;
84};
85
86class ShowRootMenuCmd: public FbTk::Command {
87public:
88 void execute();
89};
90
91class ShowWorkspaceMenuCmd: public FbTk::Command {
92public:
93 void execute();
94};
95
96class SetWorkspaceNameCmd: public FbTk::Command {
97public:
98 SetWorkspaceNameCmd(const std::string &name, int spaceid = -1);
99 void execute();
100private:
101 std::string m_name;
102 int m_workspace;
103};
104
105class WorkspaceNameDialogCmd: public FbTk::Command {
106public:
107 void execute();
108};
109
110class CommandDialogCmd: public FbTk::Command {
111public:
112 void execute();
113};
114
115} // end namespace FbCommands
116
117class SetResourceValueCmd: public FbTk::Command {
118public:
119 SetResourceValueCmd(const std::string &resourcename, const std::string &value);
120 void execute();
121private:
122 const std::string m_resname;
123 const std::string m_value;
124};
125
126class SetResourceValueDialogCmd: public FbTk::Command {
127public:
128 void execute();
129};
130
131class BindKeyCmd: public FbTk::Command {
132public:
133 BindKeyCmd(const std::string &keybind);
134 void execute();
135private:
136 const std::string m_keybind;
137};
138
139#endif // FBCOMMANDS_HH