iAdd support for iso14755 - st - Simple Terminal Err gopher.r-36.net 70 i Err gopher.r-36.net 70 1Log /scm/st//log.gph gopher.r-36.net 70 1Files /scm/st//files.gph gopher.r-36.net 70 1Refs /scm/st//refs.gph gopher.r-36.net 70 1README /scm/st//file/README.gph gopher.r-36.net 70 1LICENSE /scm/st//file/LICENSE.gph gopher.r-36.net 70 i--- Err gopher.r-36.net 70 1commit 68bae9c7b121e30114f6b0cabe15da3fae46e673 /scm/st//commit/68bae9c7b121e30114f6b0cabe15da3fae46e673.gph gopher.r-36.net 70 1parent 331033f1f6abe259218666e6f6a848f38d884078 /scm/st//commit/331033f1f6abe259218666e6f6a848f38d884078.gph gopher.r-36.net 70 hAuthor: Quentin Rameau URL:mailto:quinq@fifth.space gopher.r-36.net 70 iDate: Sat, 8 Oct 2016 16:22:18 +0200 Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iAdd support for iso14755 Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iWe launch dmenu for getting a codepoint, then convert it and send it to Err gopher.r-36.net 70 ithe terminal. Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iDiffstat: Err gopher.r-36.net 70 i config.def.h | 1 + Err gopher.r-36.net 70 i st.c | 28 ++++++++++++++++++++++++++++ Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i2 files changed, 29 insertions(+), 0 deletions(-) Err gopher.r-36.net 70 i--- Err gopher.r-36.net 70 1diff --git a/config.def.h b/config.def.h /scm/st//file/config.def.h.gph gopher.r-36.net 70 i@@ -172,6 +172,7 @@ static Shortcut shortcuts[] = { Err gopher.r-36.net 70 i { MODKEY|ShiftMask, XK_C, clipcopy, {.i = 0} }, Err gopher.r-36.net 70 i { MODKEY|ShiftMask, XK_V, clippaste, {.i = 0} }, Err gopher.r-36.net 70 i { MODKEY, XK_Num_Lock, numlock, {.i = 0} }, Err gopher.r-36.net 70 i+ { MODKEY, XK_Control_L, iso14755, {.i = 0} }, Err gopher.r-36.net 70 i }; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i /* Err gopher.r-36.net 70 1diff --git a/st.c b/st.c /scm/st//file/st.c.gph gopher.r-36.net 70 i@@ -66,6 +66,7 @@ char *argv0; Err gopher.r-36.net 70 i #define MIN(a, b) ((a) < (b) ? (a) : (b)) Err gopher.r-36.net 70 i #define MAX(a, b) ((a) < (b) ? (b) : (a)) Err gopher.r-36.net 70 i #define LEN(a) (sizeof(a) / sizeof(a)[0]) Err gopher.r-36.net 70 i+#define NUMMAXLEN(x) ((int)(sizeof(x) * 2.56 + 0.5) + 1) Err gopher.r-36.net 70 i #define DEFAULT(a, b) (a) = (a) ? (a) : (b) Err gopher.r-36.net 70 i #define BETWEEN(x, a, b) ((a) <= (x) && (x) <= (b)) Err gopher.r-36.net 70 i #define DIVCEIL(n, d) (((n) + ((d) - 1)) / (d)) Err gopher.r-36.net 70 i@@ -87,6 +88,8 @@ char *argv0; Err gopher.r-36.net 70 i #define TRUEGREEN(x) (((x) & 0xff00)) Err gopher.r-36.net 70 i #define TRUEBLUE(x) (((x) & 0xff) << 8) Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i+/* constants */ Err gopher.r-36.net 70 i+#define ISO14755CMD "dmenu -w %lu -p codepoint: 7) Err gopher.r-36.net 70 i+ return; Err gopher.r-36.net 70 i+ if ((utf32 = strtoul(us, &e, 16)) == ULONG_MAX || Err gopher.r-36.net 70 i+ (*e != '\n' && *e != '\0')) Err gopher.r-36.net 70 i+ return; Err gopher.r-36.net 70 i+ Err gopher.r-36.net 70 i+ ttysend(uc, utf8encode(utf32, uc)); Err gopher.r-36.net 70 i+} Err gopher.r-36.net 70 i+ Err gopher.r-36.net 70 i+void Err gopher.r-36.net 70 i ttoggleprinter(const Arg *arg) Err gopher.r-36.net 70 i { Err gopher.r-36.net 70 i term.mode ^= MODE_PRINT; Err gopher.r-36.net 70 .