From: Fredrik Fornwall Date: Mon, 26 Sep 2016 22:18:43 +0000 (-0400) Subject: man: Patch to adjust output width to terminal X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/commitdiff_plain/80c266a76c7d558f6082620c88b223262784eca4?ds=sidebyside;hp=48670d1b9052ef893131eebf67acf9c0c189f0c1 man: Patch to adjust output width to terminal Fixes https://github.com/termux/termux-app/issues/162 --- diff --git a/packages/man/build.sh b/packages/man/build.sh index edfbed15..08f29eac 100644 --- a/packages/man/build.sh +++ b/packages/man/build.sh @@ -1,7 +1,7 @@ TERMUX_PKG_HOMEPAGE=http://mdocml.bsd.lv/ TERMUX_PKG_DESCRIPTION="Man page viewer from the mandoc toolset" TERMUX_PKG_VERSION=1.13.4 -TERMUX_PKG_BUILD_REVISION=2 +TERMUX_PKG_BUILD_REVISION=3 TERMUX_PKG_SRCURL=http://mdocml.bsd.lv/snapshots/mdocml-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_DEPENDS="less,libandroid-glob,libsqlite" TERMUX_PKG_BUILD_IN_SRC=yes diff --git a/packages/man/term_ascii.c.patch b/packages/man/term_ascii.c.patch new file mode 100644 index 00000000..b0f07c57 --- /dev/null +++ b/packages/man/term_ascii.c.patch @@ -0,0 +1,38 @@ +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 ++#include + + #include + #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;