aboutsummaryrefslogtreecommitdiff
path: root/termo.h
diff options
context:
space:
mode:
authorPřemysl Janouch <p.janouch@gmail.com>2014-10-22 22:23:01 +0200
committerPřemysl Janouch <p.janouch@gmail.com>2014-10-22 22:23:01 +0200
commitf1f9a00cda728eabd833e81e14cc7606bb34986a (patch)
treeae3b4e37a4c0e20778896dec1d049626b91b7bf2 /termo.h
parent70bcfde0212b4009467f8551c197743b70355b99 (diff)
downloadtermo-f1f9a00cda728eabd833e81e14cc7606bb34986a.tar.gz
termo-f1f9a00cda728eabd833e81e14cc7606bb34986a.tar.xz
termo-f1f9a00cda728eabd833e81e14cc7606bb34986a.zip
Add support for setting the mouse protocol
Diffstat (limited to 'termo.h')
-rw-r--r--termo.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/termo.h b/termo.h
index d24dccd..ee24d87 100644
--- a/termo.h
+++ b/termo.h
@@ -121,6 +121,26 @@ enum termo_mouse_event
TERMO_MOUSE_RELEASE
};
+// You will want to handle GPM (incompatible license) and FreeBSD's sysmouse
+// yourself. http://www.monkey.org/openbsd/archive/tech/0009/msg00018.html
+
+enum
+{
+ TERMO_MOUSE_PROTO_NONE = 0,
+ TERMO_MOUSE_PROTO_VT200 = 1 << 0,
+ TERMO_MOUSE_PROTO_UTF8 = 1 << 1 | TERMO_MOUSE_PROTO_VT200,
+ TERMO_MOUSE_PROTO_SGR = 1 << 2 | TERMO_MOUSE_PROTO_VT200,
+ TERMO_MOUSE_PROTO_RXVT = 1 << 3 | TERMO_MOUSE_PROTO_VT200
+};
+
+typedef enum termo_mouse_tracking termo_mouse_tracking_t;
+enum termo_mouse_tracking
+{
+ TERMO_MOUSE_TRACKING_NORMAL,
+ TERMO_MOUSE_TRACKING_DRAG,
+ TERMO_MOUSE_TRACKING_ANY
+};
+
enum
{
TERMO_KEYMOD_SHIFT = 1 << 0,
@@ -209,6 +229,13 @@ size_t termo_get_buffer_remaining (termo_t *tk);
void termo_canonicalise (termo_t *tk, termo_key_t *key);
+int termo_get_mouse_proto (termo_t *tk);
+int termo_set_mouse_proto (termo_t *tk, int proto);
+int termo_guess_mouse_proto (termo_t *tk);
+
+termo_mouse_tracking_t termo_get_mouse_tracking_mode (termo_t *tk);
+int termo_set_mouse_tracking_mode (termo_t *tk, termo_mouse_tracking_t mode);
+
termo_result_t termo_getkey (termo_t *tk, termo_key_t *key);
termo_result_t termo_getkey_force (termo_t *tk, termo_key_t *key);
termo_result_t termo_waitkey (termo_t *tk, termo_key_t *key);