commit 96c230e476a4fb446a8fa8d651c88fda32cd5427
parent 6166a1afc8c7875ce9ba62e5001040014269a26d
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date: Fri, 31 Jan 2014 23:05:42 +0100
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
Diffstat:
2 files changed, 14 insertions(+), 0 deletions(-)
diff --git 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
@@ -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"
@@ -2283,6 +2285,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;