tAdd key to send a break to the serial line - st - [fork] customized build of s… | |
git clone git://src.adamsgaard.dk/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 1f087aa8b70fce67e7c43f689b5fb35667b5d84c | |
parent 473326f2e3115f4b745730be782b2eba63e0934c | |
Author: Roberto E. Vargas Caballero <[email protected]> | |
Date: Tue, 8 Sep 2015 12:10:11 +0200 | |
Add key to send a break to the serial line | |
Diffstat: | |
M config.def.h | 1 + | |
M st.1 | 3 +++ | |
M st.c | 9 +++++++++ | |
3 files changed, 13 insertions(+), 0 deletions(-) | |
--- | |
diff --git a/config.def.h b/config.def.h | |
t@@ -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 | |
t@@ -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 | |
t@@ -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> | |
t@@ -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" | |
t@@ -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) { |