# gamekit-screen-cli

> A CLI (ansi) implementation of the http://npm.im/gamekit screen interface

Latest version **2.3.1** (published 2015-03-15) · MIT license · 0 weekly downloads

## Install

```sh
npm install gamekit-screen-cli
pnpm add gamekit-screen-cli
yarn add gamekit-screen-cli
bun add gamekit-screen-cli
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.3.1 |
| Published | 2015-03-15 |
| First published | 2015-03-03 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Bryce B. Baril |
| Maintainers | bryce |
| Keywords | gamekit, ansi, cli |

## Links

- npm: https://www.npmjs.com/package/gamekit-screen-cli
- Repository: https://github.com/brycebaril/gamekit-screen-cli
- Issues: https://github.com/brycebaril/gamekit-screen-cli/issues
- npm.io page: https://npm.io/package/gamekit-screen-cli

## Dependencies (2)

- [ansi](https://npm.io/package/ansi.md) ~0.3.0
- [xtend](https://npm.io/package/xtend.md) ~4.0.0

## Alternatives

- [@salesforce/cli](https://npm.io/package/@salesforce/cli.md) — 389.7K weekly downloads
- [@mintlify/cli](https://npm.io/package/@mintlify/cli.md) — 208.9K weekly downloads
- [@grafana/e2e-selectors](https://npm.io/package/@grafana/e2e-selectors.md) — 128.7K weekly downloads
- [mintlify](https://npm.io/package/mintlify.md) — 112.0K weekly downloads
- [@intlayer/cli](https://npm.io/package/@intlayer/cli.md) — 22.8K weekly downloads

## Recent versions

- 2.3.1 (latest) — 2015-03-15
- 2.3.0 — 2015-03-15
- 2.2.0 — 2015-03-10
- 2.1.0 — 2015-03-04
- 2.0.0 — 2015-03-04
- 1.0.0 — 2015-03-03

## README

gamekit-screen-cli
=====

[![NPM](https://nodei.co/npm/gamekit-screen-cli.png)](https://nodei.co/npm/gamekit-screen-cli/)

This is a CLI/Terminal implementation of the `Screen` display portion of the http://npm.im/gamekit API.

It lets you create a grid ascii area on the terminal and read/write characters in it.

```javascript
var Screen = require("gamekit-screen-cli")

var screen = new Screen({width: 21, height: 8})

screen.paint()
screen.output(1,1,"abcd")

var c = screen.getChar(1,1)
screen.output(5,5,c)
screen.paint()
```

API
===

`var screen = new Screen(options)`
---

Create a new Screen instance.

`options` are:
  * width (required): screen width in columns
  * height (required): screen height in rows
  * border (default `true`): whether or not to draw a border around the screen

`options` accepts a `border` boolean (default: true)

`screen.paint([force])`
---

Draw the current contents of the screen to the terminal, clearing the terminal first.

Does nothing if it doesn't think the screen contents have changed. To force a paint, pass a true value.

`screen.output(row, column, text)`
---

Change the contents of the screen to contain `text` at those coordinates (0-indexed).

Does *not* force a paint, so paint must be called to see the updated output.

If the text would overflow the current row, it will overflow into the next row.

`screen.getChar(row, column)`
---

Fetch the character at this `row` and `column`, returns the character.

`screen.clear()`
---

Reset the contents to empty space, replaces all cells with a " " character.

`screen.capture()`
---

Fetch the screen contents. This can then be used with `screen.output(0, 0, contents)` to resume a previous screen.

`screen.cleanup()`
---

Reset the pen and re-enable the cursor so that your terminal tries to go back to normal.

It will automatically set up SIGINT and SIGTERM handlers to call `cleanup` but you should still call cleanup yourself on exit.

LICENSE
=======

MIT

---
_Source: https://npm.io/package/gamekit-screen-cli · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
