summaryrefslogtreecommitdiff
path: root/src/data.h
diff options
context:
space:
mode:
authorsabetts <sabetts>2003-09-02 17:33:58 +0000
committersabetts <sabetts>2003-09-02 17:33:58 +0000
commit2a16e44fccc006966c0e282ce0ba4a808e15e776 (patch)
tree9f8017f42396d028466851c76f6eb72a7cc305b9 /src/data.h
parent8122f90155b54a948bc062d496de373f891a43f6 (diff)
downloadratpoison-2a16e44fccc006966c0e282ce0ba4a808e15e776.zip
* src/main.c (show_welcome_message): search the root keymap for
the help binding. (clean_up): call free_keymaps and not free_keybindings. * src/events.c (handle_key): call cmd_readkey to hand actually reading a key from the keyboard. * src/data.h (typedef rp_keymap): new typedef (struct rp_keymap): new struct * src/conf.h (ROOT_KEYMAP): new define * src/actions.h (cmd_readkey): new prototype (cmd_newkmap): likewise (cmd_delkmap): likewise (cmd_definekey): likewise (find_keymap): likewise (keymap_free): likewise (free_keymaps): likewise * src/actions.c (rp_keymaps): new global. remove globals key_actions, key_actions_last, and key_actions_table_size. (user_commands): remove bind and unbind. New commands readkey, newkmap, delkmap, and definekey. (find_keybinding_by_action): take a rp_keymap argument and operate on it. All callers updated. (find_keybinding): likewise (find_command_by_keydesc): likewise (resolve_command_from_keydesc): likewise (add_keybinding): likewise (remove_keybinding): likewise (cmd_definekey): new function (cmd_newkmap): likewise (cmd_delkmap): likewise (keymap_new): likewise (keymap_free): likewise (find_keymap): likewise (free_keymaps): likewise (cmd_bind): remove function. Prototype removed. (cmd_unbind): likewise (initialize_default_keybindings): add aliases for unbind and bind. (ungrab_rat): moved from events.c (grab_rat): likewise
Diffstat (limited to 'src/data.h')
-rw-r--r--src/data.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/data.h b/src/data.h
index 9fa2f90..5cfd550 100644
--- a/src/data.h
+++ b/src/data.h
@@ -32,6 +32,7 @@
typedef struct rp_window rp_window;
typedef struct rp_screen rp_screen;
typedef struct rp_action rp_action;
+typedef struct rp_keymap rp_keymap;
typedef struct rp_frame rp_frame;
typedef struct rp_child_info rp_child_info;
typedef struct rp_group rp_group;
@@ -166,6 +167,17 @@ struct rp_action
/* void (*func)(void *); */
};
+struct rp_keymap
+{
+ char *name;
+ rp_action *actions;
+ int actions_last;
+ int actions_size;
+
+ /* This structure can be part of a list. */
+ struct list_head node;
+};
+
struct rp_key
{
KeySym sym;