From 96c230e476a4fb446a8fa8d651c88fda32cd5427 Mon Sep 17 00:00:00 2001 From: "Roberto E. Vargas Caballero" Date: Fri, 31 Jan 2014 23:05:42 +0100 Subject: [PATCH] Add key definition for printer sequences These new combinations generate the same behaviour (basically) of vt102. It is a good way of communicating st with other programs. [0] http://www.vt100.net/docs/vt102-ug/chapter2.html --- config.def.h | 2 ++ st.c | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/config.def.h b/config.def.h index b31d7d6..47018a3 100644 --- a/config.def.h +++ b/config.def.h @@ -107,6 +107,8 @@ static Mousekey mshortcuts[] = { static Shortcut shortcuts[] = { /* mask keysym function argument */ + { ControlMask, XK_Print, toggleprinter, {.i = 0} }, + { ShiftMask, XK_Print, printscreen, {.i = 0} }, { MODKEY|ShiftMask, XK_Prior, xzoom, {.i = +1} }, { MODKEY|ShiftMask, XK_Next, xzoom, {.i = -1} }, { ShiftMask, XK_Insert, selpaste, {.i = 0} }, diff --git a/st.c b/st.c index 1711842..9f9c161 100644 --- a/st.c +++ b/st.c @@ -314,6 +314,8 @@ static void clippaste(const Arg *); static void numlock(const Arg *); static void selpaste(const Arg *); static void xzoom(const Arg *); +static void printscreen(const Arg *) ; +static void toggleprinter(const Arg *); /* Config.h for applying patches and the configuration. */ #include "config.h" @@ -2282,6 +2284,16 @@ tprinter(char *s, size_t len) { } } +void +toggleprinter(const Arg *arg) { + term.mode ^= MODE_PRINT; +} + +void +printscreen(const Arg *arg) { + tdump(); +} + void tdumpline(int n) { Glyph *bp, *end;