36 lines
811 B
C
36 lines
811 B
C
#ifndef __plugin_keyboard_action_h
|
|
#define __plugin_keyboard_action_h
|
|
|
|
#include "../../kernel/action.h"
|
|
|
|
typedef enum {
|
|
DataType_Bool,
|
|
DataType_Int,
|
|
DataType_Uint,
|
|
DataType_String
|
|
} KeyActionDataType;
|
|
|
|
typedef union {
|
|
gboolean b;
|
|
int i;
|
|
guint u;
|
|
char *s;
|
|
} KeyActionData;
|
|
|
|
typedef struct {
|
|
Action action;
|
|
KeyActionDataType type[2];
|
|
KeyActionData data[2];
|
|
} KeyAction;
|
|
|
|
void keyaction_set_none(KeyAction *a, guint index);
|
|
void keyaction_set_bool(KeyAction *a, guint index, gboolean bool);
|
|
void keyaction_set_int(KeyAction *a, guint index, int i);
|
|
void keyaction_set_uint(KeyAction *a, guint index, guint uint);
|
|
void keyaction_set_string(KeyAction *a, guint index, char *string);
|
|
|
|
void keyaction_free(KeyAction *a);
|
|
|
|
void keyaction_do(KeyAction *a, Client *c);
|
|
|
|
#endif
|