# screen-poke(2)

[Home] [Commands] [Variables] [Macro-Dev] [Glossary]

## NAME

screen-poke - Immediate write string to the screen

## SYNOPSIS

n screen-poke row column colorScheme "string"

## DESCRIPTION

screen-poke writes a string to the screen at position (row, column) using the given color scheme. The screen coordinates are defined with (0,0) at the top left of the screen.

screen-poke by-passes the conventional buffer update and writes directly to the screen buffer. The command has no effect on buffers already showing on the screen and is erased on the next screen update. The string is clipped to the screen area hence the caller need not continually check on the size of the client area.

The numeric argument n is a bitwise flag which has the following meaning `0x01` Don't mark the poke area for update.
`0x02` Don't flush poke to screen.
`0x04` colorScheme is an array of values, one for each letter.
`0xf0` colorScheme pair offset to use.

If the 0x01 flag is absent then the parts of the screen over written by screen-poke are marked and refreshed on the next screen-update operation, thereby erasing the poked information. If the flag is present the poked information remains on the screen until a forced refresh is performed (i.e. 1 screen-update) or the window information under the poked screen data is modified.

In macros using many consecutive screen-pokes (e.g. Patience(3) to display a pack of cards) most pokes use the 'No flush' flag to improve performance and look on some platforms.

The use of screen-poke has largely been reduced to games such as Metris(3) since the introduction of osd(2) to create dialogs.

## NOTES

Some platforms do not allow all character values to be poked, illegal characters are replaced with a '`.`'.

## SEE ALSO

osd(2), screen-update(2), Mahjongg(3), Metris(3).

(c) Copyright JASSPA 2009
Last Modified: 2009/08/29
Generated On: 2009/10/12

</HMTL>