00001
00002
00003
00004
00005
00006 #ifndef __ACTIONS_H
00007 #define __ACTIONS_H
00008
00009 #include "singleton.h"
00010
00011 #include <map>
00012 #include "ncwm.h"
00013
00014 class Action;
00015
00016 class Bindings;
00017 class Kernel;
00018 class Monitor;
00019
00020 typedef map<string, Action *, less<string> > MBindings;
00021
00026 class Actions : public Singleton<Actions>
00027 {
00028
00029 public:
00030 Actions();
00031 ~Actions();
00032
00033 void initInternActions(MBindings *actionBindings);
00034
00035
00036 void beginChainRecord(Action *caller, const char *argument);
00037 void endChainRecord(Action *caller, const char *argument);
00038 void endScriptRecord(Action *caller, const char *argument);
00039 void cancelRecord(Action *caller, const char *argument);
00040
00041
00042 void quit(Action *caller, const char *argument);
00043 void restart(Action *caller, const char *argument);
00044
00045 void rehash(Action *caller, const char *argument);
00046
00047 void circulateWindowsUp(Action *caller, const char *argument);
00048
00049 void toggleClientMode(Action *caller, const char *argument);
00050 void toggleClientSticky(Action *caller, const char *argument);
00051 void executeTerm(Action *caller, const char *command);
00052
00053 void growLeft(Action *caller, const char *argument);
00054 void growRight(Action *caller, const char *argument);
00055 void growUp(Action *caller, const char *argument);
00056 void growDown(Action *caller, const char *argument);
00057
00058 void shrinkLeft(Action *caller, const char *argument);
00059 void shrinkRight(Action *caller, const char *argument);
00060 void shrinkUp(Action *caller, const char *argument);
00061 void shrinkDown(Action *caller, const char *argument);
00062
00063 void moveClientLeft(Action *caller, const char *argument);
00064 void moveClientRight(Action *caller, const char *argument);
00065 void moveClientUp(Action *caller, const char *argument);
00066 void moveClientDown(Action *caller, const char *argument);
00067
00068 void showBars(Action *caller, const char *argument);
00069 void hideBars(Action *caller, const char *argument);
00070 void toggleBar(Action *caller, const char *argument);
00071 void toggleBorder(Action *caller, const char *argument);
00072 void showBorders(Action *caller, const char *argument);
00073 void hideBorders(Action *caller, const char *argument);
00074 void toggleStatusBar(Action *caller, const char *argument);
00075 void toggleClientBar(Action *caller, const char *argument);
00076 void inputMode(Action *caller, const char *argument);
00077 void toggleMode(Action *caller, const char *argument);
00078
00079 void killClient(Action *caller, const char *argument);
00080
00081 void cycleClientNext(Action *caller, const char *argument);
00082 void cycleWorkspaceNext(Action *caller, const char *argument);
00083 void cycleClientPrev(Action *caller, const char *argument);
00084 void cycleWorkspacePrev(Action *caller, const char *argument);
00085
00086 void joinFrameLeft(Action *caller, const char *argument);
00087 void joinFrameRight(Action *caller, const char *argument);
00088 void joinFrameUp(Action *caller, const char *argument);
00089 void joinFrameDown(Action *caller, const char *argument);
00090
00091 void sendClientLeft(Action *caller, const char *argument);
00092 void sendClientRight(Action *caller, const char *argument);
00093 void sendClientUp(Action *caller, const char *argument);
00094 void sendClientDown(Action *caller, const char *argument);
00095
00096 void splitFrameLeft(Action *caller, const char *argument);
00097 void splitFrameRight(Action *caller, const char *argument);
00098 void splitFrameUp(Action *caller, const char *argument);
00099 void splitFrameDown(Action *caller, const char *argument);
00100
00101 void attachClient(Action *caller, const char *argument);
00102 void attachLastClient(Action *caller, const char *argument);
00103 void detachClient(Action *caller, const char *argument);
00104 void detachAllClients(Action *caller, const char *argument);
00105 void attachAllClients(Action *caller, const char *argument);
00106
00107 void createAction(Action *caller, const char *argument);
00108 void createWorkspace(Action *caller, const char *argument);
00109
00110 void destroyAction(Action *caller, const char *argument);
00111 void destroyFrame(Action *caller, const char *argument);
00112 void destroyWorkspace(Action *caller, const char *argument);
00113
00114 void bindShortcut(Action *caller, const char *argument);
00115
00116 void renameWorkspace(Action *caller, const char *argument);
00117 void selectWorkspace(Action *caller, const char *argument);
00118 void selectMonitor(Action *caller, const char *argument);
00119 void selectClient(Action *caller, const char *argument);
00120 void selectClientId(Action *caller, const char *argument);
00121
00122 void selectFrameLeft(Action *caller, const char *argument);
00123 void selectFrameRight(Action *caller, const char *argument);
00124 void selectFrameUp(Action *caller, const char *argument);
00125 void selectFrameDown(Action *caller, const char *argument);
00126
00127 void swapFrameLeft(Action *caller, const char *argument);
00128 void swapFrameRight(Action *caller, const char *argument);
00129 void swapFrameUp(Action *caller, const char *argument);
00130 void swapFrameDown(Action *caller, const char *argument);
00131
00132 void swapClientLeft(Action *caller, const char *argument);
00133 void swapClientRight(Action *caller, const char *argument);
00134 void swapClientUp(Action *caller, const char *argument);
00135 void swapClientDown(Action *caller, const char *argument);
00136
00137 #ifdef SLOT_SUPPORT
00138 void unslotClient(Action *caller, const char *argument);
00139 void slotClient(Action *caller, const char *argument);
00140 void toggleSlot(Action *caller, const char *argument);
00141 void cycleSlotTabPrev(Action *caller, const char *argument);
00142 void cycleSlotTabNext(Action *caller, const char *argument);
00143 void killSlotClient(Action *caller, const char *argument);
00144 #endif // SLOT_SUPPORT
00145
00146 void toggleMaximization(Action *caller, const char *argument);
00147 void toggleShortcuts(Action *caller, const char *argument);
00148
00149 void lower(Action *caller, const char *argument);
00150 void raise(Action *caller, const char *argument);
00151 void saveSettings(Action *caller, const char *argument);
00152
00153
00154 void execute(Action *caller, const char *command);
00155
00156
00157 void sequence(Action *caller, const char *command);
00158
00159 void hookClient(Action *caller, const char *argument);
00160 void unhookClient(Action *caller, const char *argument);
00161 void fitClient(Action *caller, const char *argument);
00162 void banish(Action *caller, const char *argument);
00163 void toggleClientBarMode(Action *caller, const char *argument);
00164 void toggleSloppyMode(Action *caller, const char *argument);
00165 void grabMove(Action *caller, const char *argument);
00166 void toggleTiled(Action *caller, const char *argument);
00167 void zoomClient(Action *caller, const char *argument);
00168 };
00169
00170 #endif // __ACTIONS_H