vty-5.17.1: A simple terminal UI library

Safe HaskellNone
LanguageHaskell2010

Graphics.Vty.Output.Interface

Description

This module provides an abstract interface for performing terminal output. The only user-facing part of this API is Output.

Synopsis

Documentation

data Output Source #

The Vty terminal output interface.

Constructors

Output 

Fields

data DisplayContext Source #

Constructors

DisplayContext 

Fields

data Mode Source #

Modal terminal features that can be enabled and disabled.

Constructors

Mouse

Mouse mode (whether the terminal is configured to provide mouse input events)

BracketedPaste

Paste mode (whether the terminal is configured to provide events on OS pastes)

Focus

Focus-in/focus-out events (whether the terminal is configured to provide events on focus change)

outputPicture :: MonadIO m => DisplayContext -> Picture -> m () Source #

Displays the given Picture.

  1. The image is cropped to the display size.
  2. Converted into a sequence of attribute changes and text spans.
  3. The cursor is hidden.
  4. Serialized to the display.
  5. The cursor is then shown and positioned or kept hidden.

limitAttrForDisplay :: Output -> Attr -> Attr Source #

Not all terminals support all display attributes. This filters a display attribute to what the given terminal can display.