You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.1 KiB
38 lines
1.1 KiB
The man implementation from mandoc does not adjust its output size to the terminal. As this is nice to have on smaller screens such as Termux we patch this in using the following patch adapted from
|
|
|
|
https://groups.google.com/forum/#!topic/fa.openbsd.tech/AEDMaZmzSU4
|
|
|
|
diff -u -r ../mdocml-1.13.4/term_ascii.c ./term_ascii.c
|
|
--- ../mdocml-1.13.4/term_ascii.c 2016-07-14 07:13:40.000000000 -0400
|
|
+++ ./term_ascii.c 2016-09-26 18:06:08.339737451 -0400
|
|
@@ -18,6 +18,7 @@
|
|
#include "config.h"
|
|
|
|
#include <sys/types.h>
|
|
+#include <sys/ioctl.h>
|
|
|
|
#include <assert.h>
|
|
#if HAVE_WCHAR
|
|
@@ -64,12 +65,22 @@
|
|
char *v;
|
|
#endif
|
|
struct termp *p;
|
|
+ struct winsize ws;
|
|
+ int tfd;
|
|
|
|
p = mandoc_calloc(1, sizeof(struct termp));
|
|
|
|
p->line = 1;
|
|
p->tabwidth = 5;
|
|
p->defrmargin = p->lastrmargin = 78;
|
|
+ if ((tfd = open("/dev/tty", O_RDWR, 0)) != -1) {
|
|
+ if (ioctl(tfd, TIOCGWINSZ, &ws) != -1) {
|
|
+ if (ws.ws_col < 80)
|
|
+ p->defrmargin = p->lastrmargin = ws.ws_col - 2;
|
|
+ }
|
|
+ close(tfd);
|
|
+ }
|
|
+
|
|
p->fontq = mandoc_reallocarray(NULL,
|
|
(p->fontsz = 8), sizeof(enum termfont));
|
|
p->fontq[0] = p->fontl = TERMFONT_NONE;
|
|
|