00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef CURRENTWINDOWCMD_HH
00026 #define CURRENTWINDOWCMD_HH
00027
00028 #include "Command.hh"
00029
00030 class FluxboxWindow;
00031 class WinClient;
00032
00035 class CurrentWindowCmd: public FbTk::Command {
00036 public:
00037 typedef void (FluxboxWindow::* Action)();
00038 explicit CurrentWindowCmd(Action action);
00039 void execute();
00040 private:
00041 Action m_action;
00042 };
00043
00046 class WindowHelperCmd: public FbTk::Command {
00047 public:
00048 void execute();
00049
00050 protected:
00051
00052 WinClient &winclient();
00053 FluxboxWindow &fbwindow();
00054 virtual void real_execute() = 0;
00055
00056 };
00057
00058 class KillWindowCmd: public WindowHelperCmd {
00059 protected:
00060 void real_execute();
00061 };
00062
00063 class SendToWorkspaceCmd: public WindowHelperCmd {
00064 public:
00065 explicit SendToWorkspaceCmd(int workspace_num):m_workspace_num(workspace_num) { }
00066 protected:
00067 void real_execute();
00068 private:
00069 const int m_workspace_num;
00070 };
00071
00072
00073 class MoveCmd: public WindowHelperCmd {
00074 public:
00075 explicit MoveCmd(const int step_size_x, const int step_size_y);
00076 protected:
00077 void real_execute();
00078
00079 private:
00080 const int m_step_size_x;
00081 const int m_step_size_y;
00082 };
00083
00084
00085 class ResizeCmd: public WindowHelperCmd{
00086 public:
00087 explicit ResizeCmd(int step_size_x, int step_size_y);
00088 protected:
00089 void real_execute();
00090
00091 private:
00092
00093 const int m_step_size_x;
00094 const int m_step_size_y;
00095 };
00096
00097 class MoveToCmd: public WindowHelperCmd {
00098 public:
00099 explicit MoveToCmd(const int step_size_x, const int step_size_y);
00100 protected:
00101 void real_execute();
00102
00103 private:
00104 const int m_step_size_x;
00105 const int m_step_size_y;
00106 };
00107
00108
00109 class ResizeToCmd: public WindowHelperCmd{
00110 public:
00111 explicit ResizeToCmd(int step_size_x, int step_size_y);
00112 protected:
00113 void real_execute();
00114
00115 private:
00116
00117 const int m_step_size_x;
00118 const int m_step_size_y;
00119 };
00120 #endif // CURRENTWINDOWCMD_HH