Thank you all for the reports and comments.
Some clarification is necessary before proceeding with the investigation and the effort to improve
portconfig.
Please next time open a new issue to
gitlab.com/alfix/portconfig to report a problem about
portconfig. As it is a personal project hosted in a personal repository, please avoid to send messages to unrelated mailing list and PR. As is easy sharing screenshot on this forum we can continue the investigation and discussion here.
ports-mgmt/dialog4ports can be used ("restored") in several ways, an example is
# pkg install dialog4ports
after installation adding to
/etc/make.conf
DIALOG4PORTS=${LOCALBASE}/bin/dialog4ports
Another option is to use
ports-mgmt/portoptscli, a CLI utility instead of a TUI.
PortOptsCLI is designed for blind users, however anyone who wants to use a CLI can use it.
# pkg install portoptscli
After installation adding to
/etc/make.conf
DIALOG4PORTS=${LOCALBASE}/bin/portoptscli
I've seen the message that dialog4ports is deprecated, and installed the "drop-in replacement" portconfig and bsddialog.
bsddialog is a "drop-in replacement" for
dialog in BASE, rationale
GPLinBase. However
portconfig is just an installable port (
ports-mgmt/portconfig). Moreover it does not use private
libbsddialog in BASE, it installs the
devel/bsddialog port like a dependency.
To note
dialog4ports,
portconfig and
portoptscli are external projects. Theirs purpouse is helping users to set up ports options interactively (other ways exist, to know more
ports(7)()). The PORTS framework installs
portconfig by default. An user can delete it (
pkg delete portconfig
) and can install another utility (if another utility meets his needs); some example above.
It is not only that the screen gets garbled. That is a problem somewhere with curses. and that can happen.
It is right: "That is a problem somewhere with curses". I need to know how to reproduce the problem to investigate/fix/improve. To describe your environment is a good starting point.
In such case you press Ctrl-L and it should redraw the screen. But Ctrl-L does not work in this place.
Also, I seem to remember that dialog4ports would work with mouse - at least my fingers seem to remember that. But not any more.
libbsddialog does not handle Ctrl-L and mouse so
portconfig cannot provide these features. I added them to the TODO list some day ago (
commit), they will be available in the next versions.
Anyway, 1)
ncurses is a "render" library, 2) it does not provide widget (buttons, checklist, ...), 3)
curs_mouse(3X)() functions give only the screen-position of the click. Then it's quite tedious to implement mouse support (to understand which element was clicked). Fortunately
libbsddialog is open source, feel free to implement the mouse support and to open a merge request to improve the library if you need it in short/mid term.
What I'm now wondering is the rationale in this change and the quality of the work. What is going on? This is unsatisfying.
The rationale is available in commit messages and ports@ mailing list.
I use
portconfig since 2 years without problems on my main laptop with
FreeBSD CURRENT via
vt(4()) and
XFCE terminal.
So far the reported problems were about old
ncurses version (
link),
putty on
Windows (
link),
MacOS terminals. Usually I fixed them after some message with screenshots/feedback/testing. So far the cause "is a problem somewhere with curses. and that can happen", that is an unexpected and strange
ncurses rendering on some terminal/environment unrelated to the logic of
portconfig. So I fixed this problem using tricks for
ncurses in
libbsddialog without changing the logic of
portconfig or
bsddialog (
example).
Even if this is consindered as a learning experience for somebody, then someone should supervise it.
This software is a personal project, designed and implemented during my spare time.
It is not a project developed during a paid day job with a manager and a employee in a company. It is not developed during a sponsored learning experience with an instructor and a trainee.
As
portconfig is released for free (like free beer) under a permissive open source license, others helped me with tips, feedback and testing for free during their spare time.
"quality of the work", "This is unsatisfying." "you press Ctrl-L and it should redraw the screen". "someone should supervise it".
Please read the
LICENSE of
portconfig, to note:
... THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. ...
please do not use
portconfig if: you disagree with its LICENSE and/or it does not meet your needs.