Re: Playground pager lsp(1)

Alejandro Colomar <[email protected]>
Newsgroups gmane.linux.man,gmane.comp.tex.texinfo.general
Message-ID <[email protected]>
Hi Dirk,

On 4/5/23 12:02, Dirk Gouders wrote:
> Hi Alex,
> 
>>> first of all, chances are that you consider this post as spam, because
>>> this list is about linux manual pages and not pagers.
>>
>> No, I don't.
> 
> that's fine, thank you for taking the time give me feedback.
> 

:)

> If you want to take a look at it: there is a branch "next" which you
> might prefer as it closer resembles my current work.  There is a new
> toggle "-V" that can be used to completely turn off validation.
> 
> I tried to assemble a Makefile that might work without a configure
> script and attach it to the end.  A prefix /usr is the default value, if
> your system prefers /usr/local you can use `make prefix=/usr/local

The default prefix in GNU should be /usr/local
<https://www.gnu.org/prep/standards/html_node/Directory-Variables.html>

> install`.  I hope I prepared some reasonable Makefile...

I'll have a look.

> 
> Concerning meson.build: I decided to have a look at meson as the
> autobuild tool for lsp.  I am just gathering experiences with it and if
> you have meson(1) installed you could use thes steps to (un)install lsp:
> 
> $ # cd to lsp directory
> $ meson setup --prefix=/usr builddir ; cd builddir
> $ ninja install # or uninstall

>> If it's the first, how do you handle exit(1)?  Is it a reference, or is it
>> just code (with the meaning exit(EXIT_FAILURE))?
> 
> exit(1) gets recognized as a possible reference but validation will fail.

`man 'exit(1)'` works for me.  It brings the exit(1posix) page, from
manpages-posix.


> No, broken references aren't marked.  Usually those unavailable
> references make sense, e.g. if a manual page references some program
> that not everyone uses.
> 
> One example that I couldn't resolve so far is a reference to
> getconf(1) for example in fpatchconf(3).  Up to now I was not able to
> find out which package contains getconf(1)...

$ apt-file find /getconf.1
glibc-source: /usr/src/glibc/debian/local/manpages/getconf.1
libc-bin: /usr/share/man/man1/getconf.1.gz
manpages-fr: /usr/share/man/fr/man1/getconf.1.gz

It's in libc-bin.

BTW, did you mean fpathconf(3)?

> 
>>>
>>>        •   In windowing environments lsp does complete resizes when windows
>>>            get resized. This means it also reloads the manual page to fit the
>>>            new window size.
>>
>> Good.  This I miss it in less(1) often.  Not sure if they had any strong
>> reason to not support that.
> 
> Unfortunately, info(1) also doesn't do full resizes (on my system).
> 
>>>
>>>        •   Search for manual pages using apropos(1); in the current most basic
>>>            form it lists all known manual pages ready for text search and
>>>            visiting referenced manual pages.
>>
>> What does it bring that `apropos * | less` can't do?  If you're going the
>> of info(1) with full-blown system, it seems reasonable, but I never really
>> liked all that if it's just a new terminal and a command away from me.
> 
> You get a pseudo-file from where you can reach any manual page on the
> system.  Originally I thought this to help novice users but since lsp is
> my system's PAGER I use it more often than expected.  I'm missing the
> ability to give keywords to apropos but that's just a matter of time to
> get fixed.

I guess that's a matter of preferring navigation in some interactive
program (to me, info(1) style), vs standalone simple commands where you
first find what you want, then run it.

I don't find that magic much more comfortable than

$ apropos sysctl
... oh, I find many freebsd pages, let's grep them out ...
$ apropos sysctl | grep -v freebsd
... hmm, let's see system ...
$ apropos system | grep -v freebsd
... okay, now this shows a lot of stuff, let's remove man1 ...
$ apropos system | grep -v -e freebsd -e '(1'
... I don't want systemd either ...
$ apropos system | grep -v -e freebsd -e '(1' -e systemd
... let's sort by section and navigate through that list ...
$ apropos system | grep -v -e freebsd -e '(1' -e systemd | sort -k2 | less

Find some pages that may be interesting, note them down, and open
them one by one, in different tabs, until I find I wanted to read
proc(5), and close everything else.

Which brings us to a valid point Eli raised.  Some pages are an
unreadable mess, and I think proc(5) is one of those that needs
a big split into smaller pages such as proc_pid_attr(5).

Cheers,
Alex

-- 
<http://www.alejandro-colomar.es/>
GPG key fingerprint: A9348594CE31283A826FBDD8D57633D441E25BB5
OpenPGP_signature (application/pgp-signature, 833 B) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.