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
dev
Roberto E. Vargas Caballero 2014-01-31 23:05:42 +01:00
parent 6166a1afc8
commit 96c230e476
2 changed files with 14 additions and 0 deletions

View File

@ -107,6 +107,8 @@ static Mousekey mshortcuts[] = {
static Shortcut shortcuts[] = { static Shortcut shortcuts[] = {
/* mask keysym function argument */ /* 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_Prior, xzoom, {.i = +1} },
{ MODKEY|ShiftMask, XK_Next, xzoom, {.i = -1} }, { MODKEY|ShiftMask, XK_Next, xzoom, {.i = -1} },
{ ShiftMask, XK_Insert, selpaste, {.i = 0} }, { ShiftMask, XK_Insert, selpaste, {.i = 0} },

12
st.c
View File

@ -314,6 +314,8 @@ static void clippaste(const Arg *);
static void numlock(const Arg *); static void numlock(const Arg *);
static void selpaste(const Arg *); static void selpaste(const Arg *);
static void xzoom(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. */ /* Config.h for applying patches and the configuration. */
#include "config.h" #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 void
tdumpline(int n) { tdumpline(int n) {
Glyph *bp, *end; Glyph *bp, *end;