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[] = { | |||
| 134 | 134 | ||
| 135 | static Shortcut shortcuts[] = { | 135 | static Shortcut shortcuts[] = { |
| 136 | /* mask keysym function argument */ | 136 | /* mask keysym function argument */ |
| 137 | { XK_NO_MOD, XK_Pause, sendbreak, {.i = 0} }, | ||
| 137 | { ControlMask, XK_Print, toggleprinter, {.i = 0} }, | 138 | { ControlMask, XK_Print, toggleprinter, {.i = 0} }, |
| 138 | { ShiftMask, XK_Print, printscreen, {.i = 0} }, | 139 | { ShiftMask, XK_Print, printscreen, {.i = 0} }, |
| 139 | { XK_ANY_MOD, XK_Print, printsel, {.i = 0} }, | 140 | { XK_ANY_MOD, XK_Print, printsel, {.i = 0} }, |
| @@ -122,6 +122,9 @@ and all the remaining arguments are used as a command | |||
| 122 | even without it. | 122 | even without it. |
| 123 | .SH SHORTCUTS | 123 | .SH SHORTCUTS |
| 124 | .TP | 124 | .TP |
| 125 | .B Pause | ||
| 126 | Send a break in the serial line | ||
| 127 | .TP | ||
| 125 | .B Ctrl-Print Screen | 128 | .B Ctrl-Print Screen |
| 126 | Toggle if st should print to the | 129 | Toggle if st should print to the |
| 127 | .I iofile. | 130 | .I iofile. |
| @@ -17,6 +17,7 @@ | |||
| 17 | #include <sys/time.h> | 17 | #include <sys/time.h> |
| 18 | #include <sys/types.h> | 18 | #include <sys/types.h> |
| 19 | #include <sys/wait.h> | 19 | #include <sys/wait.h> |
| 20 | #include <termios.h> | ||
| 20 | #include <time.h> | 21 | #include <time.h> |
| 21 | #include <unistd.h> | 22 | #include <unistd.h> |
| 22 | #include <libgen.h> | 23 | #include <libgen.h> |
| @@ -333,6 +334,7 @@ static void xzoomreset(const Arg *); | |||
| 333 | static void printsel(const Arg *); | 334 | static void printsel(const Arg *); |
| 334 | static void printscreen(const Arg *) ; | 335 | static void printscreen(const Arg *) ; |
| 335 | static void toggleprinter(const Arg *); | 336 | static void toggleprinter(const Arg *); |
| 337 | static void sendbreak(const Arg *); | ||
| 336 | 338 | ||
| 337 | /* Config.h for applying patches and the configuration. */ | 339 | /* Config.h for applying patches and the configuration. */ |
| 338 | #include "config.h" | 340 | #include "config.h" |
| @@ -2579,6 +2581,13 @@ strreset(void) | |||
| 2579 | } | 2581 | } |
| 2580 | 2582 | ||
| 2581 | void | 2583 | void |
| 2584 | sendbreak(const Arg *arg) | ||
| 2585 | { | ||
| 2586 | if (tcsendbreak(cmdfd, 0)) | ||
| 2587 | perror("Error sending break"); | ||
| 2588 | } | ||
| 2589 | |||
| 2590 | void | ||
| 2582 | tprinter(char *s, size_t len) | 2591 | tprinter(char *s, size_t len) |
| 2583 | { | 2592 | { |
| 2584 | if (iofd != -1 && xwrite(iofd, s, len) < 0) { | 2593 | if (iofd != -1 && xwrite(iofd, s, len) < 0) { |
