=================================================================== RCS file: /cvs/mandoc/main.c,v retrieving revision 1.303 retrieving revision 1.304 diff -u -p -r1.303 -r1.304 --- mandoc/main.c 2018/02/23 16:47:10 1.303 +++ mandoc/main.c 2018/04/13 19:55:30 1.304 @@ -1,7 +1,7 @@ -/* $Id: main.c,v 1.303 2018/02/23 16:47:10 schwarze Exp $ */ +/* $Id: main.c,v 1.304 2018/04/13 19:55:30 schwarze Exp $ */ /* * Copyright (c) 2008-2012 Kristaps Dzonsons - * Copyright (c) 2010-2012, 2014-2017 Ingo Schwarze + * Copyright (c) 2010-2012, 2014-2018 Ingo Schwarze * Copyright (c) 2010 Joerg Sonnenberger * * Permission to use, copy, modify, and distribute this software for any @@ -19,7 +19,9 @@ #include "config.h" #include +#include #include /* MACHINE */ +#include #include #include @@ -120,6 +122,7 @@ main(int argc, char *argv[]) struct manconf conf; struct mansearch search; struct curparse curp; + struct winsize ws; struct tag_files *tag_files; struct manpage *res, *resp; const char *progname, *sec, *thisarg; @@ -315,6 +318,15 @@ main(int argc, char *argv[]) outmode == OUTMODE_LST || !isatty(STDOUT_FILENO)) use_pager = 0; + + if (use_pager && + (conf.output.width == 0 || conf.output.indent == 0) && + ioctl(STDOUT_FILENO, TIOCGWINSZ, &ws) != -1) { + if (conf.output.width == 0 && ws.ws_col < 79) + conf.output.width = ws.ws_col - 1; + if (conf.output.indent == 0 && ws.ws_col < 66) + conf.output.indent = 3; + } #if HAVE_PLEDGE if (!use_pager)