Add key definition for printer sequences - st - Simple Terminal
       
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 96c230e476a4fb446a8fa8d651c88fda32cd5427
 (DIR) parent 6166a1afc8c7875ce9ba62e5001040014269a26d
 (HTM) 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:
         config.def.h                        |       2 ++
         st.c                                |      12 ++++++++++++
       
       2 files changed, 14 insertions(+), 0 deletions(-)
       ---
 (DIR) 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} },
 (DIR) 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
       +ttoggleprinter(const Arg *arg) {
       +        term.mode ^= MODE_PRINT;
       +}
       +
       +void
       +printscreen(const Arg *arg) {
       +        tdump();
       +}
       +
       +void
        ttdumpline(int n) {
                Glyph *bp, *end;