st

personal fork of st
git clone git://git.alexkarle.com.com/st
Log | Files | Refs | README | LICENSE

commit 1f087aa8b70fce67e7c43f689b5fb35667b5d84c (patch)
parent 473326f2e3115f4b745730be782b2eba63e0934c
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:   Tue,  8 Sep 2015 12:10:11 +0200

Add key to send a break to the serial line

Diffstat:
Mconfig.def.h | 1+
Mst.1 | 3+++
Mst.c | 9+++++++++
3 files changed, 13 insertions(+), 0 deletions(-)

diff --git 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} }, diff --git a/st.1 b/st.1 @@ -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. diff --git a/st.c b/st.c @@ -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) {