summaryrefslogtreecommitdiffstats
path: root/tmux.h
diff options
context:
space:
mode:
authornicm <nicm>2019-05-03 14:51:30 +0000
committernicm <nicm>2019-05-03 14:51:30 +0000
commit33298d6df67e2ba3d90abdc94250eeaa963c3730 (patch)
treecce81fff5e3c4c4272eb5a1a6476c0dcc6ede966 /tmux.h
parent4bb48998e075017707b0fd8d61499409bd144c6d (diff)
Instead of processing keys all together, put them up on the client
command queue so they are ordered correctly with the commands that they execute.
Diffstat (limited to 'tmux.h')
-rw-r--r--tmux.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/tmux.h b/tmux.h
index 0e79d429..4f69301f 100644
--- a/tmux.h
+++ b/tmux.h
@@ -1052,6 +1052,12 @@ struct mouse_event {
u_int sgr_b;
};
+/* Key event. */
+struct key_event {
+ key_code key;
+ struct mouse_event m;
+};
+
/* TTY information. */
struct tty_key {
char ch;
@@ -1143,7 +1149,8 @@ struct tty {
TTY_UNKNOWN
} term_type;
- struct mouse_event mouse;
+ u_int mouse_last_x;
+ u_int mouse_last_y;
int mouse_drag_flag;
void (*mouse_drag_update)(struct client *,
struct mouse_event *);
@@ -1864,7 +1871,7 @@ const char *tty_acs_get(struct tty *, u_char);
/* tty-keys.c */
void tty_keys_build(struct tty *);
void tty_keys_free(struct tty *);
-key_code tty_keys_next(struct tty *);
+int tty_keys_next(struct tty *);
/* arguments.c */
void args_set(struct args *, u_char, const char *);
@@ -2002,7 +2009,7 @@ void server_client_set_identify(struct client *, u_int);
void server_client_set_key_table(struct client *, const char *);
const char *server_client_get_key_table(struct client *);
int server_client_check_nested(struct client *);
-void server_client_handle_key(struct client *, key_code);
+enum cmd_retval server_client_key_callback(struct cmdq_item *, void *);
struct client *server_client_create(int);
int server_client_open(struct client *, char **);
void server_client_unref(struct client *);