Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

horrible bugs from slow input "waiting for input" hangs completely and -F breaks #608

Open
john-peterson opened this issue Feb 22, 2025 · 1 comment

Comments

@john-peterson
Copy link

john-peterson commented Feb 22, 2025

#!/bin/env bash
i=0
while true; do
cat less.txt | sed "$i!d"
((i++))
sleep 1
test $i -gt 20 && exit
done

piping this to less is horrendous

bash test.sh | less --mouse

waiting for input locks the program nothing works q is invalid and the advertised ctrl X too. ctrl C and z works . but that breaks the poor terminal that is now back in bash that has no idea that mouse and alt buffer is activated. it even managed to hang my terminal completely once. absolute no response

bash test.sh | less --mouse -F

add F and the mayhem Is pierhaps worse. now it doesn't display ANYTHING until the screen is filled. it stays out of mouse and in main buffer. and never switch's to alt buffer at all! the the entire page is in main buffer all the time and litter the screen

I notice this from googler . I maintain rtv googler socli elinks and various console browsers. and often pipe websites through less

I am only beginning to try others unfortunately les. one s less. doesn't have real mouse input and doesn't fling (I use a touch screen).

so what can we do? I will try to solve this because I haven't found a better pager but I will not hang my life on this I will try to add mouse input to Les so I can use that instead

make generated files?

btw how do I build from repo. the generated files are never generated

autoreconf -if
configure.ac:19: warning: The macro 'AC_PROG_GCC_TRADITIONAL' is obsolete.
configure.ac:19: You should run autoupdate.
bash configure
make: *** No rule to make target 'funcs.h', needed by 'main.o'. Stop.

I hope I am not sounding pessimistic I can solve this if you want or just not bother you if I am at loss herem. I am not a very experienced computist many things I should know that I don't

work around at the top my head

I am trying patches work arounds that you might imagine waiting for the page to load

abc|sponge|less

or a wrapper for F that I need for git. hopeless to use git and have a full screen on git branch that gives two lines . in other words disable F that is the disaster that breaks googler by littering the web site over the search results . and manually check in bash if the output is very small. this works because websites are almost never 20 lines or 40 depending on if my keyboard is visible.( I first thought it was because I changed the terminal height back and forth by showing on screen keyboard but that is unrelated)

abc|pager.sh|less

pager.sh
l=tput lines
il=wc | cut -f 2
if l<il
print to main buffer

uoodate! 1it was because I was resizing it

it was the resizing that caused the main bug that would keep it in main buffer and disable key pad and mouse. or never enablenitm this makes it impossible to scroll the website at all because the terminal is not simulating keyboard input. or because up down keys are disabled altogether

please don't fix this I want this in my resume so I can finally get a job

if the terminal is resized while the F flag is working to decide what to do. everything goes down the shitter. I think I can fix this
now that I know whatnitn

@gwsw
Copy link
Owner

gwsw commented Feb 22, 2025

less-608 is quite an old version. You should retest with the current released version (less-668). There are also some changes in the current repo head that may improve behavior even beyond less-668. The repo also supports mouse dragging. Let me know if any of these issues still exist in the repo.

To build from the repo, follow the instructions in the README file. Specifically make sure you perform step 2:

  1. If you are building from a clone of a git repository,
    type "make -f Makefile.aut distfiles".

gwsw added a commit that referenced this issue Mar 7, 2025
We try to fill the initial screen before accepting a command.
If a ctrl-X or other command is entered during that time, we
would previously ignore it and continue to try to fill the screen.
This commit changes the behavior so that a command will interrupt
the process of filling the screen.

Related to #608.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants