I do a lot of bash scripts for various needs. Recently I started to feel the urge of implement various indicators on top of them.Would be cool during an automated unattended installation script know which operation is being carried.Also.. could be nice have a status bar displaying a percentage of the actual progress.There are in Linux (preferibly Debian) some libs and commands like my mockup ones for manipulate the terminal output ?(following commands are fake mockups ones just for make reader understand)txtoverlay -k head -c azure MyString on top of all the commandsortxtovelay -k tail -c green -a right [ Completition: 57 % ]ortxtovelay -k canvas -c azure -b darkblue -l 2 -t 5 -w 68 -h 50To generate something like the following graphical mockups?Or even some more complex overlays..Basically the concept could be the same in HTML with some DIVs over the main webpage with position: fixed<div id=MyDiv1 style=position:fixed; color: #00ffff; top: 0px; left: 0px; padding: 10px></div><div id=MyDiv2 style=position:fixed; color: #00ff00; bottom: 0px; right: 0px; padding: 10px; text-align: right></div>and time by time during the script various commands like:document.getElementById(MyDiv1).innerHTML = Step 5: Installing NET-TOOLS package in progress..<br>-------------------------document.getElementById(MyDiv2).innerHTML = [Completition: 57 % ]
Is possible to overlay colored texts over the linux console like in this image?
linux;bash;debian;terminal;console
Yes, you can do those things. Focusing just on the question of how does one place colored text in specific positions, one direct though somewhat low-level route is to use the tput utility. tput has numerous commands that, with the help of the terminfo database,  manipulate the terminal screen. For example tput cup 23 4 will move the cursor to row 23, column 4 of your terminal. A few other examples:tput ed  # clear to end of screentput setaf 2  # set foreground color to bright greentput cubl  # move cursor left one spacetput rev  # turn on reverse video modetput sc  # save the cursor positiontput rc  # restore the cursor positionYou may also find use for the stty utility. For example if you want to determine the dimensions of the current screen you can do stty size.I have previously built a rough 'GUI' for some utility of mine that split the screen into two sections. The top section was a header of fixed height. The bottom section contained (scrolling) command output. I did this using Bash scripting and tput + stty only. I figured out a lot of it just by trial-and-error but there are some nice resources online such as http://linuxcommand.org/lc3_adv_tput.phpSee man tput and man 5 terminfo. For the latter you'll want to scroll down to the Predefined Capabilities section in particular.There may be higher level abstractions for terminfo-based screen manipulation but if you have relatively simple requirements tput is a good option. (I believe tput is part of the ncurses package mentioned in another answer here.)Edit: I should add, since it sounds like you want some of these features on all your screens, that you can accomplish this by writing a shell script that utilizes tput as described above and point environment variable PROMPT_COMMAND at that script so it gets invoked each time your prompt is refreshed. If you want more frequent refreshing then you'd have to get some process to run in the background while still being attached to your screen. That's more than I'll try to bite off in this answer.