[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: reformatting man pages at SIGWINCH
From: |
Alejandro Colomar |
Subject: |
Re: reformatting man pages at SIGWINCH |
Date: |
Mon, 10 Apr 2023 21:57:33 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 |
Hi Dirk,
On 4/10/23 21:05, Dirk Gouders wrote:
>> For something simpler, you could just count words since the start of the
>> section divided by total words in the section. That should be fast, and
>> I expect, also quite precise. Hyphenating might work against you on
>> this, but on average it shouldn't move you too much.
>
> very pragmatic -- very effective, thanks for that suggestion. I
> started with implementing a simpler version of that (no counting of all
> words in the section):
>
> - Backwards count words until we reach an empty line, the section
> header or the beginning of the document
>
> Stop if it was the section header or beginning of the document
>
> Continue and just count empty lines until we reach the
> section header or the beginning of the document
Hmmmm, good idea.
$ man gcc 2>/dev/null | grep "^$" | wc -l
5462
$ man gcc 2>/dev/null | grep "^$" | wc -l
5462
$ man gcc 2>/dev/null | grep "^$" | wc -l
5464
$ man tzset 2>/dev/null | grep "^$" | wc -l
41
$ man tzset 2>/dev/null | grep "^$" | wc -l
41
$ man tzset 2>/dev/null | grep "^$" | wc -l
41
$ man bash 2>/dev/null | grep "^$" | wc -l
657
$ man bash 2>/dev/null | grep "^$" | wc -l
657
$ man bash 2>/dev/null | grep "^$" | wc -l
658
Of course there were important resizes between those invocations.
>
> This relies on the assumption that horizontal resizes don't create or
> delete emty lines and it still has the weakness that manual pages
> (e.g. bash(1)) contain large areas without empty lines but it's
> definitely better than just staying at the position as it was before.
That should give you a quite precise idea of where you were.
>
> If it turns out to still be too weak, I could count all words between
> two empty lines and set that in relation to the words from the
> preceeding empty line.
>
> But perhaps, I now learn that empty lines are by no means that constant
> value that I assume...
They seem to be constant. Only with the shortest terminal size I can
have, that number changes, and only by one or two per entire page.
>
> Dirk
Cheers,
Alex
--
<http://www.alejandro-colomar.es/>
GPG key fingerprint: A9348594CE31283A826FBDD8D57633D441E25BB5
OpenPGP_signature
Description: OpenPGP digital signature
- Re: man page rendering speed (was: Playground pager lsp(1)), (continued)
- Re: man page rendering speed, Ingo Schwarze, 2023/04/07
- Re: man page rendering speed (was: Playground pager lsp(1)), Colin Watson, 2023/04/07
- reformatting man pages at SIGWINCH (was: Playground pager lsp(1)), Alejandro Colomar, 2023/04/07
- Re: reformatting man pages at SIGWINCH, Dirk Gouders, 2023/04/07
- Re: reformatting man pages at SIGWINCH, Alejandro Colomar, 2023/04/07
- Re: reformatting man pages at SIGWINCH, Dirk Gouders, 2023/04/10
- Re: reformatting man pages at SIGWINCH,
Alejandro Colomar <=
- Re: reformatting man pages at SIGWINCH, G. Branden Robinson, 2023/04/10
- Re: reformatting man pages at SIGWINCH, Dirk Gouders, 2023/04/11
Re: Playground pager lsp(1), Dirk Gouders, 2023/04/05
- Re: Playground pager lsp(1), Arsen Arsenović, 2023/04/05
- Re: Playground pager lsp(1), Dirk Gouders, 2023/04/05
- Re: Playground pager lsp(1), Eli Zaretskii, 2023/04/05
- Re: Playground pager lsp(1), Dirk Gouders, 2023/04/05
- A less presumptive .info? (was: Re: Playground pager lsp(1)), Arsen Arsenović, 2023/04/05
- Re: A less presumptive .info? (was: Re: Playground pager lsp(1)), Eli Zaretskii, 2023/04/06
- Re: A less presumptive .info? (was: Re: Playground pager lsp(1)), Gavin Smith, 2023/04/06