I have a slight problem controlling the cursor position in a Bash terminal window. I have a function ask a question and then wait for an answer which is either 'y' or 'n' or a carriage return. Whenever the user enters anything else it just erases the answer and waits for the next one. However, the script behaves differently when the cursor is on the bottom line of a window as compared to any other line.
The for-loop is the 'productive' part. It just puts out numbers in a column. Every 10 numbers it asks if the user wants to continue and uses the function askYesOrNo for that purpose.
The problem lies with the two lines in the function askYesOrNo (at the end of the while-loop) and when the user enters an answer that is not Y, y, N, n or Enter. The first line (now commented out) works fine when the cursor is not in the bottom line of the window. But if it is then the window scrolls up and the next answer appears in the next line.
The second version moves the cursor one line up and that's fine with the cursor at the bottom of the window but not if the question is asked elsewhere.
Some terminals don't always follow terminal escape codes to the _letter_.
You could try and force the line prompt, force the cursor to the correct position and force clearing after the line prompt.
An example of the cursor forcing, it is just as easy to manipulate this to write the prompt and clear the line
Cool manual page but no... the page still scrolled up and I ended up in the next line, rather than restarting in the same line.
I think I have to check whether the cursor is in the last line of the window or not and do the reverse line feed only in that case. Together with an answer that I found elsewhere on this forum I came up with this version of the function which apparently works now:
Hi there.
It's easier to explain this with a pseudo code, I hope this makes sense:
var1=hello
echo $var1
some kind of loop
echo loop counter
done
How do I hold the cursor position immediately behind the last output so I'd get something like:
hello123456789
DOS used to use ","... (5 Replies)
I need to get the cursor position, and put it inside a variable. Problem is, i don't have the tput command, or ncurses.
Apparently I was supposed to try the following:
echo -e '\E
But I don't get a value or anything. Please help. (3 Replies)
hi all,
am trying to modify a ksh script to group server names together depending on the cluster they sit in. currently the script does a
find . -name '*.pid'
to find all running servers and prints out their pids and names.
current output looks something like this :
serverA ... (1 Reply)
Hi to all!
I'm a teacher of maths and physics in an italian high school in Milan, Italy.
I need a simple program that read the position of mouse cursor in function of time and write the coordinates in a text file. The time resolution have to be something like 1/10 sec or better (I have to know... (2 Replies)
Hi,
Pleae help me on this. Normally, when we say read username, the cursor will come in the first position of next line, but I want the output of the below
Normal usage
-------------
please enter username:
_
I want like the below
----------------------
please enter username:
... (2 Replies)
I want to get the screen width and cursor positions.
When I used curses, all the screen content was cleared.
So Can I use curses to get the screen size without clearing anything in the window?
Or is there any other alternative???
I can use only C or C++. (0 Replies)