1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- Software cursor for VGA
- =======================
- by Pavel Machek <pavel@atrey.karlin.mff.cuni.cz>
- and Martin Mares <mj@atrey.karlin.mff.cuni.cz>
- Linux now has some ability to manipulate cursor appearance. Normally,
- you can set the size of hardware cursor. You can now play a few new
- tricks: you can make your cursor look like a non-blinking red block,
- make it inverse background of the character it's over or to highlight
- that character and still choose whether the original hardware cursor
- should remain visible or not. There may be other things I have never
- thought of.
- The cursor appearance is controlled by a ``<ESC>[?1;2;3c`` escape sequence
- where 1, 2 and 3 are parameters described below. If you omit any of them,
- they will default to zeroes.
- first Parameter
- specifies cursor size::
- 0=default
- 1=invisible
- 2=underline,
- ...
- 8=full block
- + 16 if you want the software cursor to be applied
- + 32 if you want to always change the background color
- + 64 if you dislike having the background the same as the
- foreground.
- Highlights are ignored for the last two flags.
- second parameter
- selects character attribute bits you want to change
- (by simply XORing them with the value of this parameter). On standard
- VGA, the high four bits specify background and the low four the
- foreground. In both groups, low three bits set color (as in normal
- color codes used by the console) and the most significant one turns
- on highlight (or sometimes blinking -- it depends on the configuration
- of your VGA).
- third parameter
- consists of character attribute bits you want to set.
- Bit setting takes place before bit toggling, so you can simply clear a
- bit by including it in both the set mask and the toggle mask.
- Examples
- --------
- To get normal blinking underline, use::
- echo -e '\033[?2c'
- To get blinking block, use::
- echo -e '\033[?6c'
- To get red non-blinking block, use::
- echo -e '\033[?17;0;64c'
|