aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto E. Vargas Caballero <k0ga@shike2.com>2014-01-31 23:05:42 +0100
committerRoberto E. Vargas Caballero <k0ga@shike2.com>2014-03-06 07:53:15 +0100
commit96c230e476a4fb446a8fa8d651c88fda32cd5427 (patch)
treea56a80d850881e004f0c61a40ab24676f9fe79ac
parent6166a1afc8c7875ce9ba62e5001040014269a26d (diff)
downloadst-patched-96c230e476a4fb446a8fa8d651c88fda32cd5427.tar.bz2
st-patched-96c230e476a4fb446a8fa8d651c88fda32cd5427.tar.xz
st-patched-96c230e476a4fb446a8fa8d651c88fda32cd5427.zip
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
-rw-r--r--config.def.h2
-rw-r--r--st.c12
2 files changed, 14 insertions, 0 deletions
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[] = {
107 107
108static Shortcut shortcuts[] = { 108static Shortcut shortcuts[] = {
109 /* mask keysym function argument */ 109 /* mask keysym function argument */
110 { ControlMask, XK_Print, toggleprinter, {.i = 0} },
111 { ShiftMask, XK_Print, printscreen, {.i = 0} },
110 { MODKEY|ShiftMask, XK_Prior, xzoom, {.i = +1} }, 112 { MODKEY|ShiftMask, XK_Prior, xzoom, {.i = +1} },
111 { MODKEY|ShiftMask, XK_Next, xzoom, {.i = -1} }, 113 { MODKEY|ShiftMask, XK_Next, xzoom, {.i = -1} },
112 { ShiftMask, XK_Insert, selpaste, {.i = 0} }, 114 { 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 *);
314static void numlock(const Arg *); 314static void numlock(const Arg *);
315static void selpaste(const Arg *); 315static void selpaste(const Arg *);
316static void xzoom(const Arg *); 316static void xzoom(const Arg *);
317static void printscreen(const Arg *) ;
318static void toggleprinter(const Arg *);
317 319
318/* Config.h for applying patches and the configuration. */ 320/* Config.h for applying patches and the configuration. */
319#include "config.h" 321#include "config.h"
@@ -2283,6 +2285,16 @@ tprinter(char *s, size_t len) {
2283} 2285}
2284 2286
2285void 2287void
2288toggleprinter(const Arg *arg) {
2289 term.mode ^= MODE_PRINT;
2290}
2291
2292void
2293printscreen(const Arg *arg) {
2294 tdump();
2295}
2296
2297void
2286tdumpline(int n) { 2298tdumpline(int n) {
2287 Glyph *bp, *end; 2299 Glyph *bp, *end;
2288 2300