"less" command output-I cannot scroll through it !
Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Hi all,
well,I am on archlinux with kdemod.
now,in konsole I can scroll through the output and even scroll through file contents in nano or vim
editors.
But,if I use "less" utility,
like "less /var/log/auth.log"
I cannot scroll with mouse wheel!
although,pageup ,pagedown etc works.
what should I look for?my env variables seems fine.and "less" is the latest version/
waiting....pls reply
less simply only accepts standard (keyboard) input.. perhaps it's possible but i'm not sure if less can be configured to accept input from /dev/mouse or the like and let it process the mouse input.
To get things a little bit clearer, konsole only manipulates output that was already written in the screen.. while less reclears and then reprints again data back and forth for every key command like up, down, pageup or pagedown etc. konsole doesn't care what program runs within it as long as it caches every output and that's it. try cat-ing a file in konsole then do 'clear' and then scroll up you'll see that still a remaining of the texts where not cleared. That's because only a little part of the lines where cleared and some of the caches still remains..
Curiously, gnome-terminal will somehow translate mouse wheel events into a form which less can understand. konsole doesn't do this. I never got round to finding out how gnome-terminal does this, or if it's possible to get konsole to do it. I would like to know!
Hello matthewg42. I'm interested to make that happen.. can you tell me how gnome-terminal was able to make less understand mouse wheel events? It seems that it doesn't work as default in a gnome terminal of a box near me.
gnome-terminal works fine.
but the weird thing is ,I can scroll through file contents in vim/nano using mouse wheel :? also throught any output in konsole!for eg:cat /etc/issue o/p :| xterm also does not support the scrolling of "less" contents
and mouse device is (I use a 3 button logitech optical mouse with a wheel+button) /dev/input/mice in my Debian as well as archlinux.
/dev/psaux,/dev/input/mouse0,/dev/input/mouse1 etc exists.
what can be done?Is there some env variable that messes whole thing?
Thank you all!
gnome-terminal works fine.
but the weird thing is ,I can scroll through file contents in vim/nano using mouse wheel :? also throught any output in konsole!for eg:cat /etc/issue o/p :| xterm also does not support the scrolling of "less" contents
and mouse device is (I use a 3 button logitech optical mouse with a wheel+button) /dev/input/mice in my Debian as well as archlinux.
/dev/psaux,/dev/input/mouse0,/dev/input/mouse1 etc exists.
what can be done?Is there some env variable that messes whole thing?
Thank you all!
are you sure you're seeing the keyboard cursor in vim move up and down or just the terminal? you can verify this if position number in lower right ofthe screen changes during scroll.
Hello matthewg42. I'm interested to make that happen.. can you tell me how gnome-terminal was able to make less understand mouse wheel events? It seems that it doesn't work as default in a gnome terminal of a box near me.
I don't know how it works. Just that it does on Ubuntu 7.10.
Curiously, gnome-terminal will somehow translate mouse wheel events into a form which less can understand. konsole doesn't do this. I never got round to finding out how gnome-terminal does this, or if it's possible to get konsole to do it.
There is a hackish way to do this externally. Use the imwheel daemon to bind to Konsole windows of a specific window title and translate mouse scroll events as arrow key movements. Then, make an alias to less which changes the window title, runs less with whatever arguments, and then reverts the title.
can you tell me how gnome-terminal was able to make less understand mouse wheel events? I
You can't make less understand mouse events. Mouse events are a GUI concept, less is a console application.
You can, however, as matthewg42, stated, have the xterminal program translate mouse events into suitable key presses.
Rxvt (and I guess Xterm) uses the sequences '\e[?1000h' and '\e[?1000l' to turn mouse reporting on/off respectively. I don't use KDE but I would imagine that Konsole supports those sequences too.
Just echo it to the console, make sure you use the -e option to enable escape character processing, i.e.
echo -e '\e[?1000h'
Of course, that just dumps the translated escape sequence to the console, getting a program to understand them is another matter, but as long as the app has configurable key bindings (well, key sequence bindings), it should be easy enough.
Note that you will see just a bunch of crap on the screen because your shell will attempt to interpret the sequence. Use a program that reads from stdin (e.g. tail or hexdump without args) and you will see the actual escape sequence, something like: '^[[M#i'
hexdump might be better than tail, as it will show you the ascii codes of the characters (could be a space in there or something).
With rxvt (I assume xterm etc is the same), the output is in the format:
ESC [ M <b> <x> <y>
b is the button number (0, 1, or 2 for first, second, third button)
Annoyingly though, button releases are not interpreted individually, you just get a button number of 3 on release regardless of which button was released. Still, that shouldn't be a big deal, as most console apps will act on the press (for scrolling etc), not the release.
x y is the character position on screen, of course.
You can't make less understand mouse events. Mouse events are a GUI concept, less is a console application.
You can, however, as matthewg42, stated, have the xterminal program translate mouse events into suitable key presses.
Sorry i bypassed in my question.. that' what i really mean.. doing some kind of mouse wheel event wrappers that will send messages to less that less can understand. If we make less directly read the mouse, it would require a whole new addition of codes to less.
But nice and cool info. I'll try that when I get back to my linux box. Have a nice weekend.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.