diff options
| -rw-r--r-- | config.def.h | 1 | ||||
| -rw-r--r-- | st.1 | 3 | ||||
| -rw-r--r-- | st.c | 9 | 
3 files changed, 13 insertions, 0 deletions
diff --git a/config.def.h b/config.def.h index 11a0c02..7129fa1 100644 --- a/config.def.h +++ b/config.def.h @@ -134,6 +134,7 @@ static Mousekey mshortcuts[] = {  static Shortcut shortcuts[] = {  	/* mask                 keysym          function        argument */ +	{ XK_NO_MOD,            XK_Pause,       sendbreak,      {.i =  0} },  	{ ControlMask,          XK_Print,       toggleprinter,  {.i =  0} },  	{ ShiftMask,            XK_Print,       printscreen,    {.i =  0} },  	{ XK_ANY_MOD,           XK_Print,       printsel,       {.i =  0} }, @@ -122,6 +122,9 @@ and all the remaining arguments are used as a command  even without it.  .SH SHORTCUTS  .TP +.B Pause +Send a break in the serial line +.TP  .B Ctrl-Print Screen  Toggle if st should print to the  .I iofile. @@ -17,6 +17,7 @@  #include <sys/time.h>  #include <sys/types.h>  #include <sys/wait.h> +#include <termios.h>  #include <time.h>  #include <unistd.h>  #include <libgen.h> @@ -333,6 +334,7 @@ static void xzoomreset(const Arg *);  static void printsel(const Arg *);  static void printscreen(const Arg *) ;  static void toggleprinter(const Arg *); +static void sendbreak(const Arg *);  /* Config.h for applying patches and the configuration. */  #include "config.h" @@ -2579,6 +2581,13 @@ strreset(void)  }  void +sendbreak(const Arg *arg) +{ +	if (tcsendbreak(cmdfd, 0)) +		perror("Error sending break"); +} + +void  tprinter(char *s, size_t len)  {  	if (iofd != -1 && xwrite(iofd, s, len) < 0) {  | 
