aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd-attach-session.c1
-rw-r--r--cmd-bind-key.c1
-rw-r--r--cmd-break-pane.c1
-rw-r--r--cmd-capture-pane.c1
-rw-r--r--cmd-choose-buffer.c1
-rw-r--r--cmd-choose-client.c1
-rw-r--r--cmd-choose-tree.c3
-rw-r--r--cmd-clear-history.c1
-rw-r--r--cmd-clock-mode.c1
-rw-r--r--cmd-command-prompt.c30
-rw-r--r--cmd-confirm-before.c20
-rw-r--r--cmd-copy-mode.c10
-rw-r--r--cmd-delete-buffer.c1
-rw-r--r--cmd-detach-client.c1
-rw-r--r--cmd-display-message.c1
-rw-r--r--cmd-display-panes.c1
-rw-r--r--cmd-find-window.c1
-rw-r--r--cmd-has-session.c1
-rw-r--r--cmd-if-shell.c1
-rw-r--r--cmd-join-pane.c17
-rw-r--r--cmd-kill-pane.c1
-rw-r--r--cmd-kill-server.c2
-rw-r--r--cmd-kill-session.c1
-rw-r--r--cmd-kill-window.c1
-rw-r--r--cmd-link-window.c1
-rw-r--r--cmd-list-buffers.c1
-rw-r--r--cmd-list-clients.c1
-rw-r--r--cmd-list-commands.c1
-rw-r--r--cmd-list-keys.c1
-rw-r--r--cmd-list-panes.c1
-rw-r--r--cmd-list-sessions.c1
-rw-r--r--cmd-list-windows.c1
-rw-r--r--cmd-load-buffer.c1
-rw-r--r--cmd-lock-server.c3
-rw-r--r--cmd-move-window.c1
-rw-r--r--cmd-new-session.c1
-rw-r--r--cmd-new-window.c1
-rw-r--r--cmd-paste-buffer.c1
-rw-r--r--cmd-pipe-pane.c1
-rw-r--r--cmd-refresh-client.c1
-rw-r--r--cmd-rename-session.c1
-rw-r--r--cmd-rename-window.c1
-rw-r--r--cmd-resize-pane.c48
-rw-r--r--cmd-respawn-window.c1
-rw-r--r--cmd-rotate-window.c10
-rw-r--r--cmd-run-shell.c1
-rw-r--r--cmd-save-buffer.c2
-rw-r--r--cmd-select-layout.c30
-rw-r--r--cmd-select-pane.c19
-rw-r--r--cmd-select-window.c19
-rw-r--r--cmd-send-keys.c2
-rw-r--r--cmd-set-buffer.c1
-rw-r--r--cmd-set-environment.c1
-rw-r--r--cmd-set-option.c2
-rw-r--r--cmd-show-environment.c1
-rw-r--r--cmd-show-messages.c2
-rw-r--r--cmd-show-options.c2
-rw-r--r--cmd-source-file.c1
-rw-r--r--cmd-split-window.c10
-rw-r--r--cmd-suspend-client.c1
-rw-r--r--cmd-swap-pane.c12
-rw-r--r--cmd-swap-window.c1
-rw-r--r--cmd-switch-client.c19
-rw-r--r--cmd-unbind-key.c1
-rw-r--r--cmd-unlink-window.c1
-rw-r--r--cmd-wait-for.c1
-rw-r--r--key-bindings.c180
-rw-r--r--tmux.h1
68 files changed, 86 insertions, 403 deletions
diff --git a/cmd-attach-session.c b/cmd-attach-session.c
index 94f01e4c..160f2a8f 100644
--- a/cmd-attach-session.c
+++ b/cmd-attach-session.c
@@ -37,7 +37,6 @@ const struct cmd_entry cmd_attach_session_entry = {
"c:drt:", 0, 0,
"[-dr] [-c working-directory] " CMD_TARGET_SESSION_USAGE,
CMD_CANTNEST|CMD_STARTSERVER,
- NULL,
cmd_attach_session_exec
};
diff --git a/cmd-bind-key.c b/cmd-bind-key.c
index dce0bbf0..5d68d486 100644
--- a/cmd-bind-key.c
+++ b/cmd-bind-key.c
@@ -36,7 +36,6 @@ const struct cmd_entry cmd_bind_key_entry = {
"cnrt:", 1, -1,
"[-cnr] [-t mode-table] key command [arguments]",
0,
- NULL,
cmd_bind_key_exec
};
diff --git a/cmd-break-pane.c b/cmd-break-pane.c
index 85c5d4d9..5e7ecd02 100644
--- a/cmd-break-pane.c
+++ b/cmd-break-pane.c
@@ -33,7 +33,6 @@ const struct cmd_entry cmd_break_pane_entry = {
"dPF:t:", 0, 0,
"[-dP] [-F format] " CMD_TARGET_PANE_USAGE,
0,
- NULL,
cmd_break_pane_exec
};
diff --git a/cmd-capture-pane.c b/cmd-capture-pane.c
index 50bddc7c..ce60b4c5 100644
--- a/cmd-capture-pane.c
+++ b/cmd-capture-pane.c
@@ -41,7 +41,6 @@ const struct cmd_entry cmd_capture_pane_entry = {
"[-aCeJpPq] " CMD_BUFFER_USAGE " [-E end-line] [-S start-line]"
CMD_TARGET_PANE_USAGE,
0,
- NULL,
cmd_capture_pane_exec
};
diff --git a/cmd-choose-buffer.c b/cmd-choose-buffer.c
index 42caa7cd..de4855ae 100644
--- a/cmd-choose-buffer.c
+++ b/cmd-choose-buffer.c
@@ -34,7 +34,6 @@ const struct cmd_entry cmd_choose_buffer_entry = {
"F:t:", 0, 1,
CMD_TARGET_WINDOW_USAGE " [-F format] [template]",
0,
- NULL,
cmd_choose_buffer_exec
};
diff --git a/cmd-choose-client.c b/cmd-choose-client.c
index 47ff1976..be3d4056 100644
--- a/cmd-choose-client.c
+++ b/cmd-choose-client.c
@@ -36,7 +36,6 @@ const struct cmd_entry cmd_choose_client_entry = {
"F:t:", 0, 1,
CMD_TARGET_WINDOW_USAGE " [-F format] [template]",
0,
- NULL,
cmd_choose_client_exec
};
diff --git a/cmd-choose-tree.c b/cmd-choose-tree.c
index 257908e1..eee49cc2 100644
--- a/cmd-choose-tree.c
+++ b/cmd-choose-tree.c
@@ -40,7 +40,6 @@ const struct cmd_entry cmd_choose_tree_entry = {
"[-suw] [-b session-template] [-c window template] [-S format] " \
"[-W format] " CMD_TARGET_WINDOW_USAGE,
0,
- NULL,
cmd_choose_tree_exec
};
@@ -49,7 +48,6 @@ const struct cmd_entry cmd_choose_session_entry = {
"F:t:", 0, 1,
CMD_TARGET_WINDOW_USAGE " [-F format] [template]",
0,
- NULL,
cmd_choose_tree_exec
};
@@ -58,7 +56,6 @@ const struct cmd_entry cmd_choose_window_entry = {
"F:t:", 0, 1,
CMD_TARGET_WINDOW_USAGE "[-F format] [template]",
0,
- NULL,
cmd_choose_tree_exec
};
diff --git a/cmd-clear-history.c b/cmd-clear-history.c
index 69885f08..e1342880 100644
--- a/cmd-clear-history.c
+++ b/cmd-clear-history.c
@@ -31,7 +31,6 @@ const struct cmd_entry cmd_clear_history_entry = {
"t:", 0, 0,
CMD_TARGET_PANE_USAGE,
0,
- NULL,
cmd_clear_history_exec
};
diff --git a/cmd-clock-mode.c b/cmd-clock-mode.c
index 09f16e17..80835813 100644
--- a/cmd-clock-mode.c
+++ b/cmd-clock-mode.c
@@ -31,7 +31,6 @@ const struct cmd_entry cmd_clock_mode_entry = {
"t:", 0, 0,
CMD_TARGET_PANE_USAGE,
0,
- NULL,
cmd_clock_mode_exec
};
diff --git a/cmd-command-prompt.c b/cmd-command-prompt.c
index fc625f53..22b1d84e 100644
--- a/cmd-command-prompt.c
+++ b/cmd-command-prompt.c
@@ -29,7 +29,6 @@
* Prompt for command in client.
*/
-void cmd_command_prompt_key_binding(struct cmd *, int);
enum cmd_retval cmd_command_prompt_exec(struct cmd *, struct cmd_q *);
int cmd_command_prompt_callback(void *, const char *);
@@ -40,7 +39,6 @@ const struct cmd_entry cmd_command_prompt_entry = {
"I:p:t:", 0, 1,
"[-I inputs] [-p prompts] " CMD_TARGET_CLIENT_USAGE " [template]",
0,
- cmd_command_prompt_key_binding,
cmd_command_prompt_exec
};
@@ -54,34 +52,6 @@ struct cmd_command_prompt_cdata {
int idx;
};
-void
-cmd_command_prompt_key_binding(struct cmd *self, int key)
-{
- switch (key) {
- case '$':
- self->args = args_create(1, "rename-session '%%'");
- args_set(self->args, 'I', "#S");
- break;
- case ',':
- self->args = args_create(1, "rename-window '%%'");
- args_set(self->args, 'I', "#W");
- break;
- case '.':
- self->args = args_create(1, "move-window -t '%%'");
- break;
- case 'f':
- self->args = args_create(1, "find-window '%%'");
- break;
- case '\'':
- self->args = args_create(1, "select-window -t ':%%'");
- args_set(self->args, 'p', "index");
- break;
- default:
- self->args = args_create(0);
- break;
- }
-}
-
enum cmd_retval
cmd_command_prompt_exec(struct cmd *self, struct cmd_q *cmdq)
{
diff --git a/cmd-confirm-before.c b/cmd-confirm-before.c
index 5b8151c9..7f764670 100644
--- a/cmd-confirm-before.c
+++ b/cmd-confirm-before.c
@@ -26,7 +26,6 @@
* Asks for confirmation before executing a command.
*/
-void cmd_confirm_before_key_binding(struct cmd *, int);
enum cmd_retval cmd_confirm_before_exec(struct cmd *, struct cmd_q *);
int cmd_confirm_before_callback(void *, const char *);
@@ -37,7 +36,6 @@ const struct cmd_entry cmd_confirm_before_entry = {
"p:t:", 1, 1,
"[-p prompt] " CMD_TARGET_CLIENT_USAGE " command",
0,
- cmd_confirm_before_key_binding,
cmd_confirm_before_exec
};
@@ -46,24 +44,6 @@ struct cmd_confirm_before_data {
struct client *client;
};
-void
-cmd_confirm_before_key_binding(struct cmd *self, int key)
-{
- switch (key) {
- case '&':
- self->args = args_create(1, "kill-window");
- args_set(self->args, 'p', "kill-window #W? (y/n)");
- break;
- case 'x':
- self->args = args_create(1, "kill-pane");
- args_set(self->args, 'p', "kill-pane #P? (y/n)");
- break;
- default:
- self->args = args_create(0);
- break;
- }
-}
-
enum cmd_retval
cmd_confirm_before_exec(struct cmd *self, struct cmd_q *cmdq)
{
diff --git a/cmd-copy-mode.c b/cmd-copy-mode.c
index bc9cfd62..89335296 100644
--- a/cmd-copy-mode.c
+++ b/cmd-copy-mode.c
@@ -24,7 +24,6 @@
* Enter copy mode.
*/
-void cmd_copy_mode_key_binding(struct cmd *, int);
enum cmd_retval cmd_copy_mode_exec(struct cmd *, struct cmd_q *);
const struct cmd_entry cmd_copy_mode_entry = {
@@ -32,18 +31,9 @@ const struct cmd_entry cmd_copy_mode_entry = {
"t:u", 0, 0,
"[-u] " CMD_TARGET_PANE_USAGE,
0,
- cmd_copy_mode_key_binding,
cmd_copy_mode_exec
};
-void
-cmd_copy_mode_key_binding(struct cmd *self, int key)
-{
- self->args = args_create(0);
- if (key == KEYC_PPAGE)
- args_set(self->args, 'u', NULL);
-}
-
enum cmd_retval
cmd_copy_mode_exec(struct cmd *self, struct cmd_q *cmdq)
{
diff --git a/cmd-delete-buffer.c b/cmd-delete-buffer.c
index 755d7ea3..42268b78 100644
--- a/cmd-delete-buffer.c
+++ b/cmd-delete-buffer.c
@@ -33,7 +33,6 @@ const struct cmd_entry cmd_delete_buffer_entry = {
"b:", 0, 0,
CMD_BUFFER_USAGE,
0,
- NULL,
cmd_delete_buffer_exec
};
diff --git a/cmd-detach-client.c b/cmd-detach-client.c
index d40ef5a0..d60cf47d 100644
--- a/cmd-detach-client.c
+++ b/cmd-detach-client.c
@@ -33,7 +33,6 @@ const struct cmd_entry cmd_detach_client_entry = {
"as:t:P", 0, 0,
"[-P] [-a] [-s target-session] " CMD_TARGET_CLIENT_USAGE,
CMD_READONLY,
- NULL,
cmd_detach_client_exec
};
diff --git a/cmd-display-message.c b/cmd-display-message.c
index b60d732a..dc4290e9 100644
--- a/cmd-display-message.c
+++ b/cmd-display-message.c
@@ -35,7 +35,6 @@ const struct cmd_entry cmd_display_message_entry = {
"[-p] [-c target-client] [-F format] " CMD_TARGET_PANE_USAGE
" [message]",
0,
- NULL,
cmd_display_message_exec
};
diff --git a/cmd-display-panes.c b/cmd-display-panes.c
index 9160f4e7..9ce89712 100644
--- a/cmd-display-panes.c
+++ b/cmd-display-panes.c
@@ -31,7 +31,6 @@ const struct cmd_entry cmd_display_panes_entry = {
"t:", 0, 0,
CMD_TARGET_CLIENT_USAGE,
0,
- NULL,
cmd_display_panes_exec
};
diff --git a/cmd-find-window.c b/cmd-find-window.c
index ccf7f0f2..f1fc5f50 100644
--- a/cmd-find-window.c
+++ b/cmd-find-window.c
@@ -47,7 +47,6 @@ const struct cmd_entry cmd_find_window_entry = {
"F:CNt:T", 1, 4,
"[-CNT] [-F format] " CMD_TARGET_WINDOW_USAGE " match-string",
0,
- NULL,
cmd_find_window_exec
};
diff --git a/cmd-has-session.c b/cmd-has-session.c
index d7ef9be6..a873b204 100644
--- a/cmd-has-session.c
+++ b/cmd-has-session.c
@@ -31,7 +31,6 @@ const struct cmd_entry cmd_has_session_entry = {
"t:", 0, 0,
CMD_TARGET_SESSION_USAGE,
0,
- NULL,
cmd_has_session_exec
};
diff --git a/cmd-if-shell.c b/cmd-if-shell.c
index 4193944c..da0220ca 100644
--- a/cmd-if-shell.c
+++ b/cmd-if-shell.c
@@ -40,7 +40,6 @@ const struct cmd_entry cmd_if_shell_entry = {
"bt:", 2, 3,
"[-b] " CMD_TARGET_PANE_USAGE " shell-command command [command]",
0,
- NULL,
cmd_if_shell_exec
};
diff --git a/cmd-join-pane.c b/cmd-join-pane.c
index 7d7b1eea..943cdce4 100644
--- a/cmd-join-pane.c
+++ b/cmd-join-pane.c
@@ -29,7 +29,6 @@
* Join or move a pane into another (like split/swap/kill).
*/
-void cmd_join_pane_key_binding(struct cmd *, int);
enum cmd_retval cmd_join_pane_exec(struct cmd *, struct cmd_q *);
enum cmd_retval join_pane(struct cmd *, struct cmd_q *, int);
@@ -39,7 +38,6 @@ const struct cmd_entry cmd_join_pane_entry = {
"bdhvp:l:s:t:", 0, 0,
"[-bdhv] [-p percentage|-l size] [-s src-pane] [-t dst-pane]",
0,
- cmd_join_pane_key_binding,
cmd_join_pane_exec
};
@@ -48,24 +46,9 @@ const struct cmd_entry cmd_move_pane_entry = {
"bdhvp:l:s:t:", 0, 0,
"[-bdhv] [-p percentage|-l size] [-s src-pane] [-t dst-pane]",
0,
- NULL,
cmd_join_pane_exec
};
-void
-cmd_join_pane_key_binding(struct cmd *self, int key)
-{
- switch (key) {
- case '%':
- self->args = args_create(0);
- args_set(self->args, 'h', NULL);
- break;
- default:
- self->args = args_create(0);
- break;
- }
-}
-
enum cmd_retval
cmd_join_pane_exec(struct cmd *self, struct cmd_q *cmdq)
{
diff --git a/cmd-kill-pane.c b/cmd-kill-pane.c
index 64fd11e4..f4735fd2 100644
--- a/cmd-kill-pane.c
+++ b/cmd-kill-pane.c
@@ -33,7 +33,6 @@ const struct cmd_entry cmd_kill_pane_entry = {
"at:", 0, 0,
"[-a] " CMD_TARGET_PANE_USAGE,
0,
- NULL,
cmd_kill_pane_exec
};
diff --git a/cmd-kill-server.c b/cmd-kill-server.c
index 6f0b7494..07d94302 100644
--- a/cmd-kill-server.c
+++ b/cmd-kill-server.c
@@ -34,7 +34,6 @@ const struct cmd_entry cmd_kill_server_entry = {
"", 0, 0,
"",
0,
- NULL,
cmd_kill_server_exec
};
@@ -43,7 +42,6 @@ const struct cmd_entry cmd_start_server_entry = {
"", 0, 0,
"",
CMD_STARTSERVER,
- NULL,
cmd_kill_server_exec
};
diff --git a/cmd-kill-session.c b/cmd-kill-session.c
index 097189ec..d7e2a219 100644
--- a/cmd-kill-session.c
+++ b/cmd-kill-session.c
@@ -34,7 +34,6 @@ const struct cmd_entry cmd_kill_session_entry = {
"at:", 0, 0,
"[-a] " CMD_TARGET_SESSION_USAGE,
0,
- NULL,
cmd_kill_session_exec
};
diff --git a/cmd-kill-window.c b/cmd-kill-window.c
index 2f924260..dd4d7f59 100644
--- a/cmd-kill-window.c
+++ b/cmd-kill-window.c
@@ -31,7 +31,6 @@ const struct cmd_entry cmd_kill_window_entry = {
"at:", 0, 0,
"[-a] " CMD_TARGET_WINDOW_USAGE,
0,
- NULL,
cmd_kill_window_exec
};
diff --git a/cmd-link-window.c b/cmd-link-window.c
index 8bd63b7c..ee5b62a5 100644
--- a/cmd-link-window.c
+++ b/cmd-link-window.c
@@ -33,7 +33,6 @@ const struct cmd_entry cmd_link_window_entry = {
"dks:t:", 0, 0,
"[-dk] " CMD_SRCDST_WINDOW_USAGE,
0,
- NULL,
cmd_link_window_exec
};
diff --git a/cmd-list-buffers.c b/cmd-list-buffers.c
index 9d79072e..25f7e8bc 100644
--- a/cmd-list-buffers.c
+++ b/cmd-list-buffers.c
@@ -34,7 +34,6 @@ const struct cmd_entry cmd_list_buffers_entry = {
"F:", 0, 0,
"[-F format]",
0,
- NULL,
cmd_list_buffers_exec
};
diff --git a/cmd-list-clients.c b/cmd-list-clients.c
index 98c564ad..0cfbdfa7 100644
--- a/cmd-list-clients.c
+++ b/cmd-list-clients.c
@@ -35,7 +35,6 @@ const struct cmd_entry cmd_list_clients_entry = {
"F:t:", 0, 0,
"[-F format] " CMD_TARGET_SESSION_USAGE,
CMD_READONLY,
- NULL,
cmd_list_clients_exec
};
diff --git a/cmd-list-commands.c b/cmd-list-commands.c
index 287df428..520feccb 100644
--- a/cmd-list-commands.c
+++ b/cmd-list-commands.c
@@ -31,7 +31,6 @@ const struct cmd_entry cmd_list_commands_entry = {
"", 0, 0,
"",
0,
- NULL,
cmd_list_commands_exec
};
diff --git a/cmd-list-keys.c b/cmd-list-keys.c
index 65e4469e..0d64f1be 100644
--- a/cmd-list-keys.c
+++ b/cmd-list-keys.c
@@ -34,7 +34,6 @@ const struct cmd_entry cmd_list_keys_entry = {
"t:", 0, 0,
"[-t key-table]",
0,
- NULL,
cmd_list_keys_exec
};
diff --git a/cmd-list-panes.c b/cmd-list-panes.c
index 07884ff2..7f62177b 100644
--- a/cmd-list-panes.c
+++ b/cmd-list-panes.c
@@ -40,7 +40,6 @@ const struct cmd_entry cmd_list_panes_entry = {
"asF:t:", 0, 0,
"[-as] [-F format] " CMD_TARGET_WINDOW_USAGE,
0,
- NULL,
cmd_list_panes_exec
};
diff --git a/cmd-list-sessions.c b/cmd-list-sessions.c
index d401608f..f0a7c538 100644
--- a/cmd-list-sessions.c
+++ b/cmd-list-sessions.c
@@ -35,7 +35,6 @@ const struct cmd_entry cmd_list_sessions_entry = {
"F:", 0, 0,
"[-F format]",
0,
- NULL,
cmd_list_sessions_exec
};
diff --git a/cmd-list-windows.c b/cmd-list-windows.c
index bc56816f..1317ecb1 100644
--- a/cmd-list-windows.c
+++ b/cmd-list-windows.c
@@ -38,7 +38,6 @@ const struct cmd_entry cmd_list_windows_entry = {
"F:at:", 0, 0,
"[-a] [-F format] " CMD_TARGET_SESSION_USAGE,
0,
- NULL,
cmd_list_windows_exec
};
diff --git a/cmd-load-buffer.c b/cmd-load-buffer.c
index 26d6297a..785a7011 100644
--- a/cmd-load-buffer.c
+++ b/cmd-load-buffer.c
@@ -39,7 +39,6 @@ const struct cmd_entry cmd_load_buffer_entry = {
"b:", 1, 1,
CMD_BUFFER_USAGE " path",
0,
- NULL,
cmd_load_buffer_exec
};
diff --git a/cmd-lock-server.c b/cmd-lock-server.c
index 757c2e3f..de76475d 100644
--- a/cmd-lock-server.c
+++ b/cmd-lock-server.c
@@ -31,7 +31,6 @@ const struct cmd_entry cmd_lock_server_entry = {
"", 0, 0,
"",
0,
- NULL,
cmd_lock_server_exec
};
@@ -40,7 +39,6 @@ const struct cmd_entry cmd_lock_session_entry = {
"t:", 0, 0,
CMD_TARGET_SESSION_USAGE,
0,
- NULL,
cmd_lock_server_exec
};
@@ -49,7 +47,6 @@ const struct cmd_entry cmd_lock_client_entry = {
"t:", 0, 0,
CMD_TARGET_CLIENT_USAGE,
0,
- NULL,
cmd_lock_server_exec
};
diff --git a/cmd-move-window.c b/cmd-move-window.c
index bb160e5c..eef96f1c 100644
--- a/cmd-move-window.c
+++ b/cmd-move-window.c
@@ -33,7 +33,6 @@ const struct cmd_entry cmd_move_window_entry = {
"dkrs:t:", 0, 0,
"[-dkr] " CMD_SRCDST_WINDOW_USAGE,
0,
- NULL,
cmd_move_window_exec
};
diff --git a/cmd-new-session.c b/cmd-new-session.c
index 802cb6c9..e42947e7 100644
--- a/cmd-new-session.c
+++ b/cmd-new-session.c
@@ -40,7 +40,6 @@ const struct cmd_entry cmd_new_session_entry = {
"[-s session-name] " CMD_TARGET_SESSION_USAGE " [-x width] "
"[-y height] [command]",
CMD_STARTSERVER|CMD_CANTNEST,
- NULL,
cmd_new_session_exec
};
diff --git a/cmd-new-window.c b/cmd-new-window.c
index 00fa53f8..09693c8f 100644
--- a/cmd-new-window.c
+++ b/cmd-new-window.c
@@ -38,7 +38,6 @@ const struct cmd_entry cmd_new_window_entry = {
"[-adkP] [-c start-directory] [-F format] [-n window-name] "
CMD_TARGET_WINDOW_USAGE " [command]",
0,
- NULL,
cmd_new_window_exec
};
diff --git a/cmd-paste-buffer.c b/cmd-paste-buffer.c
index 9462b28f..08ac6fa2 100644
--- a/cmd-paste-buffer.c
+++ b/cmd-paste-buffer.c
@@ -38,7 +38,6 @@ const struct cmd_entry cmd_paste_buffer_entry = {
"db:prs:t:", 0, 0,
"[-dpr] [-s separator] " CMD_BUFFER_USAGE " " CMD_TARGET_PANE_USAGE,
0,
- NULL,
cmd_paste_buffer_exec
};
diff --git a/cmd-pipe-pane.c b/cmd-pipe-pane.c
index 9b29e568..31587652 100644
--- a/cmd-pipe-pane.c
+++ b/cmd-pipe-pane.c
@@ -41,7 +41,6 @@ const struct cmd_entry cmd_pipe_pane_entry = {
"ot:", 0, 1,
"[-o] " CMD_TARGET_PANE_USAGE " [command]",
0,
- NULL,
cmd_pipe_pane_exec
};
diff --git a/cmd-refresh-client.c b/cmd-refresh-client.c
index d3dae49d..f693872c 100644
--- a/cmd-refresh-client.c
+++ b/cmd-refresh-client.c
@@ -31,7 +31,6 @@ const struct cmd_entry cmd_refresh_client_entry = {
"C:St:", 0, 0,
"[-S] [-C size] " CMD_TARGET_CLIENT_USAGE,
0,
- NULL,
cmd_refresh_client_exec
};
diff --git a/cmd-rename-session.c b/cmd-rename-session.c
index ba8f9588..481154ce 100644
--- a/cmd-rename-session.c
+++ b/cmd-rename-session.c
@@ -33,7 +33,6 @@ const struct cmd_entry cmd_rename_session_entry = {
"t:", 1, 1,
CMD_TARGET_SESSION_USAGE " new-name",
0,
- NULL,
cmd_rename_session_exec
};
diff --git a/cmd-rename-window.c b/cmd-rename-window.c
index bdd3fbef..2f677a48 100644
--- a/cmd-rename-window.c
+++ b/cmd-rename-window.c
@@ -33,7 +33,6 @@ const struct cmd_entry cmd_rename_window_entry = {
"t:", 1, 1,
CMD_TARGET_WINDOW_USAGE " new-name",
0,
- NULL,
cmd_rename_window_exec
};
diff --git a/cmd-resize-pane.c b/cmd-resize-pane.c
index e54c0760..42f0f39a 100644
--- a/cmd-resize-pane.c
+++ b/cmd-resize-pane.c
@@ -26,7 +26,6 @@
* Increase or decrease pane size.
*/
-void cmd_resize_pane_key_binding(struct cmd *, int);
enum cmd_retval cmd_resize_pane_exec(struct cmd *, struct cmd_q *);
const struct cmd_entry cmd_resize_pane_entry = {
@@ -34,56 +33,9 @@ const struct cmd_entry cmd_resize_pane_entry = {
"DLRt:Ux:y:Z", 0, 1,
"[-DLRUZ] [-x width] [-y height] " CMD_TARGET_PANE_USAGE " [adjustment]",
0,
- cmd_resize_pane_key_binding,
cmd_resize_pane_exec
};
-void
-cmd_resize_pane_key_binding(struct cmd *self, int key)
-{
- switch (key) {
- case KEYC_UP | KEYC_CTRL:
- self->args = args_create(0);
- args_set(self->args, 'U', NULL);
- break;
- case KEYC_DOWN | KEYC_CTRL:
- self->args = args_create(0);
- args_set(self->args, 'D', NULL);
- break;
- case KEYC_LEFT | KEYC_CTRL:
- self->args = args_create(0);
- args_set(self->args, 'L', NULL);
- break;
- case KEYC_RIGHT | KEYC_CTRL:
- self->args = args_create(0);
- args_set(self->args, 'R', NULL);
- break;
- case KEYC_UP | KEYC_ESCAPE:
- self->args = args_create(1, "5");
- args_set(self->args, 'U', NULL);
- break;
- case KEYC_DOWN | KEYC_ESCAPE:
- self->args = args_create(1, "5");
- args_set(self->args, 'D', NULL);
- break;
- case KEYC_LEFT | KEYC_ESCAPE:
- self->args = args_create(1, "5");
- args_set(self->args, 'L', NULL);
- break;
- case KEYC_RIGHT | KEYC_ESCAPE:
- self->args = args_create(1, "5");
- args_set(self->args, 'R', NULL);
- break;
- case 'z':
- self->args = args_create(0);
- args_set(self->args, 'Z', NULL);
- break;
- default:
- self->args = args_create(0);
- break;
- }
-}
-
enum cmd_retval
cmd_resize_pane_exec(struct cmd *self, struct cmd_q *cmdq)
{
diff --git a/cmd-respawn-window.c b/cmd-respawn-window.c
index 5f59cb8b..06102ed0 100644
--- a/cmd-respawn-window.c
+++ b/cmd-respawn-window.c
@@ -34,7 +34,6 @@ const struct cmd_entry cmd_respawn_window_entry = {
"kt:", 0, -1,
"[-k] " CMD_TARGET_WINDOW_USAGE " [command]",
0,
- NULL,
cmd_respawn_window_exec
};
diff --git a/cmd-rotate-window.c b/cmd-rotate-window.c
index 6005ae5d..859ff04a 100644
--- a/cmd-rotate-window.c
+++ b/cmd-rotate-window.c
@@ -24,7 +24,6 @@
* Rotate the panes in a window.
*/
-void cmd_rotate_window_key_binding(struct cmd *, int);
enum cmd_retval cmd_rotate_window_exec(struct cmd *, struct cmd_q *);
const struct cmd_entry cmd_rotate_window_entry = {
@@ -32,18 +31,9 @@ const struct cmd_entry cmd_rotate_window_entry = {
"Dt:U", 0, 0,
"[-DU] " CMD_TARGET_WINDOW_USAGE,
0,
- cmd_rotate_window_key_binding,
cmd_rotate_window_exec
};
-void
-cmd_rotate_window_key_binding(struct cmd *self, int key)
-{
- self->args = args_create(0);
- if (key == ('o' | KEYC_ESCAPE))
- args_set(self->args, 'D', NULL);
-}
-
enum cmd_retval
cmd_rotate_window_exec(struct cmd *self, struct cmd_q *cmdq)
{
diff --git a/cmd-run-shell.c b/cmd-run-shell.c
index 8799e0ab..b47c2827 100644
--- a/cmd-run-shell.c
+++ b/cmd-run-shell.c
@@ -40,7 +40,6 @@ const struct cmd_entry cmd_run_shell_entry = {
"bt:", 1, 1,
"[-b] " CMD_TARGET_PANE_USAGE " shell-command",
0,
- NULL,
cmd_run_shell_exec
};
diff --git a/cmd-save-buffer.c b/cmd-save-buffer.c
index db80e48d..368c5178 100644
--- a/cmd-save-buffer.c
+++ b/cmd-save-buffer.c
@@ -39,7 +39,6 @@ const struct cmd_entry cmd_save_buffer_entry = {
"ab:", 1, 1,
"[-a] " CMD_BUFFER_USAGE " path",
0,
- NULL,
cmd_save_buffer_exec
};
@@ -48,7 +47,6 @@ const struct cmd_entry cmd_show_buffer_entry = {
"b:", 0, 0,
CMD_BUFFER_USAGE,
0,
- NULL,
cmd_save_buffer_exec
};
diff --git a/cmd-select-layout.c b/cmd-select-layout.c
index a5f5519c..5f007740 100644
--- a/cmd-select-layout.c
+++ b/cmd-select-layout.c
@@ -24,15 +24,12 @@
* Switch window to selected layout.
*/
-void cmd_select_layout_key_binding(struct cmd *, int);
enum cmd_retval cmd_select_layout_exec(struct cmd *, struct cmd_q *);
const struct cmd_entry cmd_select_layout_entry = {
"select-layout", "selectl",
"npt:", 0, 1,
"[-np] " CMD_TARGET_WINDOW_USAGE " [layout-name]",
- 0,
- cmd_select_layout_key_binding,
cmd_select_layout_exec
};
@@ -41,7 +38,6 @@ const struct cmd_entry cmd_next_layout_entry = {
"t:", 0, 0,
CMD_TARGET_WINDOW_USAGE,
0,
- NULL,
cmd_select_layout_exec
};
@@ -50,35 +46,9 @@ const struct cmd_entry cmd_previous_layout_entry = {
"t:", 0, 0,
CMD_TARGET_WINDOW_USAGE,
0,
- NULL,
cmd_select_layout_exec
};
-void
-cmd_select_layout_key_binding(struct cmd *self, int key)
-{
- switch (key) {
- case '1' | KEYC_ESCAPE:
- self->args = args_create(1, "even-horizontal");
- break;
- case '2' | KEYC_ESCAPE:
- self->args = args_create(1, "even-vertical");
- break;
- case '3' | KEYC_ESCAPE:
- self->args = args_create(1, "main-horizontal");
- break;
- case '4' | KEYC_ESCAPE:
- self->args = args_create(1, "main-vertical");
- break;
- case '5' | KEYC_ESCAPE:
- self->args = args_create(1, "tiled");
- break;
- default:
- self->args = args_create(0);
- break;
- }
-}
-
enum cmd_retval
cmd_select_layout_exec(struct cmd *self, struct cmd_q *cmdq)
{
diff --git a/cmd-select-pane.c b/cmd-select-pane.c
index a491c433..99594ae9 100644
--- a/cmd-select-pane.c
+++ b/cmd-select-pane.c
@@ -24,7 +24,6 @@
* Select pane.
*/
-void cmd_select_pane_key_binding(struct cmd *, int);
enum cmd_retval cmd_select_pane_exec(struct cmd *, struct cmd_q *);
const struct cmd_entry cmd_select_pane_entry = {
@@ -32,7 +31,6 @@ const struct cmd_entry cmd_select_pane_entry = {
"DdeLlRt:U", 0, 0,
"[-DdeLlRU] " CMD_TARGET_PANE_USAGE,
0,
- cmd_select_pane_key_binding,
cmd_select_pane_exec
};
@@ -41,26 +39,9 @@ const struct cmd_entry cmd_last_pane_entry = {
"det:", 0, 0,
"[-de] " CMD_TARGET_WINDOW_USAGE,
0,
- NULL,
cmd_select_pane_exec
};
-void
-cmd_select_pane_key_binding(struct cmd *self, int key)
-{
- self->args = args_create(0);
- if (key == KEYC_UP)
- args_set(self->args, 'U', NULL);
- if (key == KEYC_DOWN)
- args_set(self->args, 'D', NULL);
- if (key == KEYC_LEFT)
- args_set(self->args, 'L', NULL);
- if (key == KEYC_RIGHT)
- args_set(self->args, 'R', NULL);
- if (key == 'o')
- args_set(self->args, 't', ":.+");
-}
-
enum cmd_retval
cmd_select_pane_exec(struct cmd *self, struct cmd_q *cmdq)
{
diff --git a/cmd-select-window.c b/cmd-select-window.c
index 744bdf77..f530f1fe 100644
--- a/cmd-select-window.c
+++ b/cmd-select-window.c
@@ -26,7 +26,6 @@
* Select window by index.
*/
-void cmd_select_window_key_binding(struct cmd *, int);
enum cmd_retval cmd_select_window_exec(struct cmd *, struct cmd_q *);
const struct cmd_entry cmd_select_window_entry = {
@@ -34,7 +33,6 @@ const struct cmd_entry cmd_select_window_entry = {
"lnpTt:", 0, 0,
"[-lnpT] " CMD_TARGET_WINDOW_USAGE,
0,
- cmd_select_window_key_binding,
cmd_select_window_exec
};
@@ -43,7 +41,6 @@ const struct cmd_entry cmd_next_window_entry = {
"at:", 0, 0,
"[-a] " CMD_TARGET_SESSION_USAGE,
0,
- cmd_select_window_key_binding,
cmd_select_window_exec
};
@@ -52,7 +49,6 @@ const struct cmd_entry cmd_previous_window_entry = {
"at:", 0, 0,
"[-a] " CMD_TARGET_SESSION_USAGE,
0,
- cmd_select_window_key_binding,
cmd_select_window_exec
};
@@ -61,24 +57,9 @@ const struct cmd_entry cmd_last_window_entry = {
"t:", 0, 0,
CMD_TARGET_SESSION_USAGE,
0,
- NULL,
cmd_select_window_exec
};
-void
-cmd_select_window_key_binding(struct cmd *self, int key)
-{
- char tmp[16];
-
- self->args = args_create(0);
- if (key >= '0' && key <= '9') {
- xsnprintf(tmp, sizeof tmp, ":%d", key - '0');
- args_set(self->args, 't', tmp);
- }
- if (key == ('n' | KEYC_ESCAPE) || key == ('p' | KEYC_ESCAPE))
- args_set(self->args, 'a', NULL);
-}
-
enum cmd_retval
cmd_select_window_exec(struct cmd *self, struct cmd_q *cmdq)
{
diff --git a/cmd-send-keys.c b/cmd-send-keys.c
index ef61d2bb..7a4d97d5 100644
--- a/cmd-send-keys.c
+++ b/cmd-send-keys.c
@@ -34,7 +34,6 @@ const struct cmd_entry cmd_send_keys_entry = {
"lRt:", 0, -1,
"[-lR] " CMD_TARGET_PANE_USAGE " key ...",
0,
- NULL,
cmd_send_keys_exec
};
@@ -43,7 +42,6 @@ const struct cmd_entry cmd_send_prefix_entry = {
"2t:", 0, 0,
"[-2] " CMD_TARGET_PANE_USAGE,
0,
- NULL,
cmd_send_keys_exec
};
diff --git a/cmd-set-buffer.c b/cmd-set-buffer.c
index 88bd0c10..0ec362b3 100644
--- a/cmd-set-buffer.c
+++ b/cmd-set-buffer.c
@@ -34,7 +34,6 @@ const struct cmd_entry cmd_set_buffer_entry = {
"ab:n:", 0, 1,
"[-a] " CMD_BUFFER_USAGE " [-n new-buffer-name] data",
0,
- NULL,
cmd_set_buffer_exec
};
diff --git a/cmd-set-environment.c b/cmd-set-environment.c
index 7a446fc6..83e63b48 100644
--- a/cmd-set-environment.c
+++ b/cmd-set-environment.c
@@ -34,7 +34,6 @@ const struct cmd_entry cmd_set_environment_entry = {
"grt:u", 1, 2,
"[-gru] " CMD_TARGET_SESSION_USAGE " name [value]",
0,
- NULL,
cmd_set_environment_exec
};
diff --git a/cmd-set-option.c b/cmd-set-option.c
index 5cea4932..01d691d5 100644
--- a/cmd-set-option.c
+++ b/cmd-set-option.c
@@ -69,7 +69,6 @@ const struct cmd_entry cmd_set_option_entry = {
"agoqst:uw", 1, 2,
"[-agosquw] [-t target-session|target-window] option [value]",
0,
- NULL,
cmd_set_option_exec
};
@@ -78,7 +77,6 @@ const struct cmd_entry cmd_set_window_option_entry = {
"agoqt:u", 1, 2,
"[-agoqu] " CMD_TARGET_WINDOW_USAGE " option [value]",
0,
- NULL,
cmd_set_option_exec
};
diff --git a/cmd-show-environment.c b/cmd-show-environment.c
index 4ba111b2..7737752f 100644
--- a/cmd-show-environment.c
+++ b/cmd-show-environment.c
@@ -34,7 +34,6 @@ const struct cmd_entry cmd_show_environment_entry = {
"gt:", 0, 1,
"[-g] " CMD_TARGET_SESSION_USAGE " [name]",
0,
- NULL,
cmd_show_environment_exec
};
diff --git a/cmd-show-messages.c b/cmd-show-messages.c
index 45358fde..3b7baa89 100644
--- a/cmd-show-messages.c
+++ b/cmd-show-messages.c
@@ -36,7 +36,6 @@ const struct cmd_entry cmd_show_messages_entry = {
"IJTt:", 0, 0,
"[-IJT] " CMD_TARGET_CLIENT_USAGE,
0,
- NULL,
cmd_show_messages_exec
};
@@ -45,7 +44,6 @@ const struct cmd_entry cmd_server_info_entry = {
"", 0, 0,
"",
0,
- NULL,
cmd_show_messages_exec
};
diff --git a/cmd-show-options.c b/cmd-show-options.c
index b2c6ec3c..a5011e72 100644
--- a/cmd-show-options.c
+++ b/cmd-show-options.c
@@ -39,7 +39,6 @@ const struct cmd_entry cmd_show_options_entry = {
"gqst:vw", 0, 1,
"[-gqsvw] [-t target-session|target-window] [option]",
0,
- NULL,
cmd_show_options_exec
};
@@ -48,7 +47,6 @@ const struct cmd_entry cmd_show_window_options_entry = {
"gvt:", 0, 1,
"[-gv] " CMD_TARGET_WINDOW_USAGE " [option]",
0,
- NULL,
cmd_show_options_exec
};
diff --git a/cmd-source-file.c b/cmd-source-file.c
index 8fcfe2f3..8610d807 100644
--- a/cmd-source-file.c
+++ b/cmd-source-file.c
@@ -36,7 +36,6 @@ const struct cmd_entry cmd_source_file_entry = {
"", 1, 1,
"path",
0,
- NULL,
cmd_source_file_exec
};
diff --git a/cmd-split-window.c b/cmd-split-window.c
index 8a608bdb..797332cf 100644
--- a/cmd-split-window.c
+++ b/cmd-split-window.c
@@ -31,7 +31,6 @@
* Split a window (add a new pane).
*/
-void cmd_split_window_key_binding(struct cmd *, int);
enum cmd_retval cmd_split_window_exec(struct cmd *, struct cmd_q *);
const struct cmd_entry cmd_split_window_entry = {
@@ -40,18 +39,9 @@ const struct cmd_entry cmd_split_window_entry = {
"[-dhvP] [-c start-directory] [-F format] [-p percentage|-l size] "
CMD_TARGET_PANE_USAGE " [command]",
0,
- cmd_split_window_key_binding,
cmd_split_window_exec
};
-void
-cmd_split_window_key_binding(struct cmd *self, int key)
-{
- self->args = args_create(0);
- if (key == '%')
- args_set(self->args, 'h', NULL);
-}
-
enum cmd_retval
cmd_split_window_exec(struct cmd *self, struct cmd_q *cmdq)
{
diff --git a/cmd-suspend-client.c b/cmd-suspend-client.c
index 5d1e7fe2..63ed874f 100644
--- a/cmd-suspend-client.c
+++ b/cmd-suspend-client.c
@@ -34,7 +34,6 @@ const struct cmd_entry cmd_suspend_client_entry = {
"t:", 0, 0,
CMD_TARGET_CLIENT_USAGE,
0,
- NULL,
cmd_suspend_client_exec
};
diff --git a/cmd-swap-pane.c b/cmd-swap-pane.c
index e8170bbb..918a2e4f 100644
--- a/cmd-swap-pane.c
+++ b/cmd-swap-pane.c
@@ -26,7 +26,6 @@
* Swap two panes.
*/
-void cmd_swap_pane_key_binding(struct cmd *, int);
enum cmd_retval cmd_swap_pane_exec(struct cmd *, struct cmd_q *);
const struct cmd_entry cmd_swap_pane_entry = {
@@ -34,20 +33,9 @@ const struct cmd_entry cmd_swap_pane_entry = {
"dDs:t:U", 0, 0,
"[-dDU] " CMD_SRCDST_PANE_USAGE,
0,
- cmd_swap_pane_key_binding,
cmd_swap_pane_exec
};
-void
-cmd_swap_pane_key_binding(struct cmd *self, int key)
-{
- self->args = args_create(0);
- if (key == '{')
- args_set(self->args, 'U', NULL);
- else if (key == '}')
- args_set(self->args, 'D', NULL);
-}
-
enum cmd_retval
cmd_swap_pane_exec(struct cmd *self, struct cmd_q *cmdq)
{
diff --git a/cmd-swap-window.c b/cmd-swap-window.c
index 00bf6d4d..655b910c 100644
--- a/cmd-swap-window.c
+++ b/cmd-swap-window.c
@@ -33,7 +33,6 @@ const struct cmd_entry cmd_swap_window_entry = {
"ds:t:", 0, 0,
"[-d] " CMD_SRCDST_WINDOW_USAGE,
0,
- NULL,
cmd_swap_window_exec
};
diff --git a/cmd-switch-client.c b/cmd-switch-client.c
index 872570b0..439f593b 100644
--- a/cmd-switch-client.c
+++ b/cmd-switch-client.c
@@ -27,7 +27,6 @@
* Switch client to a different session.
*/
-void cmd_switch_client_key_binding(struct cmd *, int);
enum cmd_retval cmd_switch_client_exec(struct cmd *, struct cmd_q *);
const struct cmd_entry cmd_switch_client_entry = {
@@ -35,27 +34,9 @@ const struct cmd_entry cmd_switch_client_entry = {
"lc:npt:r", 0, 0,
"[-lnpr] [-c target-client] [-t target-session]",
CMD_READONLY,
- cmd_switch_client_key_binding,
cmd_switch_client_exec
};
-void
-cmd_switch_client_key_binding(struct cmd *self, int key)
-{
- self->args = args_create(0);
- switch (key) {
- case '(':
- args_set(self->args, 'p', NULL);
- break;
- case ')':
- args_set(self->args, 'n', NULL);
- break;
- case 'L':
- args_set(self->args, 'l', NULL);
- break;
- }
-}
-
enum cmd_retval
cmd_switch_client_exec(struct cmd *self, struct cmd_q *cmdq)
{
diff --git a/cmd-unbind-key.c b/cmd-unbind-key.c
index 92657c29..710210ce 100644
--- a/cmd-unbind-key.c
+++ b/cmd-unbind-key.c
@@ -34,7 +34,6 @@ const struct cmd_entry cmd_unbind_key_entry = {
"acnt:", 0, 1,
"[-acn] [-t mode-table] key",
0,
- NULL,
cmd_unbind_key_exec
};
diff --git a/cmd-unlink-window.c b/cmd-unlink-window.c
index d4c77f2a..adc70168 100644
--- a/cmd-unlink-window.c
+++ b/cmd-unlink-window.c
@@ -31,7 +31,6 @@ const struct cmd_entry cmd_unlink_window_entry = {
"kt:", 0, 0,
"[-k] " CMD_TARGET_WINDOW_USAGE,
0,
- NULL,
cmd_unlink_window_exec
};
diff --git a/cmd-wait-for.c b/cmd-wait-for.c
index 48a6fe3c..a3e85856 100644
--- a/cmd-wait-for.c
+++ b/cmd-wait-for.c
@@ -35,7 +35,6 @@ const struct cmd_entry cmd_wait_for_entry = {
"LSU", 1, 1,
"[-L|-S|-U] channel",
0,
- NULL,
cmd_wait_for_exec
};
diff --git a/key-bindings.c b/key-bindings.c
index 55c8aebe..13ba9f25 100644
--- a/key-bindings.c
+++ b/key-bindings.c
@@ -84,107 +84,99 @@ key_bindings_remove(int key)
void
key_bindings_init(void)
{
- static const struct {
- int key;
- int can_repeat;
- const struct cmd_entry *entry;
- } table[] = {
- { ' ', 0, &cmd_next_layout_entry },
- { '!', 0, &cmd_break_pane_entry },
- { '"', 0, &cmd_split_window_entry },
- { '#', 0, &cmd_list_buffers_entry },
- { '$', 0, &cmd_command_prompt_entry },
- { '%', 0, &cmd_split_window_entry },
- { '&', 0, &cmd_confirm_before_entry },
- { '(', 0, &cmd_switch_client_entry },
- { ')', 0, &cmd_switch_client_entry },
- { ',', 0, &cmd_command_prompt_entry },
- { '-', 0, &cmd_delete_buffer_entry },
- { '.', 0, &cmd_command_prompt_entry },
- { '0', 0, &cmd_select_window_entry },
- { '1', 0, &cmd_select_window_entry },
- { '2', 0, &cmd_select_window_entry },
- { '3', 0, &cmd_select_window_entry },
- { '4', 0, &cmd_select_window_entry },
- { '5', 0, &cmd_select_window_entry },
- { '6', 0, &cmd_select_window_entry },
- { '7', 0, &cmd_select_window_entry },
- { '8', 0, &cmd_select_window_entry },
- { '9', 0, &cmd_select_window_entry },
- { ':', 0, &cmd_command_prompt_entry },
- { ';', 0, &cmd_last_pane_entry },
- { '=', 0, &cmd_choose_buffer_entry },
- { '?', 0, &cmd_list_keys_entry },
- { 'D', 0, &cmd_choose_client_entry },
- { 'L', 0, &cmd_switch_client_entry },
- { '[', 0, &cmd_copy_mode_entry },
- { '\'', 0, &cmd_command_prompt_entry },
- { '\002', /* C-b */ 0, &cmd_send_prefix_entry },
- { '\017', /* C-o */ 0, &cmd_rotate_window_entry },
- { '\032', /* C-z */ 0, &cmd_suspend_client_entry },
- { ']', 0, &cmd_paste_buffer_entry },
- { 'c', 0, &cmd_new_window_entry },
- { 'd', 0, &cmd_detach_client_entry },
- { 'f', 0, &cmd_command_prompt_entry },
- { 'i', 0, &cmd_display_message_entry },
- { 'l', 0, &cmd_last_window_entry },
- { 'n', 0, &cmd_next_window_entry },
- { 'o', 0, &cmd_select_pane_entry },
- { 'p', 0, &cmd_previous_window_entry },
- { 'q', 0, &cmd_display_panes_entry },
- { 'r', 0, &cmd_refresh_client_entry },
- { 's', 0, &cmd_choose_tree_entry },
- { 't', 0, &cmd_clock_mode_entry },
- { 'w', 0, &cmd_choose_window_entry },
- { 'x', 0, &cmd_confirm_before_entry },
- { 'z', 0, &cmd_resize_pane_entry },
- { '{', 0, &cmd_swap_pane_entry },
- { '}', 0, &cmd_swap_pane_entry },
- { '~', 0, &cmd_show_messages_entry },
- { '1' | KEYC_ESCAPE, 0, &cmd_select_layout_entry },
- { '2' | KEYC_ESCAPE, 0, &cmd_select_layout_entry },
- { '3' | KEYC_ESCAPE, 0, &cmd_select_layout_entry },
- { '4' | KEYC_ESCAPE, 0, &cmd_select_layout_entry },
- { '5' | KEYC_ESCAPE, 0, &cmd_select_layout_entry },
- { KEYC_PPAGE, 0, &cmd_copy_mode_entry },
- { 'n' | KEYC_ESCAPE, 0, &cmd_next_window_entry },
- { 'o' | KEYC_ESCAPE, 0, &cmd_rotate_window_entry },
- { 'p' | KEYC_ESCAPE, 0, &cmd_previous_window_entry },
- { KEYC_UP, 1, &cmd_select_pane_entry },
- { KEYC_DOWN, 1, &cmd_select_pane_entry },
- { KEYC_LEFT, 1, &cmd_select_pane_entry },
- { KEYC_RIGHT, 1, &cmd_select_pane_entry },
- { KEYC_UP | KEYC_ESCAPE, 1, &cmd_resize_pane_entry },
- { KEYC_DOWN | KEYC_ESCAPE, 1, &cmd_resize_pane_entry },
- { KEYC_LEFT | KEYC_ESCAPE, 1, &cmd_resize_pane_entry },
- { KEYC_RIGHT | KEYC_ESCAPE, 1, &cmd_resize_pane_entry },
- { KEYC_UP | KEYC_CTRL, 1, &cmd_resize_pane_entry },
- { KEYC_DOWN | KEYC_CTRL, 1, &cmd_resize_pane_entry },
- { KEYC_LEFT | KEYC_CTRL, 1, &cmd_resize_pane_entry },
- { KEYC_RIGHT | KEYC_CTRL, 1, &cmd_resize_pane_entry },
+ static const char* defaults[] = {
+ "bind C-b send-prefix",
+ "bind C-o rotate-window",
+ "bind C-z suspend-client",
+ "bind Space next-layout",
+ "bind ! break-pane",
+ "bind '\"' split-window",
+ "bind '#' list-buffers",
+ "bind '$' command-prompt -I'#S' \"rename-session '%%'\"",
+ "bind % split-window -h",
+ "bind & confirm-before -p\"kill-window #W? (y/n)\" kill-window",
+ "bind \"'\" command-prompt -pindex \"select-window -t ':%%'\"",
+ "bind ( switch-client -p",
+ "bind ) switch-client -n",
+ "bind , command-prompt -I'#W' \"rename-window '%%'\"",
+ "bind - delete-buffer",
+ "bind . command-prompt \"move-window -t '%%'\"",
+ "bind 0 select-window -t:0",
+ "bind 1 select-window -t:1",
+ "bind 2 select-window -t:2",
+ "bind 3 select-window -t:3",
+ "bind 4 select-window -t:4",
+ "bind 5 select-window -t:5",
+ "bind 6 select-window -t:6",
+ "bind 7 select-window -t:7",
+ "bind 8 select-window -t:8",
+ "bind 9 select-window -t:9",
+ "bind : command-prompt",
+ "bind \\; last-pane",
+ "bind = choose-buffer",
+ "bind ? list-keys",
+ "bind D choose-client",
+ "bind L switch-client -l",
+ "bind [ copy-mode",
+ "bind ] paste-buffer",
+ "bind c new-window",
+ "bind d detach-client",
+ "bind f command-prompt \"find-window '%%'\"",
+ "bind i display-message",
+ "bind l last-window",
+ "bind n next-window",
+ "bind o select-pane -t:.+",
+ "bind p previous-window",
+ "bind q display-panes",
+ "bind r refresh-client",
+ "bind s choose-tree",
+ "bind t clock-mode",
+ "bind w choose-window",
+ "bind x confirm-before -p\"kill-pane #P? (y/n)\" kill-pane",
+ "bind z resize-pane -Z",
+ "bind { swap-pane -U",
+ "bind } swap-pane -D",
+ "bind '~' show-messages",
+ "bind PPage copy-mode -u",
+ "bind -r Up select-pane -U",
+ "bind -r Down select-pane -D",
+ "bind -r Left select-pane -L",
+ "bind -r Right select-pane -R",
+ "bind M-1 select-layout even-horizontal",
+ "bind M-2 select-layout even-vertical",
+ "bind M-3 select-layout main-horizontal",
+ "bind M-4 select-layout main-vertical",
+ "bind M-5 select-layout tiled",
+ "bind M-n next-window -a",
+ "bind M-o rotate-window -D",
+ "bind M-p previous-window -a",
+ "bind -r M-Up resize-pane -U 5",
+ "bind -r M-Down resize-pane -D 5",
+ "bind -r M-Left resize-pane -L 5",
+ "bind -r M-Right resize-pane -R 5",
+ "bind -r C-Up resize-pane -U",
+ "bind -r C-Down resize-pane -D",
+ "bind -r C-Left resize-pane -L",
+ "bind -r C-Right resize-pane -R",
};
u_int i;
- struct cmd *cmd;
struct cmd_list *cmdlist;
+ char* cause;
+ int error;
+ struct cmd_q *cmdq;
RB_INIT(&key_bindings);
- for (i = 0; i < nitems(table); i++) {
- cmdlist = xcalloc(1, sizeof *cmdlist);
- cmdlist->references = 1;
- TAILQ_INIT(&cmdlist->list);
-
- cmd = xcalloc(1, sizeof *cmd);
- cmd->entry = table[i].entry;
- if (cmd->entry->key_binding != NULL)
- cmd->entry->key_binding(cmd, table[i].key);
- else
- cmd->args = args_create(0);
- TAILQ_INSERT_HEAD(&cmdlist->list, cmd, qentry);
-
- key_bindings_add(
- table[i].key | KEYC_PREFIX, table[i].can_repeat, cmdlist);
+ cmdq = cmdq_new (NULL);
+ for (i = 0; i < nitems(defaults); i++) {
+ error = cmd_string_parse(defaults[i], &cmdlist,
+ "<default-keys>", i, &cause);
+ if (error != 0)
+ fatalx("bad default key");
+ cmdq_run (cmdq, cmdlist);
+ cmd_list_free (cmdlist);
}
+ cmdq_free (cmdq);
}
void
diff --git a/tmux.h b/tmux.h
index d1197422..0a677a38 100644
--- a/tmux.h
+++ b/tmux.h
@@ -1492,7 +1492,6 @@ struct cmd_entry {
#define CMD_READONLY 0x4
int flags;
- void (*key_binding)(struct cmd *, int);
enum cmd_retval (*exec)(struct cmd *, struct cmd_q *);
};