#ifndef __action_h
#define __action_h
-#include "client.h"
+#include "misc.h"
+#include "parser/parse.h"
/* These have to all have a Client* at the top even if they don't use it, so
that I can set it blindly later on. So every function will have a Client*
*/
struct AnyAction {
- Client *c;
+ struct _ObClient *c;
};
struct DirectionalAction{
- Client *c;
- int direction;
+ struct _ObClient *c;
+ ObDirection direction;
};
struct Execute {
- Client *c;
+ struct _ObClient *c;
char *path;
};
struct ClientAction {
- Client *c;
+ struct _ObClient *c;
};
struct MoveResizeRelative {
- Client *c;
+ struct _ObClient *c;
int delta;
};
struct SendToDesktop {
- Client *c;
+ struct _ObClient *c;
guint desk;
gboolean follow;
};
struct SendToDesktopDirection {
- Client *c;
+ struct _ObClient *c;
gboolean wrap;
gboolean follow;
};
struct Desktop {
- Client *c;
+ struct _ObClient *c;
guint desk;
};
struct Layer {
- Client *c;
+ struct _ObClient *c;
int layer; /* < 0 = below, 0 = normal, > 0 = above */
};
struct DesktopDirection {
- Client *c;
+ struct _ObClient *c;
gboolean wrap;
};
struct MoveResize {
- Client *c;
+ struct _ObClient *c;
int x;
int y;
guint32 corner; /* prop_atoms.net_wm_moveresize_* */
};
struct ShowMenu {
- Client *c;
+ struct _ObClient *c;
char *name;
int x;
int y;
};
struct CycleWindows {
- Client *c;
+ struct _ObClient *c;
gboolean linear;
gboolean forward;
gboolean final;
*/
Action *action_from_string(char *name);
+Action *action_parse(xmlDocPtr doc, xmlNodePtr node);
void action_free(Action *a);
/* Execute */
/* ClientAction */
void action_lower(union ActionData *data);
/* ClientAction */
-void action_focusraise(union ActionData *data);
-/* ClientAction */
void action_close(union ActionData *data);
/* ClientAction */
void action_kill(union ActionData *data);