The croatoan Reference Manual

This is the croatoan Reference Manual, version 0.3, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 05:51:44 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 croatoan

High-level Lisp CLOS bindings for the ncurses terminal library.

Author

Anton Vidovic <>

License

MIT

Version

0.3

Dependencies
  • croatoan-ncurses (system).
  • trivial-gray-streams (system).
  • bordeaux-threads (system).
  • sb-introspect (system)., required, for feature :sbcl
Source

croatoan.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 croatoan/croatoan.asd

Source

croatoan.asd.

Parent Component

croatoan (system).

ASDF Systems

croatoan.


3.1.2 croatoan/package.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Packages

3.1.3 croatoan/character.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface
Internals

3.1.4 croatoan/stack.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface
Internals

rotate (function).


3.1.5 croatoan/grid.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface
Internals

3.1.6 croatoan/classes.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface
Internals

3.1.7 croatoan/croatoan.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface
Internals

3.1.8 croatoan/menu.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface
Internals

3.1.9 croatoan/form.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface
Internals

3.1.10 croatoan/field.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface
Internals

3.1.11 croatoan/textarea.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface
Internals

3.1.12 croatoan/dropdown.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface
Internals

update-cursor-position (method).


3.1.13 croatoan/hook.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

hook (function).

Internals

run-hook (function).


3.1.14 croatoan/queue.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface
Internals

3.1.15 croatoan/gray_streams.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

3.1.16 croatoan/utf8.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Internals

3.1.17 croatoan/dialog.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface
Internals

3.1.18 croatoan/addch.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface
Internals

3.1.19 croatoan/add_wch.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface
Internals

3.1.20 croatoan/addstr.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

add-string (function).


3.1.21 croatoan/attr.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface
Internals

3.1.22 croatoan/beep.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

alert (function).


3.1.23 croatoan/bkgd.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Internals

3.1.24 croatoan/bkgrnd.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Internals

3.1.25 croatoan/border.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

3.1.26 croatoan/border_set.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

draw-wide-border (function).


3.1.27 croatoan/clear.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

3.1.28 croatoan/color.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Internals

3.1.29 croatoan/delch.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

delete-char (function).


3.1.30 croatoan/deleteln.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

3.1.31 croatoan/getch.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface
Internals

3.1.32 croatoan/define_key.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

define-function-key (function).


3.1.33 croatoan/get_wch.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

3.1.34 croatoan/getstr.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

get-string (function).


3.1.35 croatoan/initscr.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface
Internals

3.1.36 croatoan/inopts.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Internals

3.1.37 croatoan/inch.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

extract-char (function).


3.1.38 croatoan/in_wch.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

extract-wide-char (function).


3.1.39 croatoan/inwstr.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

extract-wide-string (function).


3.1.40 croatoan/inchstr.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

extract-complex-string (function).


3.1.41 croatoan/insch.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

insert-char (function).


3.1.42 croatoan/ins_wch.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

3.1.43 croatoan/insstr.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

insert-string (function).


3.1.44 croatoan/instr.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

extract-string (function).


3.1.45 croatoan/kernel.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Internals

set-cursor-visibility (function).


3.1.46 croatoan/keybound.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

function-key-definition (function).


3.1.47 croatoan/key_defined.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

function-key-code (function).


3.1.48 croatoan/keyok.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

enable-function-key (function).


3.1.49 croatoan/mouse.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface
Internals

3.1.50 croatoan/move.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

3.1.51 croatoan/refresh.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

3.1.52 croatoan/scroll.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

scroll (function).


3.1.53 croatoan/slk.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface
Internals

3.1.54 croatoan/terminfo.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

tigetstr (function).


3.1.55 croatoan/touch.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

touch (generic function).


3.1.56 croatoan/util.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

3.1.57 croatoan/wresize.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

resize (function).


3.1.58 croatoan/shape.lisp

Source

croatoan.asd.

Parent Component

croatoan (system).

Public Interface

4 Packages

Packages are listed by definition order.


4.1 de.anvi.croatoan

High-level Lisp interface to the basic CFFI Ncurses API.

Source

package.lisp.

Nicknames
  • croatoan
  • crt
Use List
  • common-lisp.
  • trivial-gray-streams.
Used By List

de.anvi.croatoan.dialog.

Public Interface
Internals

4.2 de.anvi.croatoan.soft-labels

Soft labels for the function keys F1-F12 in the bottom screen line.

Source

package.lisp.

Nicknames
  • soft-labels
  • slk
Use List

common-lisp.

Public Interface
Internals

4.3 de.anvi.croatoan.dialog

Dialog windows allow simple user input.

Source

package.lisp.

Nicknames
  • dialog
  • dlg
Use List
Public Interface
Internals

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Special variables

Special Variable: *ansi-color-list*
Package

de.anvi.croatoan.

Source

attr.lisp.

Special Variable: *main-stack*

Global window stack. Windows can be added upon initialization with :stacked t or (setf (stackedp win) t).

(setf (visiblep win) nil) prevents a stacked window from being refreshed and thus displayed.

Package

de.anvi.croatoan.

Source

stack.lisp.


5.1.2 Macros

Macro: complex-string-format ((control-string &rest args) &key attributes fgcolor bgcolor)

Use ‘control-string’ to build a ‘complex-string’ with the help of ‘format’ function.

Package

de.anvi.croatoan.

Source

character.lisp.

Macro: define-keymap (name (&rest parent) &body body)

Register a keymap given its name and (key function) pairs.

As a second argument, optionally a parent keymap can be given.

Keys can be characters, key structs for function keys with modifiers or a keyword for a function key without modifiers, which will implicitely converted to a struct.

In addition to single chars or keys, emacs-style specs like ’C-x 2’ or ’C-M-S-<home>’ can be given as strings, which will be parsed to char and key lists and then bound to the given event.

If a keymap with the same name already exists, it will be deleted before the new one is added.

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Macro: dogrid (((i y0 h) (j x0 w)) &body body)

Loop over a 2D grid in row major order.

The grid is specified by position coordinates y0 x0 and dimensions height width.

Example: ((i 10 2) (j 10 3)) produces:

10 10, 10 11, 10 12
11 10, 11 11, 11 12

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Macro: event-case ((window event) &body body)

Window event loop, events are handled by an implicit case form.

For now, it is limited to events generated in a single window. So events from multiple windows have to be handled separately.

In order for event handling to work, input-buffering has to be nil. Several control character events can only be handled when process-control-chars is also nil.

Allowed values for keys are lisp characters, function key names as keywords, t for all events or (nil) for the idle event.

Key structs or emacs-style key specs are not supported, because the underlying lisp eql can not test for structs and strings.

If input-blocking is nil, we can handle the (nil) event, i.e. what happens between key presses.

If input-blocking is t, the (nil) event is never returned.

The main window event loop name is hard coded to event-case to be used with return-from.

Instead of ((nil) nil), which eats 100% CPU, use input-blocking t.

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Macro: save-excursion (window &body body)

After executing body, return the cursor in window to its initial position.

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Macro: submit (&body body)

Submit BODY from a producer thread to a job queue to be processed by the main thread.

The main thread should be the only one interfacing ncurses directly,
and should be running in a terminal.

SUBMIT uses a thread-safe FIFO queue to queue up jobs which should be
evaluated inside the terminal thread.

For this to work PROCESS has to be called from inside the terminal
thread to pop requests from the FIFO queue and evaluate them.

When a condition is signaled while the body of SUBMIT is evaluated, it
is handled by PROCESS and put inside a JOB-ERROR which also contains
the failed form.

The condition is then signaled again from within a restart which
allows skipping the failed form and continue evaluating requests.

In practice, this allows for calls to ncurses forms from SLIME to be
performed without IO glitches that tend to occur when ncurses code is
called from the SLIME repl thread directly.

Package

de.anvi.croatoan.

Source

queue.lisp.

Macro: with-screen ((screen &key bind-debugger-hook input-buffering process-control-chars enable-newline-translation input-blocking frame-rate input-echoing enable-function-keys enable-soft-labels enable-scrolling insert-mode enable-colors use-terminal-colors cursor-visible stacked fgcolor bgcolor color-pair background) &body body)

Create a screen, evaluate the forms in the body, then cleanly close the screen.

Pass any arguments besides BIND-DEBUGGER-HOOK to the initialisation of the
screen object. The screen is cleared immediately after initialisation.

This macro will bind *DEBUGGER-HOOK* so that END-SCREEN gets called before the condition is printed. This will interfere with SWANK as it also binds *DEBUGGER-HOOK*. To prevent WITH-SCREEN from binding *DEBUGGER-HOOK*, set BIND-DEBUGGER-HOOK to NIL.

This macro is the main entry point for writing ncurses programs with the croatoan library. Do not run more than one screen at the same time.

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Macro: with-window ((win &rest options) &body body)

Create a window, evaluate the forms in the body, then cleanly close the window.

Pass any arguments to the initialisation of the window object.

Example:

(with-window (win :input-echoing t
body)

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Macro: with-windows (bindings &body body)

Create one or more windows, evaluate the forms in the body, then cleanly close the windows.

Pass any arguments to the initialisation of the window objects.

Example:

(with-windows ((win1 :input-echoing t)
(win2 :input-echoing t))
body)

Package

de.anvi.croatoan.

Source

croatoan.lisp.


5.1.3 Ordinary functions

Function: accept (object)

Exit the event loop of a form or form element.

The first return value is t, emphasizing that the user has accepted the form.

The element name is returned as a second value.

Bind this function to an event (key binding or button).

Package

de.anvi.croatoan.

Source

form.lisp.

Function: accept-selection (menu)

Return the value of the currently selected item or all checked items.

Package

de.anvi.croatoan.

Source

menu.lisp.

Function: acs (char-name)

Take a symbol, return the integer representing the acs char.

Package

de.anvi.croatoan.

Source

addch.lisp.

Function: add (window object &rest keys &key &allow-other-keys)

Add the text object to the window, then advance the cursor.

Currently supported text objects are characters (simple and complex), characters given by integer codes or keywords, and strings
(simple and complex).

If the position coordinates y (row) and x (column) are given, move the cursor to the position first and then add the object.

The position can also be passed in form of a two-element list.

If n is given for a char, write n chars. If n is -1, add as many chars as will fit on the line.

If n is given for a string, add at most n chars from the string. If n is -1, add as many chars from the string as will fit on the line.

Package

de.anvi.croatoan.

Source

addch.lisp.

Function: add-attributes (win attributes)

Takes a list of keywords and turns the appropriate attributes on.

Package

de.anvi.croatoan.

Source

attr.lisp.

Function: add-attributes (attributes)

Add attributes to the rendition of the soft labels.

The default attribute used to highlight soft labels is :standout.

Package

de.anvi.croatoan.soft-labels.

Source

slk.lisp.

Function: add-char (window char &key attributes fgcolor bgcolor color-pair style y x position n)

Add the narrow (single-byte) char to the window, then advance the cursor.

If the position coordinates y (row) and x (column) are given, move the cursor to the position first and then add the character.

The position can also be passed in form of a two-element list.

If n is given for a char, write n chars. If n is -1, add as many chars as will fit on the line.

Example: (add-char scr #a :attributes ’(:bold) :color-pair ’(:red :yellow))

Package

de.anvi.croatoan.

Source

addch.lisp.

Function: add-child (parent child)

Append an element to parent’s children list.

Package

de.anvi.croatoan.

Source

classes.lisp.

Function: add-function-key (key code)

Add a new mapping (code . key) to *key-alist*.

The codes and keys have to be unique, so if the alist already contains either the key or the code, any existing mapping will be replaced by the new one.

Package

de.anvi.croatoan.

Source

getch.lisp.

Function: add-string (window string &key attributes fgcolor bgcolor color-pair style y x position n)

Add the unrendered string to the window.

If n is given, add at most n chars from the string. If n is -1, as many chars will be added that will fit on the line.

If the position coordinates y (row) and x (column) are given, move the cursor to the position first and then add the object.

The position can also be passed in form of a two-element list.

Package

de.anvi.croatoan.

Source

addstr.lisp.

Function: add-wide-char (window char &key attributes fgcolor bgcolor color-pair style y x position n)

Add the wide (multi-byte) char to the window, then advance the cursor.

If the position coordinates y (row) and x (column) are given, move the cursor to the position first and then add the character.

The position can also be passed in form of a two-element list.

If n is given for a char, write n chars. If n is -1, add as many chars as will fit on the line.

If char is a complex-char, its own style overrides any style parameters.

If a style is passed, it overrides attributes and color-pair.

Package

de.anvi.croatoan.

Source

add_wch.lisp.

Function: add-wide-char-utf-8 (window char &key attributes color-pair y x position n)

Add the wide (multi-byte) char to the window, then advance the cursor.

If the position coordinates y (row) and x (column) are given, move the cursor to the position first and then add the character.

The position can also be passed in form of a two-element list.

If n is given, write n chars. If n is -1, as many chars will be added as will fit on the line.

Package

de.anvi.croatoan.

Source

add_wch.lisp.

Function: alert (&optional type)
Package

de.anvi.croatoan.

Source

beep.lisp.

Function: angle-line (y0 x0 theta length &key char)

Draw a line of the given length in the bearing theta from the origin.

Package

de.anvi.croatoan.

Source

shape.lisp.

Function: append-item (collection item)

Append the item at the end of the collection list.

This does not change the current item number.

Package

de.anvi.croatoan.

Source

classes.lisp.

Function: attributes ()

Return a list of attributes used for the rendition of soft labels.

Package

de.anvi.croatoan.soft-labels.

Source

slk.lisp.

Function: attrs2chtype (attrs)

Take a list of attribute keywords, return a chtype with the attribute bits set.

Package

de.anvi.croatoan.

Source

attr.lisp.

Function: bind (object event handler)

Bind the handler to the event in the bindings alist of the object.

The object can be a croatoan object (like window or form) or a keymap.

If event argument is a list, bind the handler to the whole sequence of events (key chain).

The handler can be a function object, a fbound symbol or a keymap.

The handler function will be called by the run-event-loop when keyboard or mouse events occur. The functions have two mandatory arguments, object and event.

If a keymap is bound to a key, this allows keys to be defined as prefix keys, so event sequences like ’^X a’ can be chained together and handled like a single event.

For every event-loop, at least an event to exit the event loop should be assigned, by associating it with the predefined function exit-event-loop.

If a default event handler (for the event t) is defined, it will handle all events for which no specific event handler has been defined.

If the handler for an event is the symbol t, the event is ignored. If the event was part of an event sequence, the handler t cancels the input sequence.

Bind adds t as the default handler to all implicitly created sub-keymaps, which cancels the input sequence of a key chain in case an unknown key is typed.

If input-blocking of the window is set to nil, a handler for the nil event can be defined, which will be called at a specified frame-rate between keypresses. Here the main application state can be updated.

Alternatively, to achieve the same effect, input-blocking can be set to a specific delay in miliseconds.

Example use: (bind scr #q (lambda (win event) (throw scr :quit)))

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Function: box (window &optional hline-char vline-char)

Draw a border around the window.

If any parameter is nil or zero, the default ACS char will be used.

Package

de.anvi.croatoan.

Source

border.lisp.

Function: calculate-positions (layout)

Recursively set the position (y x) of each of the layout’s children.

Package

de.anvi.croatoan.

Source

grid.lisp.

Function: cancel (object)

Exit the event loop of a form or form element.

The return value is nil, emphasizing that the user has canceled the form.

The element name is returned as a second value.

As a consequence of the cancel, all elements are reset and the input content is discarded.

Bind this function to an event (key binding or button).

Package

de.anvi.croatoan.

Source

form.lisp.

Function: center-position (window)

Return the position (y x) of the center of the window.

Package

de.anvi.croatoan.

Source

classes.lisp.

Function: change-attributes (win n attributes &key color-pair y x position)

Change the attributes of n chars starting at the current cursor position.

If n is -1, as many chars will be added as will fit on the line.

If the destination coordinates y and x are given, the attributes are changed from the given point without moving the cursor position.

Package

de.anvi.croatoan.

Source

attr.lisp.

Function: char-width (char)

Return the number of columns required to display the wide char.

If char is not printable, for example a control char, return nil.

In order to get a meaningful result from wcwidth, the locale has to be set, see ‘setlocale’.

Package

de.anvi.croatoan.

Source

util.lisp.

Function: chtype2attrs (ch)

Take a chtype, return a list of used attribute keywords.

Package

de.anvi.croatoan.

Source

attr.lisp.

Function: chtype2colors (ch)

Take a chtype or attr_t integer, return a list of two keywords denoting a color pair.

Package

de.anvi.croatoan.

Source

attr.lisp.

Function: circle (y0 x0 radius &key filled char)

Return a circle with a given radius, optionally filled.

Package

de.anvi.croatoan.

Source

shape.lisp.

Function: clear ()

Clear labels from the screen. Use restore to restore the labels afterwards.

Package

de.anvi.croatoan.soft-labels.

Source

slk.lisp.

Function: clear-rectangle (win &rest args)

Clear the rectangular area of a window by overwriting it with space.

If the background of a window is set, then the background char is used instead.

Package

de.anvi.croatoan.

Source

clear.lisp.

Function: code-key (code)

Return a key struct representing the key code returned by ncurses:getch.

Return nil if the code is unknown.

An existing but unknown code can be added with add-function-key.

A new escape sequence and a new code can be added with define-function-key.

This function is analogous to cl:code-char but for function key structs.

Package

de.anvi.croatoan.

Source

getch.lisp.

Function: color-pair ()

Return the color pair used for soft labels.

The color pair is a 2-element list (:foreground :background).

Package

de.anvi.croatoan.soft-labels.

Source

slk.lisp.

Function: (setf color-pair) ()

Set the color pair used for soft labels.

The color pair is a 2-element list (:foreground :background).

Package

de.anvi.croatoan.soft-labels.

Source

slk.lisp.

Function: complete-default-pair (color-pair)

Take a color pair possibly containing nil, return a pair completed from the default color pair 0.

Package

de.anvi.croatoan.

Source

attr.lisp.

Function: complex-char= (a b)

Return t if the simple-char, the color pair and the attribute list of a complex-char are equal.

The initial purpose of this function is to be used as the equality test for alexandria:define-constant.

Package

de.anvi.croatoan.

Source

character.lisp.

Function: complex-string->chars-string (complex-string)

Convert a ‘complex-string’ to a ‘string’.

Package

de.anvi.croatoan.

Source

character.lisp.

Function: complex-string-length (complex-string)

Returns the length (in characters units) of a complex string passed as argument ‘complex-string’.

Package

de.anvi.croatoan.

Source

character.lisp.

Function: control-char-p (char)
Package

de.anvi.croatoan.

Source

util.lisp.

Function: copy-key (instance)
Package

de.anvi.croatoan.

Source

classes.lisp.

Function: cumsum-predecessors (nums)

Take a list, return a cumulative sum of previous elements.

For every number, sum the numbers preceding it in the list.

For example, for the list (2 4 3 6) we will get (0 2 6 9).

For example, if (2 4 3 6) is a list of column widths in a table, then (0 2 6 9) is a list of x positions of each column.

Package

de.anvi.croatoan.

Source

grid.lisp.

Function: current-item-number (collection)

Return the current item number of collection.

Package

de.anvi.croatoan.

Source

classes.lisp.

Function: (setf current-item-number) (collection)

Set and return the new current item number of the collection.

Run the selection-callback, if it is set.

Package

de.anvi.croatoan.

Source

classes.lisp.

Function: default-color-pair (screen)
Package

de.anvi.croatoan.

Source

attr.lisp.

Function: (setf default-color-pair) (screen)

Set the colors which will comprise the default color pair 0.

The default color pair is used when no other colors are specified.

The ncurses default color pair is white on black.

If the terminal can set its own colors, they are named :terminal.

Package

de.anvi.croatoan.

Source

attr.lisp.

Function: define-function-key (key definition &key key-code)

Add or replace a function key defined by a character sequence.

The key has to be given by a key struct, which at least has to contain the key-name slot.

The key name is a keyword symbol used to represent the key (e.g. :f1).

The definition of the function key can be passed as a list of characters or as a string.

The definition is the raw (escape) sequence of characters returned by the terminal to identify an event (key pressed, mouse event, etc.).

If key-code is an integer, a new mapping (code . key) is added to the *key-alist* database overwriting any already existing mapping which contains either key or code.

If key-code is nil (default) the mapping is added with an unique, unused, generated keycode.

Package

de.anvi.croatoan.

Source

define_key.lisp.

Function: delete-char (window &key y x)

Delete the character under the cursor.

All characters to the right of the cursor on the same line are moved to the left one position and the last character on the line is filled with a blank. The cursor position does not change after moving
to (y,x), if specified.

Package

de.anvi.croatoan.

Source

delch.lisp.

Function: delete-line (window &key n)

Delete n lines starting with the one under the cursor.

The remaining lines are moved up. The bottom n lines are cleared.

The current cursor position does not change.

Package

de.anvi.croatoan.

Source

deleteln.lisp.

Function: draw-border (window &key left right top bottom top-left top-right bottom-left bottom-right)

Draw a border around the window using single-byte line-drawing characters.

If no border chars are given, the default ncurses ACS chars will be used.

Package

de.anvi.croatoan.

Source

border.lisp.

Function: draw-hline (win y x length &optional char &rest keys &key &allow-other-keys)
Package

de.anvi.croatoan.

Source

border.lisp.

Function: draw-line (win start end &optional char)

Draw a line in window from start (y1 x1) to end (y2 x2) position using the Bresenham algorithm.

Package

de.anvi.croatoan.

Source

shape.lisp.

Function: draw-menu (win y x menu)

Draw the menu to the window.

Package

de.anvi.croatoan.

Source

menu.lisp.

Function: draw-rectangle (win y x h w &rest keys &key &allow-other-keys)
Package

de.anvi.croatoan.

Source

border.lisp.

Function: draw-shape (window shape &optional squarify)

Draw a shape in the given window.

Package

de.anvi.croatoan.

Source

shape.lisp.

Function: draw-table-lines (win y x m n rg cg bt bl pt pb widths heights borderp &key style)
Package

de.anvi.croatoan.

Source

menu.lisp.

Function: draw-vline (win y x length &optional char &rest keys &key &allow-other-keys)
Package

de.anvi.croatoan.

Source

border.lisp.

Function: draw-wide-border (window &key left right top bottom top-left top-right bottom-left bottom-right)

Draw a border around the window using (wide) unicode line-drawing characters.

If no border chars are given, the default ncurses WACS chars will be used.

Package

de.anvi.croatoan.

Source

border_set.lisp.

Function: echo (window char &rest keys &key &allow-other-keys)

Add one character to the window, then advance the cursor.

If the position coordinates y (row) and x (column) are given, move the cursor to the position first and then add the character.

The position can also be passed in form of a two-element list.

If n is given for a char, write n chars. If n is -1, add as many chars as will fit on the line.

If char is a complex-char, its own style overrides any style parameters.

If a style is passed, it overrides attributes and color-pair.

Package

de.anvi.croatoan.

Source

addch.lisp.

Function: echo-char (window char &key attributes fgcolor bgcolor color-pair style y x position)

Add one narrow (single-byte) character to the window, then refresh the window.

If the position coordinates y (row) and x (column) are given, move the cursor to the position first and then echo the character.

The position can also be passed in form of a two-element list.

The only difference to add-char and a subsequent refresh is a
performance gain if we know that we only need to output a single character.

Package

de.anvi.croatoan.

Source

addch.lisp.

Function: echo-wide-char (window char &key attributes fgcolor bgcolor color-pair style y x position)

Add one wide (multi-byte) character to the window, then refresh the window.

If the position coordinates y (row) and x (column) are given, move the cursor to the position first and then add the character.

The position can also be passed in form of a two-element list.

The only difference to add-wide-char and a subsequent refresh is a performance gain if we know that we only need to output a single character.

Package

de.anvi.croatoan.

Source

add_wch.lisp.

Function: edit (object)

Modify a form or form element. Return t if the edit was accepted, nil of it was canceled.

The return values of the event handler are the return values of the event loop and thus also returned by edit.

Package

de.anvi.croatoan.

Source

form.lisp.

Function: empty-stack (stack)

Remove all items from the stack.

Package

de.anvi.croatoan.

Source

stack.lisp.

Function: enable-function-key (code &optional enable)

Enable (default) or disable a function key given by its code.

This function allows to disable specific keys as an alternative to using ncurses:keypad to disable all function keys.

Package

de.anvi.croatoan.

Source

keyok.lisp.

Function: end-screen ()

Clean shutdown of the curses display.

Package

de.anvi.croatoan.

Source

initscr.lisp.

Function: event-position (event)
Package

de.anvi.croatoan.

Source

mouse.lisp.

Function: exit-event-loop (object &optional args)

Associate this function with an event to exit the event loop.

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Function: exit-menu-event-loop (menu)

Associate this function with an event to exit the menu event loop.

Package

de.anvi.croatoan.

Source

menu.lisp.

Function: extract-char (window &key y x position)

Extract and return the single-byte complex char from the window.

If the position coordinates y (row) and x (column) are given, move the cursor to the position first and then add the character.

The position can also be passed in form of a two-element list.

Package

de.anvi.croatoan.

Source

inch.lisp.

Function: extract-complex-string (window &key y x position n)

Extract and return a complex string from the window.

Start at the current cursor position and end at the right margin of window.

If the position coordinates y (row) and x (column) are given, move the cursor to the position first and then add the character.

The position can also be passed in form of a two-element list.

If n is given, read at most n chars.

Package

de.anvi.croatoan.

Source

inchstr.lisp.

Function: extract-string (window &key y x position n)

Extract and return a string from window.

Any attributes are stripped from the characters before the string is returned.

Start at the current cursor position and end at the right margin of window.

If the position coordinates y (row) and x (column) are given, move the cursor to the position first and then add the character.

The position can also be passed in form of a two-element list.

If n is given, read at most n chars.

Package

de.anvi.croatoan.

Source

instr.lisp.

Function: extract-wide-char (window &key y x position)

Extract and return a single wide (complex) character from the window.

This includes wide characters (code > 255), and requires the ncursesw library.

If the position coordinates y (row) and x (column) are given, move the cursor to the position first and then add the character.

The position can also be passed in form of a two-element list.

Package

de.anvi.croatoan.

Source

in_wch.lisp.

Function: extract-wide-string (window &key y x position n)

Extract and return a string from window.

Any attributes are stripped from the characters before the string is returned.

Start at the current cursor position and end at the right margin of window.

If the position coordinates y (row) and x (column) are given, move the cursor to the position first and then add the character.

The position can also be passed in form of a two-element list.

If n is given, read at most n chars.

Package

de.anvi.croatoan.

Source

inwstr.lisp.

Function: field-add-char (field event)

Add char to the current cursor position in the field, then move the cursor forward.

The buffer can be longer than the displayed field width, horizontal scrolling is enabled.

Package

de.anvi.croatoan.

Source

field.lisp.

Function: fill-rectangle (win char &rest args)

Display char in every cell of a rectangular area in a window.

The rectangle is specified by a starting position and its dimensions.

4 arguments: y0 x0 height width
2 arguments: (y0 x0) (h w)

Package

de.anvi.croatoan.

Source

clear.lisp.

Function: fill-shape (shape)

Take a shape that only shows the borders and ’color it out’.

Package

de.anvi.croatoan.

Source

shape.lisp.

Function: find-element (form element-name &key test key)

Return from the given form the element given by its name.

The name should be a keyword, symbol or integer, the default test is eql.

If the name is a string, equal should be used as the test.

Instead of the name, another key can be provided to identify the element.

Package

de.anvi.croatoan.

Source

form.lisp.

Function: find-keymap (keymap-name)

Return a keymap given by its name from the global keymap alist.

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Function: find-node (name1 tree)

Return the first node that matches the name.

Package

de.anvi.croatoan.

Source

classes.lisp.

Function: flatten-items (layout)

Take a layout object, return a flattened list of elements to be passed to a form.

Nested layouts are spliced in, nils removed and strings/symbols/numbers converted to labels.

Package

de.anvi.croatoan.

Source

grid.lisp.

Function: flush-input ()

Throw away any typeahead that has been input by the user and has not yet been read by the program.

This can be used to clear the input buffer after a key has been held down for a longer time to prevent that events are handled by the progrem even after the key is released. (That form of intertia can happen in games.)

This ncurses function has the same purpose as cl:clear-input.

Package

de.anvi.croatoan.

Source

util.lisp.

Function: function-key-code (definition)

Take a function key definition, return the ncurses key code.

If the key is defined, return the key code (as returned by getch or get_wch), or nil if the key is not defined.

A key definition is an escape sequence of characters that is generated by the keyboard and recognized by ncurses as a single function key.

The definition can be passed as string or as a list of characters.

Also see: function-key-definition.

Package

de.anvi.croatoan.

Source

key_defined.lisp.

Function: function-key-definition (code)

Take a function key code, return its definition as a string.

The key definition is a escape sequence of characters that is generated by the keyboard and recognized by ncurses as a single function key.

Also see: function-key-code.

Package

de.anvi.croatoan.

Source

keybound.lisp.

Function: function-key-p (code)

Take a single-byte key code returned by get-char, return t if the number is a known function key, or nil if it is either a char or an unknown key.

Used in get-event to check the return value of get-char.

get-wide-char/event has a different way to check for function keys.

Package

de.anvi.croatoan.

Source

getch.lisp.

Function: get-bitmask (attribute)

Returns an ncurses attr/chtype representing the attribute keyword.

Package

de.anvi.croatoan.

Source

attr.lisp.

Function: get-char (window &key y x)

Read in a C char (single byte) from the keyboard and return it.

If the destination coordinates y (row) and x (column) are given, move the cursor to the destination first and then read a single byte.

The window from which the char is read is automatically refreshed.

Package

de.anvi.croatoan.

Source

getch.lisp.

Function: get-direction (direction-name)

Take a keyword name of a direction, return a direction given as a two-element list.

The two-element list is given as (y x), where y is the vertical
direction up (-1) or down (+1) and x is the horizontal direction
left (-1) or right (+1).

Calculated that way, we have 8 possible directions:

-1,-1 -1,0 -1,1
0,-1 0,1
1,-1 1,0 1,1

The direction is a 2D increment (dy dx) that can be added to a
position (y x) to get a new position (y+dy x+dx).

Package

de.anvi.croatoan.

Source

move.lisp.

Function: get-event (window)

Read a single-byte char from window, return an event object.

The object contains the event key (a simple character or a keyword for function keys) and the integer key code.

The following chars can be returned:

1. Regular single-byte control and graphic characters with codes 0-255 are returned as lisp characters.
Multi-byte characters are returned as a sequence of chars/integers. To return a multi-byte char as a single char, use get-wide-event.

2. If input-blocking of the window is set to nil, non-events (idle time when no real events occur) are returned as nil with the code -1.

3. If enable-fkeys is set to t, function keys are converted by ncurses from an escape sequence to an integer >255 and returned by get-event as a lisp keyword name.
If enable-fkeys is nil, the whole sequence is read and returned.

Package

de.anvi.croatoan.

Source

getch.lisp.

Function: get-mouse-event ()

Decode and return the mouse event struct as multiple values.

Package

de.anvi.croatoan.

Source

mouse.lisp.

Function: get-string (window n &key y x)

Read a string from the keyboard and return it.

Reading is performed until a newline or carriage return is received. The terminating character is not included in the returned string.

If n is given, read at most n chars, to prevent a possible input buffer overflow.

If the destination coordinates y and x are given, move the cursor there first.

Package

de.anvi.croatoan.

Source

getstr.lisp.

Function: get-wide-char (window &key y x position)

Read in a wide C wchar_t (multi-byte) from the keyboard and return it.

If the destination coordinates y (row) and x (column) are given, move
the cursor to the destination first and then read a multi-byte char.

The window from which the char is read is automatically refreshed.

If the second returned value is t, the char is a function key, nil otherwise.

Package

de.anvi.croatoan.

Source

get_wch.lisp.

Function: goto (window &rest positions)

Move cursor to the window position given as a two-element list (y x).

If more than one position is given, add their coordinates before moving the cursor.

This allows to address element-relative coordinates or cursor movement to a different position.

Package

de.anvi.croatoan.

Source

move.lisp.

Function: hook (object hook function)

Add the function to the object’s hook.

A hook is a list of functions to call on different pre-defined occasions in order to customize the library’s behavior.

The function should take the object as its only argument.

The functions are called to perform side effects, their return values are discarded.

Package

de.anvi.croatoan.

Source

hook.lisp.

Function: initialize (&optional mode)

Initialize soft function-key labels on the bottom screen line.

Soft labels are used to display short titles of the functions bound to the function keys F1 to F12.

The following 4 modes (label layouts) are supported:

Show 8 labels, each with a width of 8 characters:

:mode-3-2-3 - 3 labels left, 2 in the center, 3 right :mode-4-4 - 4 labels left, 4 labels right

Show 12 labels, each with a width of 5 characters:

:mode-4-4-4 - 4 labels left, 4 in the center, 4 right :mode-4-4-4-index - display an line with F1-F12 above the labels.

The single-line 4-4-4 mode without the index line is the default, as most PC keyboards support 12 function keys.

Package

de.anvi.croatoan.soft-labels.

Source

slk.lisp.

Function: initialize-leaves (node)

Walk the layout tree given by node and initialize the leaf objects that are given as plists.

Package

de.anvi.croatoan.

Source

grid.lisp.

Function: insert (window object &rest keys &key &allow-other-keys)

Insert char or string into window before the char currently under the cursor.

Currently supported text objects are characters (simple and complex), characters given by integer codes or keywords, and strings
(simple and complex).

If the position coordinates y (row) and x (column) are given, move the cursor to the position first and then insert the object.

The position can also be passed in form of a two-element list.

If n is given for a char, insert n chars.

If n is given for a string, add at most n chars from the string.

Package

de.anvi.croatoan.

Source

ins_wch.lisp.

Function: insert-char (window char &key attributes fgcolor bgcolor color-pair style y x position n)

Insert char into window before the character currently under the cursor.

Chars right of the cursor are moved one position to the right.
The rightmost character on the line may be lost. The position of the cursor is not changed.

char can be a simple character or a complex-char with attributes and colors.

If the position coordinates y (row) and x (column) are given, move the cursor to the position first and then add the object.

The position can also be passed in form of a two-element list.

If n is given, insert n chars.

Package

de.anvi.croatoan.

Source

insch.lisp.

Function: insert-line (window &key n)

Insert n lines above the current line.

The current line and the lines below are moved down. The n bottom lines are lost.

The current cursor position does not change.

Package

de.anvi.croatoan.

Source

deleteln.lisp.

Function: insert-nth (n element list)

Insert element into list at nth place, increasing the length of the list.

Example: (insert-nth 3 ’x ’(a b c d e)) => (A B C X D E)

Package

de.anvi.croatoan.

Source

field.lisp.

Function: insert-string (window string &key attributes fgcolor bgcolor color-pair style y x position n)

Insert string before the current position in window.

Chars right of the cursor are moved to the right. The rightmost chars on the line may be lost. The cursor position is not changed.

If n is given, insert at most n chars from the string.

If the position coordinates y (row) and x (column) are given, move the cursor to the position first and then add the object.

The position can also be passed in form of a two-element list.

Package

de.anvi.croatoan.

Source

insstr.lisp.

Function: insert-wide-char (window char &key attributes fgcolor bgcolor color-pair style y x position n)

Insert char into window before the character currently under the cursor.

Chars right of the cursor are moved one position to the right.
The rightmost character on the line may be lost. The position of the cursor is not changed.

char can be a simple character or a complex-char with attributes and colors.

If the position coordinates y (row) and x (column) are given, move the cursor to the position first and then add the object.

The position can also be passed in form of a two-element list.

If n is given, insert n chars.

Package

de.anvi.croatoan.

Source

ins_wch.lisp.

Function: join-lines (list)

Join a list of strings into a string of lines separated by newline.

Package

de.anvi.croatoan.

Source

util.lisp.

Function: join-strings (list &optional ch)
Package

de.anvi.croatoan.

Source

util.lisp.

Reader: key-alt (instance)
Writer: (setf key-alt) (instance)
Package

de.anvi.croatoan.

Source

classes.lisp.

Target Slot

alt.

Function: key-code (key)

Return the code associated with a function key struct.

Package

de.anvi.croatoan.

Source

getch.lisp.

Function: key-code-to-name (code &optional default)

Take an integer representing the function key code, return a keyword representing the function key name.

If a name to the given code is not in the key list, return the value of the optional parameter: ’default’.

Package

de.anvi.croatoan.

Source

getch.lisp.

Reader: key-ctrl (instance)
Writer: (setf key-ctrl) (instance)
Package

de.anvi.croatoan.

Source

classes.lisp.

Target Slot

ctrl.

Reader: key-name (instance)
Writer: (setf key-name) (instance)
Package

de.anvi.croatoan.

Source

classes.lisp.

Target Slot

name.

Function: key-name-to-code (name &optional default)

Return the first code (an integer) from the given keyname (a keyword).

Since we can have more than one key struct with the same name, we can here only return the first code, which would be the key without modifiers.

If the code does not exist, return the value of the optional parameter: ’default’.

Package

de.anvi.croatoan.

Source

getch.lisp.

Function: key-p (object)
Package

de.anvi.croatoan.

Source

classes.lisp.

Function: key-pressed-p (window)
Package

de.anvi.croatoan.

Source

getch.lisp.

Reader: key-shift (instance)
Writer: (setf key-shift) (instance)
Package

de.anvi.croatoan.

Source

classes.lisp.

Target Slot

shift.

Function: key-supported-p (code)

Returns t if the code is recognized by the current terminal as a key.

Package

de.anvi.croatoan.

Source

getch.lisp.

Function: label (number)

Return the title of the soft label given by the function key number.

Package

de.anvi.croatoan.soft-labels.

Source

slk.lisp.

Function: (setf label) (number &optional alignment)

Set the title of the label of the function key given by the number.

Note that since function keys are F1-F12, the numbering starts at 1.

Package

de.anvi.croatoan.soft-labels.

Source

slk.lisp.

Function: leaves (root)

Walk the layout tree given by the root node, return a list of leaves.

Package

de.anvi.croatoan.

Source

grid.lisp.

Function: line (y0 x0 y1 x1 &key char)

Return a straight line between two points

Package

de.anvi.croatoan.

Source

shape.lisp.

Function: make-background (color-bg &key color-fg char)

Make an object suitable as a window background.

Use ‘color-bg’ as background color, ‘color-fg’ as foreground color and character ‘char’.

If color-fg is not given, default to ‘color-bg’).

Package

de.anvi.croatoan.

Source

character.lisp.

Function: make-key (&key name ctrl alt shift)
Package

de.anvi.croatoan.

Source

classes.lisp.

Function: mapc-plist (fn &rest plist)

Mapc function of two args (k v) to successive keys and values in plist.

The function is applied for its side effects, the results are not accumulated.

Package

de.anvi.croatoan.

Source

util.lisp.

Function: mark-for-redraw (window &key first-line no-of-lines)

Mark a whole window or a number of lines to be completely redrawn on the next refresh.

It does not redraw, only marks for redrawing by refresh.

It assumes that the display on the terminal has been corrupted.

It is unclear how redrawwin differs from touchwin.

Package

de.anvi.croatoan.

Source

refresh.lisp.

Function: mark-for-refresh ()

Mark the soft labels for a later refresh with refresh-marked.

This allows the soft labes to be refreshed in one sweep with other elements of the screen.

Package

de.anvi.croatoan.soft-labels.

Source

slk.lisp.

Function: merge-shapes (&rest shapes)

Create a new shape object by merging the coordinates of a given list of shapes.

Package

de.anvi.croatoan.

Source

shape.lisp.

Function: move (window y x &key relative)

Move cursor to the position given by row y and column x.

If relative is t, move the cursor by y rows and x columns relative to the current cursor position.

Package

de.anvi.croatoan.

Source

move.lisp.

Function: move-direction (window direction &optional n)

Move cursor in the given direction by n cells.

Package

de.anvi.croatoan.

Source

move.lisp.

Function: move-end-of-line (field)

Move the cursor to the last char in the field.

Package

de.anvi.croatoan.

Source

field.lisp.

Function: move-start-of-line (field)

Move the cursor to the first char in the field.

Package

de.anvi.croatoan.

Source

field.lisp.

Function: move-window (window y x &key relative)

Move top left corner of the window to row y and column x.

If relative is t, move the window by y rows and x columns relative to its current position.

Package

de.anvi.croatoan.

Source

move.lisp.

Function: nconcat-complex-string (a b)

Destructively concatenate the ‘complex-string’ ‘a’ and ‘b’

Package

de.anvi.croatoan.

Source

character.lisp.

Function: new-line (window &optional count)

Insert count newline characters into window.

Package

de.anvi.croatoan.

Source

addch.lisp.

Function: nth2d (list dimensions position)

Return the position (i j) of list by assuming grid dimensions (m n) and row major order.

Package

de.anvi.croatoan.

Source

grid.lisp.

Function: pair-plist (keys values &optional plist)

Return a plist constructed out of separate keys and values lists.

This is supposed to work like cl:pairlis but returning a plist instead of an alist.

If an initial plist is provided, the new key-value pairs are prepended to it.

Example 1: (pair-plist ’(a b c) ’(1 2 3)) => (a 1 b 2 c 3)

Example 2: (pair-plist ’(a b) ’(1 2) ’(x 3 y 4)) => (A 1 B 2 X 3 Y 4)

The resulting plist can be again taken apart into keys and values by the reverse function ‘unpair-plist’.

Package

de.anvi.croatoan.

Source

util.lisp.

Function: pair-to-number (pair)

Take a two-element list of colors, return the ncurses pair number.

The colors can be keywords or numbers -1:255.

-1 is the :terminal default color when use-terminal-colors-p is t.

If it is a new color pair, add it to ncurses, then return the new pair number.

If the pair already exists, return its pair number.

If pair is nil, return the default color number, 0.

Example:

(pair-to-number ’(:white :black)) => 0

Package

de.anvi.croatoan.

Source

attr.lisp.

Function: polygon (corners &key filled char)

Return a polygon along a list of corners, optionally filled

Package

de.anvi.croatoan.

Source

shape.lisp.

Function: process ()

Process the contents of the job queue in the current thread, then exit.

Process should be called from the main thread, which should be the only thread interfacing ncurses directly, and should be running in a terminal.

Package

de.anvi.croatoan.

Source

queue.lisp.

Function: push-item (collection item)

Add the item at the front of the collection list.

This increments the current item number.

Package

de.anvi.croatoan.

Source

classes.lisp.

Function: put (window y x object &rest keys &key &allow-other-keys)

Add the object to the window at position (y x), then advance the cursor.

put is a thin convenience wrapper around add with the difference that the position arguments (y x) are mandatory.

Package

de.anvi.croatoan.

Source

addch.lisp.

Function: put-char (window y x char &rest keys &key &allow-other-keys)
Package

de.anvi.croatoan.

Source

addch.lisp.

Function: put-string (window y x string &rest keys &key &allow-other-keys)
Package

de.anvi.croatoan.

Source

addch.lisp.

Function: quadrilateral (y0 x0 y1 x1 y2 x2 y3 x3 &key filled char)

Return a quadrilateral (utility wrapper around ‘polygon’).

Package

de.anvi.croatoan.

Source

shape.lisp.

Function: random-position (win)

Return a random valid position (y x) inside the window.

Package

de.anvi.croatoan.

Source

classes.lisp.

Function: rectangle (y0 x0 height width &key filled char)

Return a rectangle (utility wrapper around ‘polygon’).

Package

de.anvi.croatoan.

Source

shape.lisp.

Function: ref2d (list dimensions i j)

Return the position (i j) of list by assuming grid dimensions (m n) and row major order.

Package

de.anvi.croatoan.

Source

grid.lisp.

Function: refresh ()

Refresh the soft label line(s).

Package

de.anvi.croatoan.soft-labels.

Source

slk.lisp.

Function: refresh-marked ()

Refresh one or more windows marked for refresh.

If only one window is refreshed, refresh can be called directly.

The goal of this batch refresh is improved efficiency and preventing flicker that might occur if several windows are refreshed in sequence.

Package

de.anvi.croatoan.

Source

refresh.lisp.

Function: remove-attributes (win attributes)

Takes a list of keywords and turns the appropriate attributes off.

Package

de.anvi.croatoan.

Source

attr.lisp.

Function: remove-attributes (attributes)

Takes a list of keywords and turns the appropriate attributes off.

Package

de.anvi.croatoan.soft-labels.

Source

slk.lisp.

Function: remove-nth (n list)

Remove element at nth place from the list, decreasing the length of the list.

Example: (remove-nth 3 ’(a b c d e)) => (A B C E)

Package

de.anvi.croatoan.

Source

classes.lisp.

Function: replace-nth (n element list)

Replaces element of list at nth place, not increasing the length of the list.

Example: (replace-nth 3 ’x ’(a b c d e)) => (A B C X E)

Package

de.anvi.croatoan.

Source

field.lisp.

Function: reset-form (object)

Reset a parent form from an element callback, for example a button.

Package

de.anvi.croatoan.

Source

form.lisp.

Function: resize (window height width)
Package

de.anvi.croatoan.

Source

wresize.lisp.

Function: restore ()

Restore the labels previously removed by clear.

Package

de.anvi.croatoan.soft-labels.

Source

slk.lisp.

Function: return-element-value (object)

Exit the event loop and return the value of the (current) element.

The element name is returned as a second value.

Instead of accept or cancel, which return t or nil, this function allows to exit the form event loop and return any value.

Package

de.anvi.croatoan.

Source

form.lisp.

Function: return-form-values (object)

Return an alist with element names as keys and element values as values.

It is supposed to resemble GET params fname=John&lname=Doe from html forms.

Only active elements are returned.

Only the activated button is returned, other buttons are ignored.

Bind this to an event or element to exit the event loop of a form.

Package

de.anvi.croatoan.

Source

form.lisp.

Function: return-from-menu (menu return-value)

Pop the menu from the menu stack, refresh the remaining menu stack.

If the menu is not a window, clear the menu from the window.

Return the value from select.

Package

de.anvi.croatoan.

Source

menu.lisp.

Function: run-event-loop (object &rest args)

Read events from the object, then call predefined event handler functions on the events.

The object has to be a ncurses window or have an associated ncurses window.

The handlers can be added by the bind function, or by directly setting a predefined keymap to the object’s bindings slot.

Args is one or more additional arguments that can be passed to the handlers.

Provide a non-local exit point so we can exit the loop from an event handler.

One of the events must provide a way to exit the event loop by ’throwing’ the object.

The function exit-event-loop is pre-defined to perform this non-local exit.

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Function: scroll (window &optional n)

Scroll the window up or down for n lines relative to its contents.

If n is positive, move the contents up relative to the window.
The line i becomes line i-n. The window view moves n lines down.

If n is negative, move the contents down relative to the window. The line i becomes line i+n. The window view moves n lines up.

Initial Scroll up Scroll down
n = 1 n = -1

1
+—–+ +—–+ +—–+
| 1 | | 2 | | |
| 2 | | 3 | | 1 |
| 3 | | | | 2 |
+—–+ +—–+ +—–+
3

The content lines that leave the scrolled window aren’t buffered and can not be retrieved when moving back, they are lost. (If you need to scroll up and down without losing lines, consider using pad windows instead of simple windows.)

The cursor position in the window is not changed when the contents are scrolled.

Package

de.anvi.croatoan.

Source

scroll.lisp.

Function: set-attributes (attributes color-pair)

Set the attributes and color-pair for the rendition of soft labels.

This function overwrites any previous used attributes including the color. If you only want to set the attributes, you might want to use setf attributes instead.

Package

de.anvi.croatoan.soft-labels.

Source

slk.lisp.

Function: set-mouse-event (keys)

Take a list of mouse event keys, activate tracking of those events.

Returns an integer bitmask. An empty list turns off mouse tracking.

Package

de.anvi.croatoan.

Source

mouse.lisp.

Function: shape-extent (shape)

Return min-y, min-x, max-y, and max-x of a shape’s coordinates as multiple values.

Package

de.anvi.croatoan.

Source

shape.lisp.

Function: split-lines (str)

Split a string containing newlines into a list of strings.

Package

de.anvi.croatoan.

Source

util.lisp.

Function: split-string (str &optional ch)

Split the string into a list of words separated by one or more chars.

Package

de.anvi.croatoan.

Source

util.lisp.

Function: stack-empty-p (stack)

Return t if there are no items on the stack, nil otherwise.

Package

de.anvi.croatoan.

Source

stack.lisp.

Function: stack-move (obj-or-n pos-or-dir stack)

Move an object in the stack.

The object can be passed directly and is the compared by eq, or by its position in the stack.

Valid movement directions are :up :down :top and :bottom.

Package

de.anvi.croatoan.

Source

stack.lisp.

Function: stack-pop (stack)

Remove and return the top item off the stack.

Package

de.anvi.croatoan.

Source

stack.lisp.

Function: stack-push (obj stack)

Add the object or objects on top of the stack.

Package

de.anvi.croatoan.

Source

stack.lisp.

Function: string-to-char (str)

Take a string representing a character, return the corresponding character.

The char can be a printable, graphical char or a control char in the caret ^A notation.

Package

de.anvi.croatoan.

Source

util.lisp.

Function: string-width (str)

Return the number of columns required to display the string.

If the string contains a non-printable character, return nil.

Package

de.anvi.croatoan.

Source

util.lisp.

Function: tigetstr (capname)

Take a terminfo capability name, return its string value.

Error return values:

-1 if capname is not a string capability,
0 if it is canceled or absent from the terminal description.

This function is just a thin convenience wrapper around ncurses:tigetstr, so we dont have to deal with C pointers.

Package

de.anvi.croatoan.

Source

terminfo.lisp.

Function: toggle-insert-mode (object)

Toggle the insert mode boolean property of the object.

This applies to window, field and textarea objects, for example.

Package

de.anvi.croatoan.

Source

classes.lisp.

Function: toggle-item-checkbox (menu)

Toggle the checked state of the current item, used in checkbox menus.

Package

de.anvi.croatoan.

Source

menu.lisp.

Function: touch ()

Force all labels to be output on the next refresh.

Touch marks the label line as changed because refresh only considers changed cells.

Package

de.anvi.croatoan.soft-labels.

Source

slk.lisp.

Function: triangle (y0 x0 y1 x1 y2 x2 &key filled char)

Return a triangle (utility wrapper around ‘polygon’).

Package

de.anvi.croatoan.

Source

shape.lisp.

Function: unbind (object event)

Remove the event and the handler function from object’s bindings alist.

If event argument is a list, remove the whole sequence of events (key chain).

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Function: unget-char (chtype)

Take a simple C chtype and put it back into the read buffer.

It will be read with the next call to get-char.

Package

de.anvi.croatoan.

Source

getch.lisp.

Function: unpair-plist (plist)

Separate a plist into two lists, returned as separate values.

The first list contains the keys and the second the values.

Example: (unpair-plist ’(a 1 b 2 c 3)) => (a b c), (1 2 3)

The resulting keys and values can be combined back into the initial plist by the function ‘pair-plist’.

Package

de.anvi.croatoan.

Source

util.lisp.

Function: use-terminal-colors-p (screen)
Package

de.anvi.croatoan.

Source

attr.lisp.

Function: (setf use-terminal-colors-p) (screen)
Package

de.anvi.croatoan.

Source

attr.lisp.

Function: wacs (char-name)

Take a keyword symbol, return the wide unicode integer representing the ACS char.

Package

de.anvi.croatoan.

Source

add_wch.lisp.

Function: wait-for-event (win)

Wait till a valid event (keyboard, mouse or resize) occurs, then return.

If blocking is set to t, wait till any event is read.

If blocking is nil, ignore the nil events and only return when the first non-nil event is read.

The return value is not specified.

Package

de.anvi.croatoan.

Source

get_wch.lisp.

Function: wrap-lines (lines width)

Wrap a list of strings so that no single line exceeds the given width.

Package

de.anvi.croatoan.

Source

util.lisp.

Function: wrap-string (string width &optional split-length)

Insert newlines in the string so that no single line exceeds the width.

All pre-existing newlines and multiple spaces are removed.

Long words (by default >20 chars) are split instead of being wrapped. This avoids large gaps when long urls are wrapped, for example.

Package

de.anvi.croatoan.

Source

util.lisp.


5.1.4 Generic functions

Generic Reader: activep (object)
Generic Writer: (setf activep) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: activep ((element element))
Writer Method: (setf activep) ((element element))

If t (default), the element can be selected. Used to prevent labels from being selected.

Source

classes.lisp.

Target Slot

activep.

Generic Function: attributes (object)
Package

de.anvi.croatoan.

Methods
Method: attributes ((window window))
Source

classes.lisp.

Reader Method: attributes ((complex-char complex-char))

List of keywords denoting attributes.

Source

character.lisp.

Target Slot

attributes.

Generic Function: (setf attributes) (object)
Package

de.anvi.croatoan.

Methods
Method: (setf attributes) ((win window))
Source

classes.lisp.

Writer Method: (setf attributes) ((complex-char complex-char))

List of keywords denoting attributes.

Source

character.lisp.

Target Slot

attributes.

Generic Function: (setf attributes) ()
Package

de.anvi.croatoan.soft-labels.

Methods
Method: (setf attributes) ()

Set the attributes used for the rendition of soft labels.

This function only adds or removes attributes and does not affect the color attributes.

Source

slk.lisp.

Generic Function: background (window)
Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: background ((win window))
Generic Function: (setf background) (window &optional apply)
Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: (setf background) ((window window) &optional apply)
Generic Function: bgcolor (object)
Package

de.anvi.croatoan.

Methods
Method: bgcolor ((win window))
Source

classes.lisp.

Reader Method: bgcolor ((complex-char complex-char))

A keyword denoting the background color of the complex character.

Source

character.lisp.

Target Slot

bgcolor.

Generic Function: (setf bgcolor) (object)
Package

de.anvi.croatoan.

Methods
Method: (setf bgcolor) ((win window))
Source

classes.lisp.

Writer Method: (setf bgcolor) ((complex-char complex-char))

A keyword denoting the background color of the complex character.

Source

character.lisp.

Target Slot

bgcolor.

Generic Reader: bindings (object)
Generic Writer: (setf bindings) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: bindings ((component component))
Writer Method: (setf bindings) ((component component))

Alist of events (characters, keywords or integers) as keys and handler functions as values. Used by the run-event-loop function.

Source

classes.lisp.

Target Slot

bindings.

Reader Method: bindings ((keymap keymap))
Writer Method: (setf bindings) ((keymap keymap))

Alist of events and handler functions (or sub-keymaps).

When the bindings are provided not as an alist, but as an plist for convenience, convert the plist to an alist.

The plist is easier to provide when there is a large number of bindings.

Source

classes.lisp.

Target Slot

bindings.

Generic Reader: border-width (object)
Package

de.anvi.croatoan.

Methods
Reader Method: border-width ((extended-window extended-window))
Source

classes.lisp.

Target Slot

border-width.

Generic Reader: borderp (object)
Package

de.anvi.croatoan.

Methods
Reader Method: borderp ((element element))

Border width, similar to padding, but with a drawn border.

Source

classes.lisp.

Target Slot

borderp.

Reader Method: borderp ((window window))

Draw (t) or don’t draw (nil, default) an initial border around a window. Not redrawn automatically.

Source

classes.lisp.

Target Slot

borderp.

Generic Reader: buffer (object)
Generic Writer: (setf buffer) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: buffer ((textarea textarea))
Writer Method: (setf buffer) ((textarea textarea))

List containing the characters of the textarea.

Source

textarea.lisp.

Target Slot

buffer.

Reader Method: buffer ((field field))
Writer Method: (setf buffer) ((field field))

List containing the characters in the field.

Source

field.lisp.

Target Slot

buffer.

Generic Function: calculate-layout (node)

Recursively calculate the missing geometry parameters for the node’s children.

Package

de.anvi.croatoan.

Source

grid.lisp.

Methods
Method: calculate-layout ((node column-layout))
Method: calculate-layout ((node row-layout))

Recursively calculate the geometries of layout’s children.

If initial widths are not given, evenly split the remaining parent width.

This routine can be used to calculate a layout of windows on a screen and recalculate their geometries for example after a terminal resize.

After the initial calculation, initialize-leaves has to be called in order to initialize the window objects (and call the underlying ncurses functions).

See examples t43, t43a.

Generic Reader: callback (object)
Generic Writer: (setf callback) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: callback ((button button))
Writer Method: (setf callback) ((button button))

Callback function called when the button is activated.

Source

classes.lisp.

Target Slot

callback.

Generic Function: char-to-string (char)

Return a string representing the char.

Control characters are displayed using the ^X notation.

Function keys are not represented by this routine. Use key-to-string instead.

Package

de.anvi.croatoan.

Source

util.lisp.

Methods
Method: char-to-string ((char integer))
Method: char-to-string ((char character))
Generic Reader: checkedp (object)
Generic Writer: (setf checkedp) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: checkedp ((checkbox checkbox))
Writer Method: (setf checkedp) ((checkbox checkbox))

t if the checkbox has been checked, nil if it hasn’t.

Source

classes.lisp.

Target Slot

checkedp.

Generic Reader: children (object)
Generic Writer: (setf children) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: children ((node node))
Writer Method: (setf children) ((node node))

List of children.

Source

classes.lisp.

Target Slot

children.

Generic Function: clear (object &key redraw target)
Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: clear ((window window) &key redraw target)

Clear the window by overwriting it with blanks.

If the keyword redraw is t, first copy blanks to every position in the window, then set the clear-redraw-flag to have the window redrawn from scratch on the next refresh.

If target is :end-of-line, clear the window from the cursor to the end of the current line.

If target is :bottom, clear the window from the cursor to the end of the current line and all lines below.

Source

clear.lisp.

Method: clear ((obj element) &key)

Clear the element by overwriting the underlying window with the background char.

The default background char is #space.

If the underlying window has a background char, that will be used to
clear the window instead of #space.

The char, attributes and colors can be set by providing the following styles:

:border
:selected-border
:background
:selected-background

If an element is inactive, for example the label, the selected style is not applied.

Source

form.lisp.

Method: clear ((obj menu-window) &key)
Source

menu.lisp.

Method: clear ((obj menu) &key)
Source

menu.lisp.

Generic Function: closed-p (s)

Check whether the screen has been closed without a subsequent call to refresh to reactivate it.

Package

de.anvi.croatoan.

Source

initscr.lisp.

Methods
Method: closed-p ((s screen))
Generic Function: color-pair (object)

Return the color pair of the object as a 2-element list (fg bg).

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: color-pair (object)
Generic Function: (setf color-pair) (object)

Set the color pair of the object by setting the fgcolor and bgcolor properties.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: (setf color-pair) ((win window))
Method: (setf color-pair) (object)
Generic Function: column-widths (obj dimensions)
Package

de.anvi.croatoan.

Source

grid.lisp.

Methods
Method: column-widths ((obj list) dimensions)

Take a list of objects, return a list of max widths of every column.

Method: column-widths ((obj array) dimensions)

Take a table (2D array), return a list of max widths of every column.

Generic Reader: complex-char-array (object)
Generic Writer: (setf complex-char-array) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: complex-char-array ((complex-string complex-string))
Writer Method: (setf complex-char-array) ((complex-string complex-string))

Lisp primitive string type.

Source

character.lisp.

Target Slot

complex-char-array.

Generic Function: concat-complex-string (a b &key color-attributes-contagion)

Return a new ‘complex-string’ that is the result of concatenating ‘a’ and ’b’.

If ‘color-attributes-contagion’ is non nil, ‘b’ will inherit all the attributes and color of the last element of ‘a’.

Package

de.anvi.croatoan.

Source

character.lisp.

Methods
Method: concat-complex-string ((a complex-string) (b complex-string) &key color-attributes-contagion)

Concatenate and return two ‘complex-strings’ ‘a’ and ‘b’.

If ‘color-attributes-contagion’ is non nil ‘b’ will inherit all the attributes and color of the last element of ‘a’.

Method: concat-complex-string ((a sequence) (b complex-string) &key color-attributes-contagion)

Return a complex string that is the result of concatenating ‘a’ (string) and ‘b’ (complex-string).

If ‘color-attributes-contagion’ is non nil, ‘a’ will inherit all the
attributes and color of the first element of ‘b’.

Method: concat-complex-string ((a complex-string) (b sequence) &key color-attributes-contagion)

Return a complex string that is the results of concatenating of ‘a’ (a ‘complex-string’) and ‘b’ (a string).

If ‘color-attributes-contagion’ is non nil ‘b’ will inherit all the
attributes and color of the last element of ‘a’.

Generic Function: convert-char (char result-type)

Take a char and convert it to a char of result-type.

Package

de.anvi.croatoan.

Source

attr.lisp.

Methods
Method: convert-char ((char integer) result-type)
Method: convert-char ((char character) result-type)
Method: convert-char ((char complex-char) result-type)
Generic Reader: coordinates (object)
Generic Writer: (setf coordinates) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: coordinates ((shape shape))
Writer Method: (setf coordinates) ((shape shape))

A list of coordinates relative to the origin that form this shape.

Source

shape.lisp.

Target Slot

coordinates.

Generic Function: current-item (collection)

Return the current object from the collection.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: current-item (collection)
Method: current-item ((obj layout))

If n is the current item number, return the nth leaf of a layout tree.

Source

grid.lisp.

Generic Reader: current-item-mark (object)
Package

de.anvi.croatoan.

Methods
Reader Method: current-item-mark ((menu menu))

A string prefixed to the current item in the menu.

Source

menu.lisp.

Target Slot

current-item-mark.

Generic Function: cursor-position (window)
Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: cursor-position ((win window))
Generic Function: (setf cursor-position) (window)
Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: (setf cursor-position) ((win window))
Generic Function: cursor-position-x (window)
Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Reader Method: cursor-position-x ((textarea textarea))

X position (column) in the textarea window where the next character will be added.

Source

textarea.lisp.

Target Slot

cursor-position-x.

Method: cursor-position-x ((win window))
Generic Function: (setf cursor-position-x) (window)
Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Writer Method: (setf cursor-position-x) ((textarea textarea))

X position (column) in the textarea window where the next character will be added.

Source

textarea.lisp.

Target Slot

cursor-position-x.

Method: (setf cursor-position-x) ((win window))
Generic Function: cursor-position-y (window)
Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Reader Method: cursor-position-y ((textarea textarea))

Y position (row) in the textarea window where the next character will be added.

Source

textarea.lisp.

Target Slot

cursor-position-y.

Method: cursor-position-y ((win window))
Generic Function: (setf cursor-position-y) (window)
Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Writer Method: (setf cursor-position-y) ((textarea textarea))

Y position (row) in the textarea window where the next character will be added.

Source

textarea.lisp.

Target Slot

cursor-position-y.

Method: (setf cursor-position-y) ((win window))
Generic Function: cursor-visible-p (window)
Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: cursor-visible-p ((screen screen))
Generic Function: (setf cursor-visible-p) (screen)
Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: (setf cursor-visible-p) ((screen screen))
Generic Reader: cyclicp (object)
Generic Writer: (setf cyclicp) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: cyclicp ((collection collection))
Writer Method: (setf cyclicp) ((collection collection))

If true, the first element is selected after the last.

Source

classes.lisp.

Target Slot

cyclicp.

Generic Function: delete-function-key (object)

Delete one or more (code . key) mappings from *key-alist*.

Package

de.anvi.croatoan.

Source

getch.lisp.

Methods
Method: delete-function-key ((key key))

Take a key struct, delete the mapping (code . key) from *key-alist*.

Method: delete-function-key ((key-code integer))

Delete the key with the given unique code from *key-alist*.

Method: delete-function-key ((key-name symbol))

Delete all keys with the given keyword name from *key-alist*.

Since more than one key can have the same name, becuse key structs can have different modifier slots, all the keys with the given name are deleted.

Generic Function: delete-next-char (object)

Delete the next char (the char under the cursor), without moving the cursor.

Instead of moving the cursor, the rest of the line is moved one cell to the left.

Package

de.anvi.croatoan.

Source

field.lisp.

Methods
Method: delete-next-char ((area textarea))
Source

textarea.lisp.

Method: delete-next-char ((field field))

Delete the next char (char under the cursor) in the field, not moving the cursor.

Generic Function: delete-previous-char (object)

Delete the previous char, moving the cursor to the left.

Package

de.anvi.croatoan.

Source

field.lisp.

Methods
Method: delete-previous-char ((area textarea))
Source

textarea.lisp.

Method: delete-previous-char ((field field))

Delete the previous char in the field, moving the cursor to the left.

Generic Function: dequeue (queue)
Package

de.anvi.croatoan.

Source

queue.lisp.

Methods
Method: dequeue ((queue simple-queue))

Pop of the first element of queue and return it, returns NIL when queue is empty.

Method: dequeue ((queue queue))

Pop of the first element of queue and return it, returns NIL when queue is empty

Generic Function: dimensions (object)

Return a two-element list with the height and width of the object.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: dimensions (object)
Generic Function: (setf dimensions) (object)

Take a list (height width) and an object, set its height and width.

The default method just sets the slots height and width of a widget, so call-next-method should be called for ncurses-based widgets in addition to underlying ncurses calls.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: (setf dimensions) ((win window))
Method: (setf dimensions) (object)
Generic Function: draw (object)

Draw objects (form, field, menu) to their associated window.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: draw ((obj dropdown))
Source

dropdown.lisp.

Method: draw ((area textarea))
Source

textarea.lisp.

Method: draw ((field field))

Clear and redraw the field and its contents and background.

Source

field.lisp.

Method: draw ((win form-window))

Draw the the border and the title, then the form.

Source

form.lisp.

Method: draw ((win extended-window))

Draw the background window, and the title and the border if they are given.

Source

form.lisp.

Method: draw ((form form))

Draw the form by drawing the elements, then moving the cursor to the current element.

Source

form.lisp.

Method: draw ((checkbox checkbox))
Source

form.lisp.

Method: draw ((button button))
Source

form.lisp.

Method: draw ((obj label))
Source

form.lisp.

Method: draw ((menu menu-window))

Draw the menu to position (0 0) of its window.

Source

menu.lisp.

Method: draw ((menu menu))

Draw the menu to its associated window.

Source

menu.lisp.

Generic Function: elements (obj)
Package

de.anvi.croatoan.

Methods
Method: elements ((obj form))
Source

classes.lisp.

Generic Function: (setf elements) (obj)
Package

de.anvi.croatoan.

Methods
Method: (setf elements) ((obj form))
Source

classes.lisp.

Generic Function: enqueue (item queue)
Package

de.anvi.croatoan.

Source

queue.lisp.

Methods
Method: enqueue (item (queue simple-queue))

Push a new item onto the tail of the queue, return the new item.

Method: enqueue (item (queue queue))

Push a new item onto the tail of the queue, return the new item.

Generic Reader: event-code (object)
Package

de.anvi.croatoan.

Methods
Reader Method: event-code ((event event))

Integer code representing the character or function key as returned by ncurses:getch or get_wch.

Source

classes.lisp.

Target Slot

code.

Generic Reader: event-key (object)
Package

de.anvi.croatoan.

Methods
Reader Method: event-key ((event event))

Lisp character representing a character key or key struct representing a function key or mouse button.

Source

classes.lisp.

Target Slot

key.

Generic Function: fgcolor (object)
Package

de.anvi.croatoan.

Methods
Method: fgcolor ((win window))
Source

classes.lisp.

Reader Method: fgcolor ((complex-char complex-char))

A keyword denoting the foreground color of the complex character.

Source

character.lisp.

Target Slot

fgcolor.

Generic Function: (setf fgcolor) (object)
Package

de.anvi.croatoan.

Methods
Method: (setf fgcolor) ((win window))
Source

classes.lisp.

Writer Method: (setf fgcolor) ((complex-char complex-char))

A keyword denoting the foreground color of the complex character.

Source

character.lisp.

Target Slot

fgcolor.

Generic Function: frame-rate (obj)

Set the frame rate of the event loop in fps (frames per second).

If the widget is a window, this sets the input-blocking duration of the window.

If the widget is not a window (for example a menu, form or element), setting the frame rate essentially sets the input-blocking duration of its associated window.

We have the following relation between the frame rate and the blocking duration:

If the frame rate is nil (default) or 0, input blocking is t (default).

If the frame rate is an integer below 2000, the blocking is 1000/rate miliseconds.

If the frame rate is greater or equal than 2000 fps, the blocking is nil.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: frame-rate ((win window))

Return the frame-rate of a window from its input blocking delay.

blocking frame-rate
t nil
nil 2000
100 1000/100

Method: frame-rate (obj)

If the object is not a window, return the frame rate of its underlying window.

Generic Function: (setf frame-rate) (obj)

Set the frame rate of a window or a widget.

A non-nil frame rate implies non-blocking delayed input.

Setting the frame rate sets the input-blocking delay of a window.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: (setf frame-rate) ((win window))

Set the input blocking by setting the frame rate in fps (frames per second).

If the frame rate is nil or 0, input blocking is t.

If the frame rate is a number below 2000, the blocking delay is 1000/rate ms.

If the frame rate is greater or equal than 2000, the blocking is nil.

frame-rate blocking
nil,0 t
<2000 1000/frame-rate
>=2000 nil

Method: (setf frame-rate) (obj)

If the widget is not a window, set the delay of its associated window.

Generic Function: function-keys-enabled-p (window)

If t, function keys will be recognized when returned by get-char.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: function-keys-enabled-p ((window window))
Generic Function: (setf function-keys-enabled-p) (window)

If flag is t, bind function keys to known codes when returned by get-char.

If flag is nil, F keys will be system-dependent multi-character escape codes.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: (setf function-keys-enabled-p) ((window window))
Generic Function: geometry (object)

Return the geometry of the object as a list (y x width height).

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: geometry ((object window))

Return the geometry (y x h w) as returned by ncurses, not the slots.

Method: geometry ((object layout))
Method: geometry (object)
Generic Function: (setf geometry) (object)

Set the geometry (y x width height) of the object.

The default method sets the slots of the object.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: (setf geometry) ((win window))
Method: (setf geometry) ((object layout))
Method: (setf geometry) (object)
Generic Function: get-wide-event (object)

Return a single user input event and its code as a second value.

If the object is not a window, the event is read from the object’s associated window.

An event can be a lisp character or a keyword representing a function or mouse key.

If input-blocking is nil for the window, return nil if no key was typed.

Package

de.anvi.croatoan.

Source

get_wch.lisp.

Methods
Method: get-wide-event ((object form-window))
Method: get-wide-event ((object window))

Return a single user input event and its code as a second value.

An event can be a lisp character or a keyword representing a function or mouse key.

If input-blocking is nil for the window, return nil if no key was typed.

Method: get-wide-event (object)

Default method: Read an event from the window associated with object.

Generic Function: height (object)

Return the height of the object.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Reader Method: height ((textarea textarea))

The height (number of visible lines) of the textarea. The area can be scrolled vertically.

Source

textarea.lisp.

Target Slot

height.

Method: height ((obj field))
Source

field.lisp.

Method: height ((obj menu))
Source

menu.lisp.

Method: height ((obj symbol))
Method: height ((obj number))
Method: height ((obj string))
Method: height ((obj (eql nil)))
Method: height ((obj label))

If the label was given an explicit height, return the given height.

Otherwise calculate the height from the displayed text.

Method: height ((obj button))
Method: height ((window window))
Method: height (object)
Method: height ((obj layout))

The height of a layout consists of the max heights of the rows and the gaps between them.

Source

grid.lisp.

Generic Function: (setf height) (object)

Resize the object to have the new height.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Writer Method: (setf height) ((textarea textarea))

The height (number of visible lines) of the textarea. The area can be scrolled vertically.

Source

textarea.lisp.

Target Slot

height.

Method: (setf height) ((win window))
Method: (setf height) (object)

The default method sets the height slot of the object.

Generic Reader: hooks (object)
Generic Writer: (setf hooks) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: hooks ((component component))
Writer Method: (setf hooks) ((component component))

Alist of hooks registered with the object.

Source

classes.lisp.

Target Slot

hooks.

Generic Function: input-blocking (window)
Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: input-blocking ((window window))
Generic Function: (setf input-blocking) (window)
Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: (setf input-blocking) ((window window))
Generic Function: input-buffering-p (screen)
Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: input-buffering-p ((screen screen))
Generic Function: (setf input-buffering-p) (screen)
Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: (setf input-buffering-p) ((screen screen))
Generic Function: input-echoing-p (screen)
Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: input-echoing-p ((screen screen))
Generic Function: (setf input-echoing-p) (screen)

Set whether chars will be echoed on input.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: (setf input-echoing-p) ((screen screen))
Generic Reader: insert-mode-p (object)
Generic Writer: (setf insert-mode-p) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: insert-mode-p ((textarea textarea))
Writer Method: (setf insert-mode-p) ((textarea textarea))

Printing a new char will insert (t, default) it before the character under the cursor instead of overwriting it (nil).

Source

textarea.lisp.

Target Slot

insert-mode-p.

Reader Method: insert-mode-p ((field field))
Writer Method: (setf insert-mode-p) ((field field))

Printing a new char will insert (t) it before the character under the cursor instead of overwriting it (nil, default).

Source

field.lisp.

Target Slot

insert-mode-p.

Reader Method: insert-mode-p ((window window))
Writer Method: (setf insert-mode-p) ((window window))

Printing a new char will insert (t) it before the character under the cursor instead of overwriting it (nil, default).

Source

classes.lisp.

Target Slot

insert-mode-p.

Generic Function: items (object)
Package

de.anvi.croatoan.

Methods
Method: items ((obj collection))

The children of a collection can be accessed as items.

Source

classes.lisp.

Reader Method: items ((stack stack))

List containing the items.

Source

stack.lisp.

Target Slot

items.

Generic Function: (setf items) (object)
Package

de.anvi.croatoan.

Methods
Method: (setf items) ((obj collection))

The children of a collection can be accessed as items.

Source

classes.lisp.

Writer Method: (setf items) ((stack stack))

List containing the items.

Source

stack.lisp.

Target Slot

items.

Generic Function: key-to-string (key)

Return a string representing the key.

The key can be a printable character, a control character or a function key.

In particular:

- A printable character becomes a string containing that character (e.g. #a -> "a");

- A control character becomes a string with the (upcased) character prefixed with the caret character (#^). (e.g Control-j -> "^J")

- A keyword becomes a string.
Note that the key names returned by ncurses in general do not correspond to the key names used by croatoan.

KEY_LEFT vs LEFT
KEY_F(1) vs F1
kLFT5 vs CTRL-LEFT

See: https://en.wikipedia.org/wiki/Control_character#How_control_characters_map_to_keyboards

Package

de.anvi.croatoan.

Source

util.lisp.

Methods
Method: key-to-string ((key integer))

Take the integer code representing a character, return a string representing that character in ncurses/terminfo.

Method: key-to-string ((key character))

Take a lisp character, return a string representing that character in ncurses/terminfo.

Control characters are represented in caret notation, for example ^J.

Method: key-to-string ((key-name symbol))

Take a keyword representing a croatoan function key name, return the corresponding ncurses/terminfo name as a string.

Method: key-to-string ((key key))

Take a key struct, return the ncurses/terminfo name as a string.

Generic Reader: keymap (object)
Generic Writer: (setf keymap) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: keymap ((component component))
Writer Method: (setf keymap) ((component component))

Keymap containing the key bindings to be used by run-event-loop instead
of the object’s own bindings. If using an instance-local binding isn’t sufficient, we can create an external keymap and reference it in the object.

Source

classes.lisp.

Target Slot

keymap.

Generic Reader: layout (object)
Generic Writer: (setf layout) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: layout ((form form))
Writer Method: (setf layout) ((form form))

The elements of a form can be passed in a layout object.

Source

classes.lisp.

Target Slot

layout.

Generic Function: mark-for-refresh (win &rest args)

Mark a window for a later refresh.

Copy a window to the virtual screen, but do not display it on the visible physical screen.

After all windows are marked, call refresh-marked to display all marked refreshes.

refresh = mark + refresh-marked

The goal of this batch refresh is improved efficiency and preventing flicker that might occur if several refreshes are called in sequence.

Package

de.anvi.croatoan.

Source

refresh.lisp.

Methods
Method: mark-for-refresh ((win panel) &rest args)

Refreshing a panel also refreshes its shadow and border, if existing.

Method: mark-for-refresh ((win pad) &rest args)

A pad requires 6 additional arguments to be refreshed.

The additional arguments are required to specify which part of the pad should be displayed and on which position on the screen.

All 6 arguments have to be given, otherwise an error is signalled. We don’t have default arguments.

Method: mark-for-refresh ((win window) &rest args)

A window does not require any additional arguments to be refreshed.

Generic Reader: max-buffer-length (object)
Generic Writer: (setf max-buffer-length) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: max-buffer-length ((field field))
Writer Method: (setf max-buffer-length) ((field field))

Max length of the field buffer. If nil, it will be initialized to field width. Horizontal scrolling is then disabled.

Source

field.lisp.

Target Slot

max-buffer-length.

Generic Reader: max-item-length (object)
Generic Writer: (setf max-item-length) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: max-item-length ((menu menu))
Writer Method: (setf max-item-length) ((menu menu))

If the variable column width is nil, this is the default width of all items.

If the variable column width is t, the width of every column is calculated from the item titles and the columns exceeding max item length are ellipsized or truncated.

Source

menu.lisp.

Target Slot

max-item-length.

Generic Reader: menu-type (object)
Generic Writer: (setf menu-type) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: menu-type ((menu menu))
Writer Method: (setf menu-type) ((menu menu))

Types of menus: :selection (default) or :checklist.

Source

menu.lisp.

Target Slot

menu-type.

Generic Function: move-down (obj)

Move the current grid position one cell downwards.

Package

de.anvi.croatoan.

Source

grid.lisp.

Methods
Method: move-down ((obj menu))
Source

menu.lisp.

Method: move-down ((grid grid))
Generic Function: move-left (obj)

Move the current grid position one cell to the left.

Package

de.anvi.croatoan.

Source

grid.lisp.

Methods
Method: move-left ((obj menu))
Source

menu.lisp.

Method: move-left ((grid grid))
Generic Function: move-next-char (object)

Move the cursor to the next char.

Package

de.anvi.croatoan.

Source

form.lisp.

Methods
Method: move-next-char ((area textarea))

Move the cursor to the next char in the textarea.

Source

textarea.lisp.

Method: move-next-char ((field field))

Move the cursor to the next char in the field.

Source

field.lisp.

Method: move-next-char (object)

The default method does nothing.

Generic Function: move-previous-char (object)

Move the cursor to the previous character.

Package

de.anvi.croatoan.

Source

form.lisp.

Methods
Method: move-previous-char ((area textarea))

Move the cursor to the previous char in the textarea.

Source

textarea.lisp.

Method: move-previous-char ((field field))

Move the cursor to the previous char in the field.

Source

field.lisp.

Method: move-previous-char (object)

The default method does nothing.

Generic Function: move-right (obj)

Move the current grid position one cell to the right.

Package

de.anvi.croatoan.

Source

grid.lisp.

Methods
Method: move-right ((obj menu))
Source

menu.lisp.

Method: move-right ((grid grid))
Generic Function: move-up (obj)

Move the current grid position one cell upwards.

Package

de.anvi.croatoan.

Source

grid.lisp.

Methods
Method: move-up ((obj menu))
Source

menu.lisp.

Method: move-up ((grid grid))
Generic Reader: name (object)
Package

de.anvi.croatoan.

Methods
Reader Method: name ((component component))

Optional unique name by which the object can be identified and accessed. If the title is t, the name is displayed instead of the title.

Source

classes.lisp.

Target Slot

name.

Generic Function: newline-translation-enabled-p (screen)
Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: newline-translation-enabled-p ((screen screen))
Generic Function: (setf newline-translation-enabled-p) (screen)

If status is t, enable translation of RET to NL on input, and NL to RET and LF on output.

It is enabled by default.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: (setf newline-translation-enabled-p) ((screen screen))
Generic Reader: origin-x (object)
Generic Writer: (setf origin-x) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: origin-x ((shape shape))
Writer Method: (setf origin-x) ((shape shape))

The x coordinate of this shape’s point of origin.

Source

shape.lisp.

Target Slot

origin-x.

Generic Reader: origin-y (object)
Generic Writer: (setf origin-y) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: origin-y ((shape shape))
Writer Method: (setf origin-y) ((shape shape))

The y coordinate of this shape’s point of origin.

Source

shape.lisp.

Target Slot

origin-y.

Generic Reader: parent (object)
Generic Writer: (setf parent) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: parent ((node node))
Writer Method: (setf parent) ((node node))

Pointer to the parent object.

Source

classes.lisp.

Target Slot

parent.

Reader Method: parent ((element element))
Writer Method: (setf parent) ((element element))

Parent form of the element. Added to every element upon the initialization of the form.

Source

classes.lisp.

Target Slot

parent.

Reader Method: parent ((keymap keymap))
Writer Method: (setf parent) ((keymap keymap))

Parent keymaps given as a symbol name or keymap object.

Source

classes.lisp.

Target Slot

parent.

Generic Reader: plot-char (object)
Generic Writer: (setf plot-char) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: plot-char ((shape shape))
Writer Method: (setf plot-char) ((shape shape))

The character to use for plotting.

Source

shape.lisp.

Target Slot

plot-char.

Generic Function: position-x (object)

Return the x position (column) of the top left corner of the widget.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: position-x ((win sub-window))
Method: position-x ((win window))
Method: position-x (object)
Generic Function: (setf position-x) (object)

Set the x position (column) of the top left corner of the widget.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: (setf position-x) ((win window))
Method: (setf position-x) (object)
Generic Function: position-y (object)

Return the y position (row) of the top left corner of the widget.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: position-y ((win sub-window))
Method: position-y ((win window))
Method: position-y (object)
Generic Function: (setf position-y) (object)

Set the y position (row) of the top left corner of the widget.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: (setf position-y) ((win window))
Method: (setf position-y) (object)
Generic Function: process-control-chars-p (screen)
Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: process-control-chars-p ((screen screen))
Generic Function: (setf process-control-chars-p) (screen)
Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: (setf process-control-chars-p) ((screen screen))
Generic Function: refresh (obj &rest args)

Redisplay the object after changes have been made to it.

Copy the object to the virtual screen, then updates the visible physical screen by the contents of the virtual screen.

Package

de.anvi.croatoan.

Source

stack.lisp.

Methods
Method: refresh ((pad pad) &rest args)

A pad requires 6 additional arguments to be refreshed.

The additional arguments are required to specify which part of the pad should be displayed and on which position on the screen.

The top-left corner of the rectangular area of the pad to be displayed.

1. pad-min-y
2. pad-min-x

The top-left and bottom-right corner of the screen where the pad should be displayed.

3. screen-min-y
4. screen-min-x

5. screen-max-y
6. screen-max-y

All 6 arguments have to be given, otherwise an error is signalled. There are no default arguments.

Source

refresh.lisp.

Method: refresh ((win window) &rest args)

Redisplay the window after changes have been made to it.

Copies a window to the virtual screen, then updates the visible physical screen by the contents of the virtual screen.

Only updates the changed parts of the window. In order to redraw the whole window, it has to be explicitely touched or marked for redraw.

A window does not require any additional arguments to be refreshed. Any provided additional arguments are ignored.

Source

refresh.lisp.

Method: refresh ((win panel) &rest args)
Source

classes.lisp.

Method: refresh ((stack stack) &rest args)

Touch and refresh visible windows in the window stack.

The windows are refreshed in the order they are added, so that if the windows overlap, the window added last will be displayed on top.

Generic Function: remove-item (collection &optional number)
Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: remove-item ((obj collection) &optional number)

Remove the item given by its number from the collection list.

If the item number is not given, remove the current element.

Current number is decreased when we remove an item before the current or when we remove the last item, when it is current.

Generic Function: reset (object)

Clear user-editable form elements and reset its internal buffers and pointers.

Package

de.anvi.croatoan.

Source

form.lisp.

Methods
Method: reset ((obj dropdown))
Source

dropdown.lisp.

Method: reset ((area textarea))

Clear the textarea and reset its internal buffers and pointers.

Source

textarea.lisp.

Method: reset ((field field))
Source

field.lisp.

Method: reset ((form form))
Generic Function: row-heights (obj dimensions)
Package

de.anvi.croatoan.

Source

grid.lisp.

Methods
Method: row-heights ((obj list) dimensions)

Take a list of objects, return a list of max heights of every row.

Method: row-heights ((obj array) dimensions)
Generic Function: scrolling-enabled-p (window)

If t, scrolling is enabled.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: scrolling-enabled-p ((window window))
Generic Function: (setf scrolling-enabled-p) (window)

Enables and disables window scrolling.

If flag is t, when the curses moves below the bottom line of a window or scrolling region, the window/region is scrolled.

If flag is nil, the cursor is left on the bottom line.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: (setf scrolling-enabled-p) ((window window))
Generic Function: scrolling-region (window)
Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: scrolling-region ((window window))
Generic Function: (setf scrolling-region) (window)
Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: (setf scrolling-region) ((window window))
Generic Function: select (obj)
Package

de.anvi.croatoan.

Source

menu.lisp.

Methods
Method: select ((menu menu-window))

Display the menu, let the user select an item, return the selected item.

If the selected item is a menu object, recursively display the sub menu.

Method: select ((obj menu))
Generic Function: select-first-item (collection)

Select the first item in the collection.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: select-first-item (collection)
Generic Function: select-last-item (collection)

Select the last item in the collection.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: select-last-item (collection)
Generic Function: select-next-item (collection)

Select the next item in the collection.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: select-next-item ((form form))

Select the next element in a form’s element list.

Source

form.lisp.

Method: select-next-item (collection)
Method: select-next-item ((obj layout))
Source

grid.lisp.

Generic Function: select-previous-item (collection)

Select the previous item in the collection.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: select-previous-item ((form form))

Select the previous element in a form’s element list.

Source

form.lisp.

Method: select-previous-item (collection)
Method: select-previous-item ((obj layout))
Source

grid.lisp.

Generic Reader: selectedp (object)
Generic Writer: (setf selectedp) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: selectedp ((element element))
Writer Method: (setf selectedp) ((element element))

Flag denoting whether the element is currently selected in a form.

Source

classes.lisp.

Target Slot

selectedp.

Generic Reader: selection-callback (object)
Generic Writer: (setf selection-callback) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: selection-callback ((collection collection))
Writer Method: (setf selection-callback) ((collection collection))

Function called when a new item is selected.

Source

classes.lisp.

Target Slot

selection-callback.

Generic Reader: simple-char (object)
Generic Writer: (setf simple-char) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: simple-char ((complex-char complex-char))
Writer Method: (setf simple-char) ((complex-char complex-char))

Lisp primitive character type, like #a.

Source

character.lisp.

Target Slot

simple-char.

Generic Function: (setf source-position) (sub-window)

Set the position of the parent window that will be mirrored in the sub-window.

By default it is identical to the position of the sub-window.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: (setf source-position) ((w sub-window))
Generic Function: stackedp (win)
Package

de.anvi.croatoan.

Methods
Method: stackedp ((win window))
Source

classes.lisp.

Generic Function: (setf stackedp) (win)
Package

de.anvi.croatoan.

Methods
Method: (setf stackedp) ((win window))

Add or remove the window to the global window stack.

Source

classes.lisp.

Generic Function: style (object)
Package

de.anvi.croatoan.

Methods
Method: style ((element element))

If the element’s style slot is empty, check whether a default style has been defined in the parent form.

Source

classes.lisp.

Reader Method: style ((component component))

A style is a plist with properties relevant to the rendering of an object.

The basic style corresponds to the slots of a complex-char:
:fgcolor, :bgcolor, :attributes and :simple-char

Currently, the compound styles for the following objects can be set:

form:
A plist of default styles for each form element type.

menu (styles of the menu items)
:foreground, :background, :selected-foreground, :selected-background

The default style of the selected item is the attribute :reverse,
and nil for other items.

button, checkbox:
:foreground and :selected-foreground.

field, textarea:
:foreground, :background, :selected-foreground, :selected-background.

Source

classes.lisp.

Target Slot

style.

Generic Function: (setf style) (object)
Package

de.anvi.croatoan.

Methods
Method: (setf style) ((win panel))
Source

classes.lisp.

Method: (setf style) ((win extended-window))
Source

classes.lisp.

Method: (setf style) ((win window))
Source

classes.lisp.

Writer Method: (setf style) ((component component))

A style is a plist with properties relevant to the rendering of an object.

The basic style corresponds to the slots of a complex-char:
:fgcolor, :bgcolor, :attributes and :simple-char

Currently, the compound styles for the following objects can be set:

form:
A plist of default styles for each form element type.

menu (styles of the menu items)
:foreground, :background, :selected-foreground, :selected-background

The default style of the selected item is the attribute :reverse,
and nil for other items.

button, checkbox:
:foreground and :selected-foreground.

field, textarea:
:foreground, :background, :selected-foreground, :selected-background.

Source

classes.lisp.

Target Slot

style.

Generic Reader: sub-window (object)
Package

de.anvi.croatoan.

Methods
Reader Method: sub-window ((extended-window extended-window))

Subwindow for content, for example a menu or a form.

Source

classes.lisp.

Target Slot

sub-window.

Generic Function: text-ellipsize (object len &key truncate-string)

If object length is bigger than ‘len’, cut the last characters out.

Also replaces the last n characters (where n is the length of ‘truncate-string’) of the shortened string with ‘truncate-string’.

It defaults to ..., but can be nil or the empty string.

Package

de.anvi.croatoan.

Source

character.lisp.

Methods
Method: text-ellipsize ((object complex-string) len &key truncate-string)
Method: text-ellipsize ((object string) len &key truncate-string)
Generic Function: text-right-pad (object total-size &key padding-char)

Prepend a number of copies of ‘padding-char’ to ‘object’ so that the latter has a length equals to ‘total-size’

Package

de.anvi.croatoan.

Source

character.lisp.

Methods
Method: text-right-pad ((object complex-string) (total-size number) &key padding-char)
Method: text-right-pad ((object string) (total-size number) &key padding-char)
Generic Function: text-slice (object start &optional end)

Returns a sub-sequence of ‘object’ starting from ‘start‘ and terminating at ‘end’.

If end in nil the the sub sequence ends alt the last element of the sequence.

Package

de.anvi.croatoan.

Source

character.lisp.

Methods
Method: text-slice ((object complex-string) start &optional end)
Method: text-slice ((object string) start &optional end)
Generic Function: text-width (object)

Returns the length (in characters units) of a complex string passed as argument ‘complex-string’.

Package

de.anvi.croatoan.

Source

character.lisp.

Methods
Method: text-width ((object complex-string))
Method: text-width ((object string))
Generic Reader: title (object)
Generic Writer: (setf title) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: title ((component component))
Writer Method: (setf title) ((component component))

Title of the object to be displayed to the user. If nil, no title is displayed. If the title is t, the name is displayed.

Source

classes.lisp.

Target Slot

title.

Generic Function: touch (win)

Touching a window marks all its cells as changed.

This makes the next call to refresh rewrite whe whole window instead of only the cells that have actually been changed.

The combination of touch and refresh is required to raise overlapping windows.

Package

de.anvi.croatoan.

Source

touch.lisp.

Methods
Method: touch ((win panel))

Touching a panel also touches its shadow and border window, if existing.

Method: touch ((win window))
Generic Function: value (object)
Package

de.anvi.croatoan.

Methods
Method: value ((obj dropdown))
Source

dropdown.lisp.

Method: value ((area textarea))

If the buffer is empty, return nil, otherwise return the buffer as a string.

Source

textarea.lisp.

Method: value ((field field))

If the field buffer is empty, return nil, otherwise return the buffer as a string.

Source

field.lisp.

Method: value ((checklist checklist))

Return the list of values of the checked items.

Source

menu.lisp.

Method: value ((menu menu))

Return the value of the selected item.

Source

menu.lisp.

Reader Method: value ((element element))

Value of the element, mostly the result of the form editing.

Source

classes.lisp.

Target Slot

value.

Generic Function: (setf value) (object)
Package

de.anvi.croatoan.

Methods
Method: (setf value) ((area textarea))

Set the buffer of the area to the string new-value.

Source

textarea.lisp.

Method: (setf value) ((field field))
Source

field.lisp.

Writer Method: (setf value) ((element element))

Value of the element, mostly the result of the form editing.

Source

classes.lisp.

Target Slot

value.

Generic Reader: visiblep (object)
Generic Writer: (setf visiblep) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: visiblep ((window window))
Writer Method: (setf visiblep) ((window window))

If visible is nil, do not refresh the stacked window when refreshing the window stack.

Source

classes.lisp.

Target Slot

visiblep.

Generic Function: widget-position (object)

Return the position (y x) of the top left corner of the widget.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: widget-position ((win sub-window))
Method: widget-position ((win window))
Method: widget-position (object)

The default method returns the values of the y and x slots in a two-element list.

If both y and x slots are nil, nil is returned instead of (nil nil).

Generic Function: (setf widget-position) (object)

Set the position (y x) of the top left corner of the widget.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: (setf widget-position) ((win window))
Method: (setf widget-position) (object)

The default method sets the values of the y and x slots from a two-element list.

If position is nil, both y and x are set to nil.

Generic Function: width (object)

Return the width of the object.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: width ((obj dropdown))
Source

dropdown.lisp.

Reader Method: width ((textarea textarea))

The width (number of columns) of the textarea. The area can not be scrolled horizontally. Lines exceeding the width are soft-wrapped to the next line.
(This corresponds to the emacs behavior when truncate-lines is set to nil.)

Source

textarea.lisp.

Target Slot

width.

Reader Method: width ((field field))

The width of the field. The default buffer length is equal the width.

Source

field.lisp.

Target Slot

width.

Method: width ((obj menu))

content width = column-widths + item marks + item padding + checkbox

Source

menu.lisp.

Method: width ((obj symbol))
Method: width ((obj number))
Method: width ((obj string))
Reader Method: width ((obj label))
Target Slot

width.

Method: width ((obj (eql nil)))
Method: width ((obj button))
Method: width ((window window))
Method: width (object)
Method: width ((obj layout))

The width of a layout consists of the max widths of the columns and gaps between them.

Source

grid.lisp.

Generic Function: (setf width) (object)

Resize the object to have the new width.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Writer Method: (setf width) ((textarea textarea))

The width (number of columns) of the textarea. The area can not be scrolled horizontally. Lines exceeding the width are soft-wrapped to the next line.
(This corresponds to the emacs behavior when truncate-lines is set to nil.)

Source

textarea.lisp.

Target Slot

width.

Writer Method: (setf width) ((field field))

The width of the field. The default buffer length is equal the width.

Source

field.lisp.

Target Slot

width.

Method: (setf width) ((win window))
Method: (setf width) (object)

The default method sets the width slot of the object.

Writer Method: (setf width) ((label label))

The width of the label.

Target Slot

width.

Generic Function: window (object)
Package

de.anvi.croatoan.

Methods
Method: window ((element element))

Return the window associated with an element, which can optionally be part of a form.

If there is no window asociated with the element, return the window associated with the parent form.

Source

classes.lisp.

Reader Method: window ((form form))

Window created separately and then associated with the form.

Source

classes.lisp.

Target Slot

window.

Generic Function: (setf window) (object)
Package

de.anvi.croatoan.

Methods
Method: (setf window) ((element element))
Source

classes.lisp.

Writer Method: (setf window) ((form form))

Window created separately and then associated with the form.

Source

classes.lisp.

Target Slot

window.

Generic Function: window-position (window)

Deprecated but kept for backward compatibility, use the inherited widget-position instead.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: window-position ((win window))
Generic Function: (setf window-position) (window)
Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: (setf window-position) ((win window))
Generic Reader: winptr (object)
Package

de.anvi.croatoan.

Methods
Reader Method: winptr ((window window))

Pointer to a C/ncurses WINDOW structure after the window is created.

Source

classes.lisp.

Target Slot

winptr.


5.1.5 Standalone methods

Method: close ((stream menu-window) &key abort)
Source

menu.lisp.

Method: close ((stream sub-window) &key abort)
Source

classes.lisp.

Method: close ((stream window) &key abort)
Source

classes.lisp.

Method: close ((stream form-window) &key abort)
Source

classes.lisp.

Method: close ((win panel) &key abort)
Source

classes.lisp.

Method: close ((stream screen) &key abort)
Source

classes.lisp.

Method: close ((stream extended-window) &key abort)
Source

classes.lisp.

Method: initialize-instance :after ((form form) &key elements)
Source

classes.lisp.

Method: initialize-instance :after ((queue simple-queue) &key)
Source

queue.lisp.

Method: initialize-instance :after ((queue queue) &key)
Source

queue.lisp.

Method: initialize-instance :after ((obj layout) &key grid-gap)
Source

grid.lisp.

Method: initialize-instance ((obj msgbox) &rest initargs &key message buttons wrap-message)
Source

dialog.lisp.

Method: initialize-instance :after ((xch complex-char) &key color-pair)

If color-pair is passed as a keyword, set fgcolor and bgcolor.

Source

character.lisp.

Method: initialize-instance :after ((win menu-window) &key color-pair)
Source

menu.lisp.

Method: initialize-instance :after ((obj collection) &key items)
Source

classes.lisp.

Method: initialize-instance :after ((obj dropdown) &key items)
Source

dropdown.lisp.

Method: initialize-instance :after ((win pad) &key)
Source

classes.lisp.

Method: initialize-instance :after ((menu menu) &key item-padding)
Source

menu.lisp.

Method: initialize-instance :after ((win sub-window) &key)
Source

classes.lisp.

Method: initialize-instance :around ((win window) &key frame-rate)
Source

classes.lisp.

Method: initialize-instance :after ((win window) &key color-pair)
Source

classes.lisp.

Method: initialize-instance :after ((obj grid) &key grid-position grid-dimensions grid-geometry region-dimensions)
Source

grid.lisp.

Method: initialize-instance :after ((keymap keymap) &key)
Source

classes.lisp.

Method: initialize-instance :after ((obj widget) &key position dimensions geometry)
Source

classes.lisp.

Method: initialize-instance :after ((field field) &key)
Source

field.lisp.

Method: initialize-instance :after ((win form-window) &key)
Source

classes.lisp.

Method: initialize-instance :after ((cstr complex-string) &key string attributes fgcolor bgcolor color-pair)
Source

character.lisp.

Method: initialize-instance :after ((win sub-pad) &key)
Source

classes.lisp.

Method: initialize-instance :after ((win panel) &key)
Source

classes.lisp.

Method: initialize-instance :after ((scr screen) &key color-pair)
Source

classes.lisp.

Method: initialize-instance :after ((obj component) &key frame-rate)
Source

classes.lisp.

Method: initialize-instance :after ((win extended-window) &key)
Source

classes.lisp.

Method: initialize-instance :after ((obj element) &key margin padding border-width)
Source

classes.lisp.

Method: initialize-instance ((obj checklist) &rest initargs &key message buttons wrap-message choices)
Source

dialog.lisp.

Method: initialize-instance ((obj menubox) &rest initargs &key message buttons wrap-message choices)
Source

dialog.lisp.

Method: initialize-instance ((obj inputbox) &rest initargs &key message buttons wrap-message fields)
Source

dialog.lisp.

Method: initialize-instance :after ((obj dialog) &key center)
Source

dialog.lisp.

Method: make-load-form ((key key) &optional env)
Source

classes.lisp.

Method: make-load-form ((object complex-char) &optional environment)

Describe how complex-char objects can be serialized and loaded by the compiler.

Source

character.lisp.

Method: print-object ((obj job-error) stream)
Source

queue.lisp.

Method: print-object ((obj queue) stream)
Source

queue.lisp.

Method: print-object ((ch complex-char) stream)
Source

classes.lisp.

Method: print-object ((ch complex-char) (stream window))
Source

classes.lisp.

Method: print-object ((cstr complex-string) (stream window))
Source

classes.lisp.

Method: print-object ((str string) (stream window))
Source

classes.lisp.

Method: print-object ((ch character) (stream window))
Source

classes.lisp.

Method: print-object ((cstr complex-string) stream)
Source

classes.lisp.

Method: stream-line-column ((stream window))
Package

sb-gray.

Source

gray_streams.lisp.

Method: stream-read-char ((stream window))
Package

sb-gray.

Source

gray_streams.lisp.

Method: stream-unread-char ((stream window) (ch character))
Package

sb-gray.

Source

gray_streams.lisp.

Method: stream-write-char ((stream window) (ch complex-char))
Package

sb-gray.

Source

gray_streams.lisp.

Method: stream-write-char ((stream window) (ch character))
Package

sb-gray.

Source

gray_streams.lisp.


5.1.6 Conditions

Condition: job-error
Package

de.anvi.croatoan.

Source

queue.lisp.

Direct superclasses

error.

Direct methods

print-object.

Direct slots
Slot: form

The form that failed to execute

Initform

(quote (error "form required"))

Initargs

:form

Slot: error

The error that was signaled when form was executed

Package

common-lisp.

Initform

(quote (error "error required"))

Initargs

:error


5.1.7 Structures

Structure: key

Stuct representing a function key or a mouse button with modifier keys.

A key struct is associated with an escape sequence which is parsed by ncurses and returned from getch or get_wch as an integer code.

Every combination of a key name and the modifiers is represented by a separate code.

Supported modifiers are ctrl (C), alt (M) and shift (S).

In bindings, emacs notation is used to specify the keys which are then parsed to structs, for example C-S-M-<left>, C-<button-1-click>.

Also see: ‘bind’.

Package

de.anvi.croatoan.

Source

classes.lisp.

Direct superclasses

structure-object.

Direct methods
Direct slots
Slot: name
Type

keyword

Readers

key-name.

Writers

(setf key-name).

Slot: ctrl
Type

boolean

Readers

key-ctrl.

Writers

(setf key-ctrl).

Slot: alt
Type

boolean

Readers

key-alt.

Writers

(setf key-alt).

Slot: shift
Type

boolean

Readers

key-shift.

Writers

(setf key-shift).


5.1.8 Classes

Class: button

An element that can call a function by pressing enter (or in future, with a mouse click).

Package

de.anvi.croatoan.

Source

classes.lisp.

Direct superclasses

element.

Direct subclasses

dropdown.

Direct methods
Direct Default Initargs
InitargValue
:keymap(quote button-map)
Direct slots
Slot: callback

Callback function called when the button is activated.

Type

(or null symbol function)

Initargs

:callback

Readers

callback.

Writers

(setf callback).

Class: checkbox

A boolean element that can be checked (t) or unchecked (nil)

Package

de.anvi.croatoan.

Source

classes.lisp.

Direct superclasses

element.

Direct subclasses

menu-item.

Direct methods
Direct Default Initargs
InitargValue
:keymap(quote checkbox-map)
Direct slots
Slot: checkedp

t if the checkbox has been checked, nil if it hasn’t.

Type

boolean

Initargs

:checked

Readers

checkedp.

Writers

(setf checkedp).

Class: checklist

A checklist is a multi-selection menu with checkable items.

Package

de.anvi.croatoan.

Source

menu.lisp.

Direct superclasses

menu.

Direct methods
Direct Default Initargs
InitargValue
:menu-typechecklist
:keymap(quote checklist-map)
Class: checklist
Package

de.anvi.croatoan.dialog.

Source

dialog.lisp.

Direct superclasses

dialog.

Direct methods

initialize-instance.

Class: collection

A collection is a list keeping track of the currently selected item.

Methods on collection objects allow selecting the previous item, next item, etc. The main use is keeping track of the currently selected element in a form or a layout.

Package

de.anvi.croatoan.

Source

classes.lisp.

Direct superclasses

node.

Direct subclasses
Direct methods
Direct slots
Slot: current-item-number

Number (row major mode) of the currently selected item, nil if the list is empty.

Type

(or null integer)

Slot: selection-callback

Function called when a new item is selected.

Type

(or null symbol function)

Initargs

:selection-callback

Readers

selection-callback.

Writers

(setf selection-callback).

Slot: cyclicp

If true, the first element is selected after the last.

Type

boolean

Initargs

:cyclic

Readers

cyclicp.

Writers

(setf cyclicp).

Class: column-layout

A container of widgets organized in one column.

Package

de.anvi.croatoan.

Source

grid.lisp.

Direct superclasses

layout.

Direct methods

calculate-layout.

Direct Default Initargs
InitargValue
:grid-columns1
Class: complex-char

A complex char consists of a simple char, a list of attribute keywords and a pair of color keywords.

Package

de.anvi.croatoan.

Source

character.lisp.

Direct methods
Direct slots
Slot: simple-char

Lisp primitive character type, like #a.

Type

(or null integer character keyword)

Initargs

:simple-char

Readers

simple-char.

Writers

(setf simple-char).

Slot: attributes

List of keywords denoting attributes.

Type

(or null cons)

Initform

(quote nil)

Initargs

:attributes

Readers

attributes.

Writers

(setf attributes).

Slot: fgcolor

A keyword denoting the foreground color of the complex character.

Type

(or null keyword integer list)

Initargs

:fgcolor

Readers

fgcolor.

Writers

(setf fgcolor).

Slot: bgcolor

A keyword denoting the background color of the complex character.

Type

(or null keyword integer list)

Initargs

:bgcolor

Readers

bgcolor.

Writers

(setf bgcolor).

Class: complex-string

A complex string consists of an array of complex characters.

Package

de.anvi.croatoan.

Source

character.lisp.

Direct methods
Direct slots
Slot: complex-char-array

Lisp primitive string type.

Type

vector

Initform

(make-array 0 :element-type (quote de.anvi.croatoan:complex-char) :fill-pointer 0 :adjustable t)

Initargs

:complex-char-array

Readers

complex-char-array.

Writers

(setf complex-char-array).

Class: dropdown

A drop-down menu is a button that calls a menu-window when activated.

The selected item becomes the new title of the button and the value of the widget.

Package

de.anvi.croatoan.

Source

dropdown.lisp.

Direct superclasses

button.

Direct methods
Direct Default Initargs
InitargValue
:keymap(quote dropdown-map)
Direct slots
Slot: default-title

A string displayed as a prompt before an item is selected.

Type

string

Initform

"select..."

Slot: menu

Menu window that is displayed when the button is activated.

Type

(or null de.anvi.croatoan:menu-window)

Class: event

And event represents characters, function keys, mouse buttons and terminal resize events.

Package

de.anvi.croatoan.

Source

classes.lisp.

Direct subclasses

mouse-event.

Direct methods
Direct slots
Slot: key

Lisp character representing a character key or key struct representing a function key or mouse button.

Type

(or null integer keyword character de.anvi.croatoan:key)

Initargs

:key

Readers

event-key.

Writers

This slot is read-only.

Slot: code

Integer code representing the character or function key as returned by ncurses:getch or get_wch.

Type

(or null integer)

Initargs

:code

Readers

event-code.

Writers

This slot is read-only.

Class: field

A field is an editable part of the screen for user input. Can be part of a form.

Package

de.anvi.croatoan.

Source

field.lisp.

Direct superclasses

element.

Direct methods
Direct Default Initargs
InitargValue
:keymap(quote field-map)
Direct slots
Slot: width

The width of the field. The default buffer length is equal the width.

Type

(or null integer)

Initargs

:width

Readers

width.

Writers

(setf width).

Slot: insert-mode-p

Printing a new char will insert (t) it before the character under the cursor instead of overwriting it (nil, default).

Type

boolean

Initargs

:insert-mode

Readers

insert-mode-p.

Writers

(setf insert-mode-p).

Slot: buffer

List containing the characters in the field.

Type

(or null list)

Readers

buffer.

Writers

(setf buffer).

Slot: max-buffer-length

Max length of the field buffer. If nil, it will be initialized to field width. Horizontal scrolling is then disabled.

Type

(or null integer)

Initargs

:max-buffer-length

Readers

max-buffer-length.

Writers

(setf max-buffer-length).

Slot: display-pointer

Position in the input buffer from which n=width characters are displayed.
When max-buffer-length is greater than width, display-pointer can be greater than zero. Horizontal scrolling is then enabled.

Type

(or null integer)

Initform

0

Readers

display-pointer.

Writers

(setf display-pointer).

Slot: input-pointer

The position in the input buffer to which the next character will be written.

Type

integer

Initform

0

Readers

input-pointer.

Writers

(setf input-pointer).

Class: form

A form is a collection of elements like fields, textareas, checkboxes, menus and buttons.

Package

de.anvi.croatoan.

Source

classes.lisp.

Direct superclasses
Direct subclasses

form-window.

Direct methods
Direct Default Initargs
InitargValue
:keymap(quote form-map)
:cyclict
Direct slots
Slot: layout

The elements of a form can be passed in a layout object.

Type

(or null de.anvi.croatoan:layout)

Initargs

:layout

Readers

layout.

Writers

(setf layout).

Slot: window

Window created separately and then associated with the form.

Type

(or null de.anvi.croatoan:window)

Initargs

:window

Readers

window.

Writers

(setf window).

Class: form-window

A form window is an extended window displaying a form.

Package

de.anvi.croatoan.

Source

classes.lisp.

Direct superclasses
Direct subclasses

dialog.

Direct methods
Class: grid

Utility to track the display of items in a scrollable mxn grid, like a layout or a menu.

Package

de.anvi.croatoan.

Source

grid.lisp.

Direct subclasses

layout.

Direct methods
Direct slots
Slot: grid-row
Type

integer

Initform

0

Initargs

:grid-row

Slot: grid-column
Type

integer

Initform

0

Initargs

:grid-column

Slot: grid-rows
Type

(or null integer)

Initargs

:grid-rows

Slot: grid-columns
Type

(or null integer)

Initargs

:grid-columns

Slot: cyclicp
Type

boolean

Initargs

:cyclic

Slot: scrolling-enabled-p
Type

boolean

Initargs

:enable-scrolling

Slot: region-start-row
Type

(or null integer)

Initargs

:region-start-row

Slot: region-start-column
Type

(or null integer)

Initargs

:region-start-column

Slot: region-rows
Type

(or null integer)

Initargs

:region-rows

Slot: region-columns
Type

(or null integer)

Initargs

:region-columns

Class: inputbox

An input box provides one or more input fields and buttons to accept or cancel the input.

Package

de.anvi.croatoan.dialog.

Source

dialog.lisp.

Direct superclasses

dialog.

Direct methods

initialize-instance.

Direct Default Initargs
InitargValue
:buttons(quote ((ok . t) (cancel)))
:fields(quote (input))
Class: keymap

A keymap contains an alist of events as keys and event handlers or chained keymaps as values.

Package

de.anvi.croatoan.

Source

classes.lisp.

Direct methods
Direct slots
Slot: bindings

Alist of events and handler functions (or sub-keymaps).

When the bindings are provided not as an alist, but as an plist for convenience, convert the plist to an alist.

The plist is easier to provide when there is a large number of bindings.

Type

(or null cons)

Initargs

:bindings

Readers

bindings.

Writers

(setf bindings).

Slot: parent

Parent keymaps given as a symbol name or keymap object.

Type

(or null de.anvi.croatoan:keymap)

Initargs

:parent

Readers

parent.

Writers

(setf parent).

Class: label

A single-line string displayed at the specified position.

Package

de.anvi.croatoan.

Source

classes.lisp.

Direct superclasses

element.

Direct methods
Direct slots
Slot: reference

If the name of a reference element is specified, the element’s title will be displayed instead of the label’s. If a title for the label is explicitely provided, it overrides the title of the reference element.

Type

(or null symbol keyword string)

Initargs

:reference

Readers

reference.

Writers

(setf reference).

Slot: width

The width of the label.

Type

(or null integer)

Initargs

:width

Readers

width.

Writers

(setf width).

Slot: activep

Labels are by default not active and can not be selected when cycling through the elements.

Class: layout

A layout is a container widget containing items positioned in a grid. Layouts can be nested.

Package

de.anvi.croatoan.

Source

grid.lisp.

Direct superclasses
Direct subclasses
Direct methods
Direct slots
Slot: grid-row-gap

Gap between rows in a grid.

Type

integer

Initform

0

Initargs

:grid-row-gap

Slot: grid-column-gap

Gap between columns in a grid.

Type

integer

Initform

0

Initargs

:grid-column-gap

Class: menu

A menu is a list of items displayed in a grid that can be selected by the user.

Item types can be strings, symbols, numbers, other menus or callback functions.

Package

de.anvi.croatoan.

Source

menu.lisp.

Direct superclasses
Direct subclasses
Direct methods
Direct Default Initargs
InitargValue
:keymap(quote menu-map)
Direct slots
Slot: menu-type

Types of menus: :selection (default) or :checklist.

Type

keyword

Initform

:selection

Initargs

:menu-type

Readers

menu-type.

Writers

(setf menu-type).

Slot: current-item-position

Position (y x) of the current item in the window.

This can be used to position the cursor on the current item after the menu is drawn.

Type

(or null cons)

Initargs

:current-item-position

Readers

current-item-position.

Writers

(setf current-item-position).

Slot: current-item-mark

A string prefixed to the current item in the menu.

Type

(or string cons)

Initform

""

Initargs

:current-item-mark

Readers

current-item-mark.

Writers

This slot is read-only.

Slot: tablep

If t, table row and column lines are drawn between the items.

Type

boolean

Initargs

:table

Readers

tablep.

Writers

This slot is read-only.

Slot: item-padding-top

Additional space added to the top of the item title, with the same background style.

Type

integer

Initform

0

Initargs

:item-padding-top

Slot: item-padding-bottom

Additional space added below the item title, with the same background style.

Type

integer

Initform

0

Initargs

:item-padding-bottom

Slot: item-padding-left

Additional space added to the left of the item title, with the same background style.

Type

integer

Initform

0

Initargs

:item-padding-left

Slot: item-padding-right

Additional space added to the right of the item title, with the same background style.

Type

integer

Initform

0

Initargs

:item-padding-right

Slot: variable-column-width-p

If t, columns widths are calculated from the items.

If nil (default), use max-item-length as the width for every column.

Type

boolean

Initargs

:variable-column-width

Readers

variable-column-width-p.

Writers

This slot is read-only.

Slot: align

Set how the item titles and thus the menu columns are aligned.

Items can be aligned if they are shorter than the max-item-length or the calculated column width.

Possible values are :left (default) or :right.

Type

keyword

Initform

:left

Initargs

:align

Slot: draw-stack-p

Redraw all menus in the stack when a submenu is quit/entered, so we see the whole stack.

If nil, only one direct parent/child is redrawn, so we move through the stack one by one.

At the moment, this setting applies only to stacks of simple (non-window) menus).

Type

boolean

Initform

t

Initargs

:draw-stack

Readers

draw-stack-p.

Writers

This slot is read-only.

Slot: max-item-length

If the variable column width is nil, this is the default width of all items.

If the variable column width is t, the width of every column is calculated from the item titles and the columns exceeding max item length are ellipsized or truncated.

Type

integer

Initform

15

Initargs

:max-item-length

Readers

max-item-length.

Writers

(setf max-item-length).

Slot: ellipsis

Ellipsis/truncation string for too long item titles.

If an item title is longer than max-item-length shorten the title by replacing the last characters with the ellipsis string.

If the ellipsis is an empty string, the title will simply be truncated.

The default value is the unicode ellipsis character (of length 1), #horizontal_ellipsis (code point #x2026).

Type

string

Initform

"…"

Initargs

:ellipsis

Slot: save-selected-item-p

If nil (default) the selected item will be reset when exited.

Type

boolean

Initargs

:save-selected-item

Class: menu-item

A menu contains of a list of menu items.

Package

de.anvi.croatoan.

Source

menu.lisp.

Direct superclasses

checkbox.

Direct methods
Direct slots
Slot: value

The value of an item can be a string, a number, a sub menu or a function to be called when the item is selected.

Type

(or symbol keyword string de.anvi.croatoan:menu de.anvi.croatoan:menu-window function number)

Class: menu-window

A menu-window is a window displaying a menu.

Package

de.anvi.croatoan.

Source

menu.lisp.

Direct superclasses
Direct methods
Direct Default Initargs
InitargValue
:keymap(quote menu-window-map)
Class: menubox
Package

de.anvi.croatoan.dialog.

Source

dialog.lisp.

Direct superclasses

dialog.

Direct methods

initialize-instance.

Class: mouse-event

The class represents the ncurses MEVENT struct as returned by getmouse.

Package

de.anvi.croatoan.

Source

classes.lisp.

Direct superclasses

event.

Direct slots
Slot: position-y

The y coordinate (row) of mouse event.

Type

(or null integer)

Initargs

:y

Slot: position-x

The x coordinate (column) of the mouse event.

Type

(or null integer)

Initargs

:x

Class: msgbox

A message box displays a (wrapped) message and one default OK button.

The message is wrapped by default, but the wrapping can be disabled to display a pre-formatted text, for example.

The title of the activated button is returned, or its value, if provided.

Package

de.anvi.croatoan.

Source

dialog.lisp.

Direct superclasses

dialog.

Direct methods

initialize-instance.

Direct Default Initargs
InitargValue
:buttons(quote ((ok . t)))
Class: node

Base class for objects that can be organized in a tree, like layouts.

Package

de.anvi.croatoan.

Source

classes.lisp.

Direct subclasses

collection.

Direct methods
Direct slots
Slot: parent

Pointer to the parent object.

Initargs

:parent

Readers

parent.

Writers

(setf parent).

Slot: children

List of children.

Type

(or null cons)

Initargs

:children

Readers

children.

Writers

(setf children).

Class: pad

A pad is a window without a specified position on screen, which is specified dynamically during refresh.

Package

de.anvi.croatoan.

Source

classes.lisp.

Direct superclasses

window.

Direct subclasses

sub-pad.

Direct methods
Class: panel

A panel is a window displaying the main content decorated by a background window for the border, title and other decorations and a second window providing a shadow.

The border and the shadow are displayed outside of the content window, so they change the absolute position and dimensions of the panel.

Package

de.anvi.croatoan.

Source

classes.lisp.

Direct superclasses

window.

Direct methods
Direct slots
Slot: border-width
Type

integer

Initform

1

Initargs

:border-width

Slot: border-win

A border window for decorations like title, border, scroll bar.

Type

(or null de.anvi.croatoan:window)

Slot: shadowp

Draw (t) or don’t draw (nil, default) a shadow behind the panel.

Type

boolean

Initargs

:shadow

Slot: shadow-win

A window to provide the shadow.

Type

(or null de.anvi.croatoan:window)

Class: queue

A thread-safe FIFO queue.

Package

de.anvi.croatoan.

Source

queue.lisp.

Direct methods
Direct slots
Slot: head

Pointer to the first cons of the elements list.

Slot: tail

Pointer to the last cons of the elements list.

Slot: lock

A mutex that ensures thread-safe access to the queue from multiple threads.

Class: row-layout

A container of widgets organized in one column.

Package

de.anvi.croatoan.

Source

grid.lisp.

Direct superclasses

layout.

Direct methods

calculate-layout.

Direct Default Initargs
InitargValue
:grid-rows1
Class: screen

Represents the main window created upon screen initialisation.

Package

de.anvi.croatoan.

Source

classes.lisp.

Direct superclasses

window.

Direct methods
Direct slots
Slot: colors-enabled-p

Enable (t) or disable (nil) display of colors, if the terminal supports it.

Type

boolean

Initargs

:enable-colors

Slot: use-terminal-colors-p

Use (t) colors set by the terminal (named :terminal) as the default instead of the ncurses default white on black.

Type

boolean

Initargs

:use-terminal-colors

Slot: cursor-visible-p

Enable (t) or disable (nil) the display of a visible cursor.

Type

boolean

Initform

t

Initargs

:cursor-visible

Slot: input-echoing-p

Enable (t) or disable (nil) echoing of chars during keyboard input.

Type

boolean

Initform

t

Initargs

:input-echoing

Slot: input-buffering-p

Set whether typed characters will be returned immediately when they are typed (nil, default) or buffered until Return is typed (t).

Type

boolean

Initargs

:input-buffering

Slot: process-control-chars-p

If input-buffering is nil, set whether some control characters like ^C, ^S, ^Q, ^D will be processed (t, default) or passed directly to the program (nil).
When input-buffering is t, control chars are always processed and this option has no effect.

Type

boolean

Initform

t

Initargs

:process-control-chars

Slot: newline-translation-enabled-p

If t (default), the #return character (CR ^M r) is automatically translated to newline (NL) on input, and NL is translated to CR LF on output.
NL is the standard, system independent, portable way to end a line.
It can be either #linefeed (LF ^J n) on Linux, carriage #return on MacOS, CRLF rn on Windows. Setting newline translation to nil is necessary to be able to detect the #return key.

Type

boolean

Initform

t

Initargs

:enable-newline-translation

Slot: soft-labels-enabled-p

Use the bottom line of the terminal to display short descriptions
of the function keys F1-F12.

The default label layout is 4-4-4, which means 12 labels of 5 characters, 4 on the left, 4 in the center, 4 on the right.

Type

boolean

Initargs

:enable-soft-labels

Slot: soft-labels-layout
Type

keyword

Initform

:mode-4-4-4

Initargs

:soft-labels-layout

Slot: closed-p

Check whether the screen has been closed, without a subsequent call to refresh to reactivate it.

Type

boolean

Class: shape

A shape is a list of coordinates, relative to an origin, that can be plotted in a window.

Package

de.anvi.croatoan.

Source

shape.lisp.

Direct methods
Direct slots
Slot: origin-x

The x coordinate of this shape’s point of origin.

Type

integer

Initform

0

Initargs

:x0

Readers

origin-x.

Writers

(setf origin-x).

Slot: origin-y

The y coordinate of this shape’s point of origin.

Type

integer

Initform

0

Initargs

:y0

Readers

origin-y.

Writers

(setf origin-y).

Slot: coordinates

A list of coordinates relative to the origin that form this shape.

Type

(or null cons)

Readers

coordinates.

Writers

(setf coordinates).

Slot: plot-char

The character to use for plotting.

Type

(or null character keyword de.anvi.croatoan:complex-char)

Initform

(make-instance (quote de.anvi.croatoan:complex-char) :simple-char #\x :color-pair (quote (:white :black)) :attributes nil)

Initargs

:char

Readers

plot-char.

Writers

(setf plot-char).

Class: simple-queue

A simple FIFO queue (not thread-safe).

Package

de.anvi.croatoan.

Source

queue.lisp.

Direct methods
Direct slots
Slot: head

Pointer to the first cons of the elements list.

Slot: tail

Pointer to the last cons of the elements list.

Class: stack

Stack implementation of ncurses panels, allows management of overlapping windows.

Package

de.anvi.croatoan.

Source

stack.lisp.

Direct methods
Direct slots
Slot: items

List containing the items.

Type

(or null cons)

Initargs

:items

Readers

items.

Writers

(setf items).

Class: sub-pad

A sub-pad shares the memory and the display with a parent pad and has to be contained within it.

Package

de.anvi.croatoan.

Source

classes.lisp.

Direct superclasses

pad.

Direct methods

initialize-instance.

Direct slots
Slot: parent

The parent pad which will contain the sub-pad.

Type

(or null de.anvi.croatoan:pad)

Initargs

:parent

Class: sub-window

A sub-window shares the memory and the display with and has to be contained within a parent window.

Package

de.anvi.croatoan.

Source

classes.lisp.

Direct superclasses

window.

Direct methods
Direct slots
Slot: parent

The parent window which will contain the sub-window.

Type

(or null de.anvi.croatoan:window)

Initargs

:parent

Slot: relativep

The position of the sub-window is relative to the parent window (t) or to the screen (nil, default).

Type

boolean

Initargs

:relative

Slot: source-position

Position (y x) of the area of the parent window, which is mapped to the subwindow. By default it is identical to the position of the subwindow.

Type

(or null cons)

Initargs

:source-position

Class: textarea

A textarea is a multiline field for display and editing of texts including newlines. For now, control characters other than newline are not interpreted.
The main difference to a window is the ability to scroll the buffer.

Package

de.anvi.croatoan.

Source

textarea.lisp.

Direct superclasses

element.

Direct methods
Direct Default Initargs
InitargValue
:keymap(quote textarea-map)
Direct slots
Slot: width

The width (number of columns) of the textarea. The area can not be scrolled horizontally. Lines exceeding the width are soft-wrapped to the next line.
(This corresponds to the emacs behavior when truncate-lines is set to nil.)

Type

(or null integer)

Initargs

:width

Readers

width.

Writers

(setf width).

Slot: height

The height (number of visible lines) of the textarea. The area can be scrolled vertically.

Type

(or null integer)

Initargs

:height

Readers

height.

Writers

(setf height).

Slot: insert-mode-p

Printing a new char will insert (t, default) it before the character under the cursor instead of overwriting it (nil).

Type

boolean

Initform

t

Initargs

:insert-mode

Readers

insert-mode-p.

Writers

(setf insert-mode-p).

Slot: buffer

List containing the characters of the textarea.

Type

(or null list)

Initargs

:buffer

Readers

buffer.

Writers

(setf buffer).

Slot: display-pointer

When the area contains more lines than can be shown on screen because they exceed the given height, this points to the first line that is displayed.

Type

(or null integer)

Initform

0

Readers

display-pointer.

Writers

(setf display-pointer).

Slot: input-pointer

The row-major index in the input buffer to which the next character will be written. Can not be greater than the row-major length of the current buffer content.

Type

(or null integer)

Initform

0

Readers

input-pointer.

Writers

(setf input-pointer).

Slot: cursor-position-y

Y position (row) in the textarea window where the next character will be added.

Type

(or null integer)

Initform

0

Readers

cursor-position-y.

Writers

(setf cursor-position-y).

Slot: cursor-position-x

X position (column) in the textarea window where the next character will be added.

Type

(or null integer)

Initform

0

Readers

cursor-position-x.

Writers

(setf cursor-position-x).

Class: widget

A widget is a visible component defined by its dimensions (h w) and displayed at a given position (y x).

It represents a visible region on the screen, either a window, or a form element like a button or input field.

Package

de.anvi.croatoan.

Source

classes.lisp.

Direct superclasses

component.

Direct subclasses
Direct methods

initialize-instance.

Direct slots
Slot: position-y

The y coordinate (row) of the top left corner.

Type

integer

Initform

0

Initargs

:y

Slot: position-x

The x coordinate (column) of the top left corner.

Type

integer

Initform

0

Initargs

:x

Slot: width

The width (second, horizontal, x dimension), number of columns.

Type

(or null integer)

Initargs

:width

Slot: height

The height (first, vertical, y dimension), number of rows.

Type

(or null integer)

Initargs

:height

Slot: initial-dimension-hint

Internal variable to hold the initial dimension hint for layouts whose geometry is recalculated.

It can be either a width or height, which is interpreted by whether it is part of a row or column layout.

Type

(or null integer)

Initargs

:initial-dimension-hint

Class: window

A curses window object as returned by newwin.

Package

de.anvi.croatoan.

Source

classes.lisp.

Direct superclasses
  • fundamental-character-input-stream.
  • fundamental-character-output-stream.
  • widget.
Direct subclasses
Direct methods
Direct slots
Slot: cursor-position

The current cursor position coordinates in the form (y x).

Type

cons

Initform

(quote (0 0))

Slot: input-blocking

Input mode: blocking (t), non-blocking (nil) or blocking duration in (positive integer) miliseconds.

Type

(or boolean integer)

Initform

t

Initargs

:input-blocking

Slot: function-keys-enabled-p

Enable (t) or disable (nil) support for function keys.

Type

boolean

Initargs

:enable-function-keys

Slot: scrolling-enabled-p

Enable (t) or disable (nil) support for window scrolling.

Type

boolean

Initargs

:enable-scrolling

Slot: scrolling-region

When scrolling is enabled, only scroll the window region from line y1 to y2 given as the list (y1 y2).

Type

(or null cons)

Initargs

:scrolling-region

Slot: insert-mode-p

Printing a new char will insert (t) it before the character under the cursor instead of overwriting it (nil, default).

Type

boolean

Initargs

:insert-mode

Readers

insert-mode-p.

Writers

(setf insert-mode-p).

Slot: background

Sets a complex char with its attributes and colors as the default style of unrendered text and empty cells of the window.

Complex chars with pre-existing attributes and colors are not changed.

If the background char with attributes is set after the foreground attributes, the background attributes override the foreground attributes. To prevent this, set the background char with attributes before the foreground attributes.

Type

(or null de.anvi.croatoan:complex-char)

Initargs

:background

Slot: attributes

A list of keywords denoting attributes of new characters added to a window.

Type

(or null cons)

Initargs

:attributes

Slot: fgcolor

A keyword denoting the foreground color of new characters added to the window.

Type

(or null keyword integer list)

Initargs

:fgcolor

Slot: bgcolor

A keyword denoting the background color of new characters added to the window.

Type

(or null keyword integer list)

Initargs

:bgcolor

Slot: borderp

Draw (t) or don’t draw (nil, default) an initial border around a window. Not redrawn automatically.

Type

boolean

Initargs

:border

Readers

borderp.

Writers

This slot is read-only.

Slot: stackedp

If stacked is t, the window is added to the global window stack, so overlapping windows can be refreshed in the stacking order.

Type

boolean

Initargs

:stacked

Slot: visiblep

If visible is nil, do not refresh the stacked window when refreshing the window stack.

Type

boolean

Initform

t

Initargs

:visible

Readers

visiblep.

Writers

(setf visiblep).

Slot: winptr

Pointer to a C/ncurses WINDOW structure after the window is created.

Readers

winptr.

Writers

This slot is read-only.


5.2 Internals


5.2.1 Special variables

Special Variable: *bitmask-alist*
Package

de.anvi.croatoan.

Source

attr.lisp.

Special Variable: *color-pair-alist*
Package

de.anvi.croatoan.

Source

attr.lisp.

Special Variable: *default-color-pair*
Package

de.anvi.croatoan.

Source

attr.lisp.

Special Variable: *extended-key-caps*
Package

de.anvi.croatoan.

Source

getch.lisp.

Special Variable: *job-queue*

A queue of functions (consed to their form for debugging purposes) to be processed by the main thread to interface with ncurses.

Package

de.anvi.croatoan.

Source

queue.lisp.

Special Variable: *key-alist*
Package

de.anvi.croatoan.

Source

getch.lisp.

Special Variable: *keymaps*

An alist of available keymaps.

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Special Variable: *menu-stack*
Package

de.anvi.croatoan.

Source

menu.lisp.

Special Variable: *missing-xterm-cap-sequences*
Package

de.anvi.croatoan.

Source

getch.lisp.

Special Variable: *missing-xterm-fkey-sequences*
Package

de.anvi.croatoan.

Source

getch.lisp.

Special Variable: *mouse-button-event-bitmask-alist*
Package

de.anvi.croatoan.

Source

mouse.lisp.

Special Variable: *mouse-event-bitmask-alist*
Package

de.anvi.croatoan.

Source

mouse.lisp.

Special Variable: *valid-attributes*
Package

de.anvi.croatoan.

Source

attr.lisp.

Special Variable: *xterm-color-hex-list*
Package

de.anvi.croatoan.

Source

color.lisp.

Special Variable: *xterm-color-name-list*
Package

de.anvi.croatoan.

Source

attr.lisp.

Special Variable: acs-alist
Package

de.anvi.croatoan.

Source

addch.lisp.

Special Variable: wide-acs-alist
Package

de.anvi.croatoan.

Source

add_wch.lisp.


5.2.2 Macros

Macro: %defcdr (keymap &body body)

Take a keymap and populate it with key-value pairs given in the body.

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Macro: access-alist (key find-fn test-fn get-value-fn default)

Helper macro for ’key-name-to-code’ and ’key-code-to-name’.

Package

de.anvi.croatoan.

Source

getch.lisp.

Macro: mouse-bitmask (button event)
Package

de.anvi.croatoan.

Source

mouse.lisp.


5.2.3 Ordinary functions

Function: add-attribute (attribute)

Add a single attribute to the rendition of soft labels.

The labels maybe have to be touched for attribute changes to take effect.

Package

de.anvi.croatoan.soft-labels.

Source

slk.lisp.

Function: add-extended-function-keys ()

Check if common extended function keys are supported by the terminal.

In most cases these extended keys are existing function keys with additional modifiers.

If the keys are supported, add them to the key alist, so they can be returned as valid events.

Package

de.anvi.croatoan.

Source

getch.lisp.

Function: add-function-key-cap (cap key)

Check if a terminal supports an extended function key capability and add it to key-alist.

Package

de.anvi.croatoan.

Source

getch.lisp.

Function: add-title (win)

Draw a title to the first line of a window.

Usually, this will be an extended-window with a border and the title on the top border.

When title is t instead of a title string, display the symbol name of the widget.

Package

de.anvi.croatoan.

Source

form.lisp.

Function: alist2plist (alist)

Take an alist ((k1 . v1) (k2 . v2)), return a plist (k1 v1 kv v2).

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Function: apply-handler (handler object event args)

Determine and pass the correct arguments to each event handler.

The number of the arguments passed to the handler the arity (number of required arguments) of the handler function.

This allows handlers with the following lambda lists to be defined:

(lambda () ...)
(lambda (object) ...)
(lambda (object event) ...)

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Function: array-slice (array start &optional end)
Package

de.anvi.croatoan.

Source

character.lisp.

Function: ascii-byte-p (octet)

Return t if octet is a single-byte 7-bit ASCII char.

The most significant bit is 0, so the allowed pattern is 0xxx xxxx.

Package

de.anvi.croatoan.

Source

utf8.lisp.

Function: assoc-merge (&rest alists)

Merge alists then return an alist with duplicate entries removed.

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Function: assoc-unique (alist)

Return a copy of alist with duplicate entries (keys) removed.

Only the first (newest) unique key is kept, others are discarded.

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Function: bitmask-to-keyword (bitmask alist)

Take a bitmask and an alist, return a list of keys with bits matching the mask.

The bitmask should be a 32bit integer.

The values in alist should be 32bit integers with only one single bit switched on.

Package

de.anvi.croatoan.

Source

mouse.lisp.

Function: call-button-function (button event)
Package

de.anvi.croatoan.

Source

form.lisp.

Function: char-style (char)

Take a complex char, return a plist of its properties.

Package

de.anvi.croatoan.

Source

character.lisp.

Function: char2chtype (char)

Take a character in different forms, return a chtype containing that character.

Package

de.anvi.croatoan.

Source

attr.lisp.

Function: check-string-char (char)

If char is a string convert it to a character.

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Function: checked-items (menu)

Take a menu, return a list of checked menu items.

Package

de.anvi.croatoan.

Source

menu.lisp.

Function: chtype2xchar (ch)

Converts a ncurses chtype to croatoan complex-char.

Package

de.anvi.croatoan.

Source

attr.lisp.

Function: closest-gray (rgb)

Take an integer 0-255 denoting a gray color intensity, return the closest gray from the xterm palette.

Package

de.anvi.croatoan.

Source

color.lisp.

Function: collect-height-hints (nodes)

Take a list of plists or objects, return a list of their initial heights.

Package

de.anvi.croatoan.

Source

grid.lisp.

Function: collect-width-hints (nodes)

Take a list of plists or objects, return a list of their initial widths.

The initial widths can be given directly in the initial plist.
Is is then passed as an initial-dimension-hint to the later object.

The list of initial width hints is used by split-size in calculate-layout to calculate the widths which are still nil.

The call to initialize-leaves makes objects from the plists.

The initial-dimension-hint is then used by subsequent calls to calculate layout to recalculate all widths.

Package

de.anvi.croatoan.

Source

grid.lisp.

Function: color-1k-to-8bit (integer)

Convert the ncurses color intensity 0-1000 to the 8bit range 0-255.

Package

de.anvi.croatoan.

Source

color.lisp.

Function: color-8bit-to-1k (integer)

Convert the 8bit range 0-255 to the ncurses color intensity 0-1000.

Package

de.anvi.croatoan.

Source

color.lisp.

Function: color-name-to-number (color-name)

Take a keyword denoting a color name, return the color number.

Package

de.anvi.croatoan.

Source

attr.lisp.

Function: color-to-number (color)

Takes a color in various notations, converts that notation to the exact or most appropriate color number.

Package

de.anvi.croatoan.

Source

attr.lisp.

Function: colors2chtype (color-pair)

Take a list of a color pair, return a chtype with the color attribute set.

Package

de.anvi.croatoan.

Source

attr.lisp.

Function: complete-pair (window pair)

If either the foreground or background color is nil, complete the pair for the given window.

Return the completed pair.

Try to complete the missing colors in the following order:

1. window color pair.
2. window background character color pair.
3. ncurses default color pair 0 (white on black or the terminal default color pair).

If both colors are missing, they are substituted in the following order:

1. window color pair.
2. ncurses default color pair 0 (white on black or the terminal default color pair).

Package

de.anvi.croatoan.

Source

attr.lisp.

Function: complex-string-first-char-attributes (complex-string)

Returns the attributes of the first character of ‘complex-string’ as three values: attributes, background color and foreground color.

Package

de.anvi.croatoan.

Source

character.lisp.

Function: complex-string-last-char-attributes (complex-string)

Returns the attributes of the last character of ‘complex-string’ as three values: attributes, background color and foreground color

Package

de.anvi.croatoan.

Source

character.lisp.

Function: concat-complex-string-no-contagion (a b)

Concatenate two ‘complex-strings’: the args ‘b’ does not inherit the color and attributes of ‘a’.

Package

de.anvi.croatoan.

Source

character.lisp.

Function: concat-complex-string-with-contagion (string-1 string-2)

Concatenate two ‘complex-strings’.

The args ‘string-2’ does not inherit the color and attributes of ‘string-1’.

Package

de.anvi.croatoan.

Source

character.lisp.

Function: convert-strings (bindings-plist)

Loop over a bindings plist, convert strings to characters.

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Function: copy-complex-char (complex-char)
Package

de.anvi.croatoan.

Source

character.lisp.

Function: copy-complex-char-array (a)

Make a (non deep) copy of ‘complex-char’ array ‘a’

Package

de.anvi.croatoan.

Source

character.lisp.

Function: count-lines (str)

Take a string, return the number of lines it will need to be displayed without wrapping.

It is basically the number of newline characters plus one.

Package

de.anvi.croatoan.

Source

classes.lisp.

Function: debug-print-field-buffer (object)
Package

de.anvi.croatoan.

Source

field.lisp.

Function: debug-textarea (yy xx area)
Package

de.anvi.croatoan.

Source

textarea.lisp.

Function: distance-to-bottom (window)

Return the number of lines from the cursor position to the bottom of the window.

Package

de.anvi.croatoan.

Source

addch.lisp.

Function: distance-to-eol (window)

Return the number of columns from the cursor position to the end of the line in the window.

Package

de.anvi.croatoan.

Source

addch.lisp.

Function: distance-to-newline (area)
Package

de.anvi.croatoan.

Source

textarea.lisp.

Function: draw-table-bottom (win widths &key style)

Draw the top line of a table at the current position using ANSI drawing characters.

The bottom line is only drawn when border is t.

Package

de.anvi.croatoan.

Source

menu.lisp.

Function: draw-table-row-separator (win widths borderp &key style)

Draw the horizontal line between table cells.

Package

de.anvi.croatoan.

Source

menu.lisp.

Function: draw-table-top (win widths &key style)

Draw the top line of a table at the current position using ANSI drawing characters.

The top line is only drawn when border is t.

Package

de.anvi.croatoan.

Source

menu.lisp.

Function: emptyp (queue)
Package

de.anvi.croatoan.

Source

queue.lisp.

Function: external-dimensions (element)
Package

de.anvi.croatoan.

Source

form.lisp.

Function: format-menu-item (menu item selectedp width)

Take a menu and return item item-number as a properly formatted string.

If the menu is a checklist, return [ ] or [X] at the first position.

If a mark is set for the current item, display the mark at the second position. Display the same number of spaces for other items.

At the third position, display the item given by item-number.

Package

de.anvi.croatoan.

Source

menu.lisp.

Function: funcall-get-cchar_t (fn window)

Call function fn to read a cchar_t from window and return it as a wide complex char.

Package

de.anvi.croatoan.

Source

bkgrnd.lisp.

Function: funcall-make-cchar_t (fn window char attributes color-pair n)

Assemble a cchar_t out of a char, attributes and a color-pair.

Then apply the fn to window and the assembled cchar_t.

char can be a lisp character, an ACS keyword, an integer code point or a complex char.

attributes should be a list of valid attribute keywords.

color-pair should be a list of a foreground and background color keyword.

attributes and color-pair can be nil.

If char is a complex char, attributes and color-pair are ignored.

Package

de.anvi.croatoan.

Source

add_wch.lisp.

Function: funcall-make-cchar_t-ptr (fn winptr char attr_t color-pair-number count)

Create a cchar_t and apply function fn count times to winptr and cchar_t.

cchar_t is a C struct representing a wide complex-char in ncurses.

This function is a wrapper around setcchar and should not be used elsewhere.

Package

de.anvi.croatoan.

Source

add_wch.lisp.

Function: funcall-make-chtype (fn window char attributes color-pair n)

Assemble a chtype out of a char, attributes and a color-pair.

Apply low-level ncurses function fn count times to window and chtype.

chtype is a 32-bit integer representing a non-wide complex-char in ncurses.

char can be a lisp character, an ACS keyword, an integer code point or a complex char.

attributes should be a list of valid attribute keywords.

color-pair should be a list of a foreground and background color keyword.

attributes and color-pair can be nil.

If char is a complex char, attributes and color-pair are ignored.

Package

de.anvi.croatoan.

Source

attr.lisp.

Function: function-arity (fn)

Return the number of required arguments of the function fn.

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Function: function-lambda-list (fn)

Return the lambda list of the function object fn.

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Function: gen-unused-key-code ()

Generate and return an unused key code.

Used by define-function-key when a new escape sequence is added.

To avoid conflicts with existing ncurses code numbers, new numbers start at 1024.

Package

de.anvi.croatoan.

Source

getch.lisp.

Function: get-background-cchar_t (window)

Return the wide complex char that is the background character of the window.

Package

de.anvi.croatoan.

Source

bkgrnd.lisp.

Function: get-background-char (window)

Return the complex char that is the background character of the window.

Package

de.anvi.croatoan.

Source

bkgd.lisp.

Function: get-catch-tag (object)

Sets the proper catch tag for exiting the event loop.

If the object is an element in a form, use the form object as the catch tag.

If the object is used outside a form, use the object itself as the catch tag.

Package

de.anvi.croatoan.

Source

form.lisp.

Function: get-event-handler (object event)

Take an object and an event key, return the object’s handler for that event.

The key bindings alist is stored in the bindings slot of the object.

An external keymap can be defined so several objects can share the same set of bindings.

Object-local bindings override the external keymap. The local bindings
are checked first for a handler, then the external keymap.

If no handler is defined for the event, the default event handler t is tried. If not even a default handler is defined, the event is ignored.

If input-blocking is nil, we receive nil events in case no real events occur. In that case, the handler for the nil event is returned, if defined.

The event pairs are added by the bind function as conses: (event . #’handler).

An event should be bound to the pre-defined function exit-event-loop.

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Function: get-form-values (object)

Return an alist of the names and values of active form elements.

Buttons values are not returned, even though they are active elements.

Package

de.anvi.croatoan.

Source

form.lisp.

Function: get-geometry-plist (plist)
Package

de.anvi.croatoan.

Source

classes.lisp.

Function: get-key-event (ch)

If the event is mouse, return a mouse event, otherwise a normal event.

Package

de.anvi.croatoan.

Source

getch.lisp.

Function: gray-to-rgb (sgr)

Take a sgr gray color number 232-255, return a list of three RGB integers 0-255.

Package

de.anvi.croatoan.

Source

color.lisp.

Function: handle-events (object args)

Read a single event from the user, lookup a handler and apply it.

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Function: hex-to-rgb (hex)

Take a 24bit integer (RGB hex triplet), return a list of three 8bit (0-255) RGB values.

Package

de.anvi.croatoan.

Source

color.lisp.

Function: hex-to-sgr (hex)

Takes a RGB hex triplet, returns the exact or most appropriate SGR color code 0-255.

Package

de.anvi.croatoan.

Source

color.lisp.

Function: init-screen ()

Initializes the curses mode. Returns the main window.

Package

de.anvi.croatoan.

Source

initscr.lisp.

Function: input-pointer-x (area)

Take an input pointer (integer) and a textarea buffer (list of characters),

return the number of columns between the pointer and the first newline before the pointer.

Package

de.anvi.croatoan.

Source

textarea.lisp.

Function: keyword-to-bitmask (keys alist)

Take a key list and an alist, return a bitmask combining the values of the keys.

The values in alist should be 32bit integers with only one single bit switched on.

Package

de.anvi.croatoan.

Source

mouse.lisp.

Function: label-text (label)

Decide what text to display in a label.

If the label title was given, display the label title.

If no title was given, display the title or name of the referenced element.

Otherwise display the label name.

Package

de.anvi.croatoan.

Source

classes.lisp.

Function: lead-byte-p (octet)

Return t if octet is one of the leading bytes of an UTF-8 sequence, nil otherwise.

Allowed leading byte patterns are 0xxx xxxx, 110x xxxx, 1110 xxxx and 1111 0xxx.

Package

de.anvi.croatoan.

Source

utf8.lisp.

Function: list2array (list dimensions)

Example: (list2array ’(a b c d e f) ’(3 2)) => #2A((A B) (C D) (E F))

Package

de.anvi.croatoan.

Source

menu.lisp.

Function: make-chtype (char attributes color-pair)

Assemble a chtype out of a char, attributes and a color-pair.

char can be a lisp character, an ACS keyword, or an integer code point.

attributes should be a list of valid attribute keywords.

color-pair should be a list of a foreground and background color keyword.

attributes and color-pair can be nil.

If char is a complex char, and the attributes and color-pair are passed, they override the attributes and the color-of the complex char.

Package

de.anvi.croatoan.

Source

attr.lisp.

Function: make-dialog-button (item)

Take an item describing a dialog button, return the object.

If it is a single string, use the string as both title and value.

If it is a cons, use the cdr as the returned value.

If the car is a symbol, use it as the button name, if it’s a string, use it as the title.

Package

de.anvi.croatoan.dialog.

Source

dialog.lisp.

Function: make-dialog-layout (width message wrapp buttons &rest elements)
Package

de.anvi.croatoan.dialog.

Source

dialog.lisp.

Function: move-down-possible-p (obj)
Package

de.anvi.croatoan.

Source

menu.lisp.

Function: move-left-possible-p (obj)

Return t if a move to the left in the collection/grid is possible.

It is is possible when we are not already in the first grid column and when the new position is within collection size (row major order).

Package

de.anvi.croatoan.

Source

menu.lisp.

Function: move-right-possible-p (obj)
Package

de.anvi.croatoan.

Source

menu.lisp.

Function: move-up-possible-p (obj)
Package

de.anvi.croatoan.

Source

menu.lisp.

Function: multi-byte-p (octet)

Return t if octet is a part of a multi-byte UTF-8 sequence.

The multibyte pattern is 1xxx xxxx.

A multi-byte can be either a lead byte or a trail byte.

Package

de.anvi.croatoan.

Source

utf8.lisp.

Function: multiplep (a b)
Package

de.anvi.croatoan.

Source

textarea.lisp.

Function: n-trail-bytes (octet)

Take a leading utf-8 byte, return the number of continuation bytes 1-3.

Package

de.anvi.croatoan.

Source

utf8.lisp.

Function: new-terminal (type out-fd in-fd)

Use instead of init-screen when you want more than one terminal.

Package

de.anvi.croatoan.

Source

initscr.lisp.

Function: next-item-p (collection)

Return t if a next item can be selected, nil otherwise.

Package

de.anvi.croatoan.

Source

classes.lisp.

Function: number-to-pair (number)

Take a pair number, return a color pair in a 2 element list of keywords.

Package

de.anvi.croatoan.

Source

attr.lisp.

Function: parse-key (spec)

Take a string with zero or more key specs, return a list of events.

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Function: parse-key-spec (spec)
Package

de.anvi.croatoan.

Source

croatoan.lisp.

Function: plist2alist (plist)

Take a plist in the form (k1 v1 k2 v2), return an alist ((k1 . v1) (k2 . v2))

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Function: previous-char= (area char)

Return t if char is the previous char in the buffer of textarea.

Package

de.anvi.croatoan.

Source

textarea.lisp.

Function: previous-item-p (collection)

Return t if a previous item can be selected, nil otherwise.

Package

de.anvi.croatoan.

Source

classes.lisp.

Function: previous-line-length (buf ptr)
Package

de.anvi.croatoan.

Source

textarea.lisp.

Function: queue-items (queue)
Package

de.anvi.croatoan.

Source

queue.lisp.

Function: remove-attribute (attribute)

Remove attribute from the rendition of soft labels.

The labels maybe have to be touched for attribute changes to take effect.

Package

de.anvi.croatoan.soft-labels.

Source

slk.lisp.

Function: reset-menu (menu)

After the menu is closed reset it to its initial state.

Package

de.anvi.croatoan.

Source

menu.lisp.

Function: rgb-to-hex (rgb-list)

Take a list of three 8bit (0-255) RGB values, return a 24bit integer (RGB hex triplet).

Package

de.anvi.croatoan.

Source

color.lisp.

Function: rgb-to-rgb6 (rgb-list)

Take a list of three RGB integers 0-255, return a list of three RGB integers 0-5.

Package

de.anvi.croatoan.

Source

color.lisp.

Function: rgb6-to-rgb (rgb6-list)

Take a list of three RGB integers 0-5, return a list of three RGB integers 0-255 of the xterm color palette.

Package

de.anvi.croatoan.

Source

color.lisp.

Function: rgb6-to-sgr (rgb6-list)

Take a list of three RGB integers 0-5, return an 8bit SGR color code 16-231.

Package

de.anvi.croatoan.

Source

color.lisp.

Function: right-padding (str total-size &key padding-char)
Package

de.anvi.croatoan.

Source

character.lisp.

Function: rmi2sub (dimensions rmi)

Take array dimensions and an index in row-major order, return two subscripts.

This works analogous to cl:row-major-aref.

Example: (rmi2sub ’(2 3) 5) => (1 2)

Package

de.anvi.croatoan.

Source

menu.lisp.

Function: rotate (list count)
Package

de.anvi.croatoan.

Source

stack.lisp.

Function: run-hook (object hook)

Run functions contained in the hook in the order they were added.

The following hooks are available:

before-event-hook: run before a non-nil event is handled by event-case and run-event-loop.

after-event-hook: run after a non-nil event is handled by event-case and run-event-loop.

Package

de.anvi.croatoan.

Source

hook.lisp.

Function: select-next-element (form)
Package

de.anvi.croatoan.

Source

form.lisp.

Function: select-previous-element (form)
Package

de.anvi.croatoan.

Source

form.lisp.

Function: set-attributes (winptr attributes)

Takes a list of keywords and sets the appropriate attributes.

Overwrites any previous attribute settings including the color.

Package

de.anvi.croatoan.

Source

attr.lisp.

Function: set-background-cchar_t (window char &optional apply)

Set a wide complex character as the background of a window.

The attribute part of the background character is combined with simple characters added to the window.

If apply is t, the background setting is immediately applied to all cells in the window.

Otherwise, it is applied only to newly added simple characters.

Setting the background char after setting the window attributes overrides the window attributes.

Package

de.anvi.croatoan.

Source

bkgrnd.lisp.

Function: set-background-char (winptr xchar &optional apply)

Set a complex single-byte character as the background of a window.

The attribute part of the background character is combined with simple characters in the window.

If apply is t, the background setting is immediately applied to all cells in the window.

Otherwise, it is applied only to newly added simple characters.

Package

de.anvi.croatoan.

Source

bkgd.lisp.

Function: set-color-pair (winptr color-pair)

Sets the color attribute of the window only.

Package

de.anvi.croatoan.

Source

attr.lisp.

Function: set-current-terminal (new-screen)

Sets new-screen as the current terminal. Returns the old screen.

Package

de.anvi.croatoan.

Source

initscr.lisp.

Function: set-cursor-visibility (status)
Package

de.anvi.croatoan.

Source

kernel.lisp.

Function: set-default-color-pair (use-terminal-colors-p)
Package

de.anvi.croatoan.

Source

attr.lisp.

Function: set-equal (list-a list-b &key test key)

Compare if every element of list-a is contained in list-b.

The order of elements in lists does not matter, so the lists are actually treated as sets.

The items of the set are extracted using function ’key’ and compared using predicate ’test’.

Package

de.anvi.croatoan.

Source

character.lisp.

Function: set-geometry-plist (plist yxhw)

Take a plist and a (y x h w) geometry list, return the updated plist.

Package

de.anvi.croatoan.

Source

classes.lisp.

Function: set-input-blocking (winptr status)

Set the window input blocking behavior.

Possible values are t, nil and a blocking duration in (positive integer) miliseconds.

Package

de.anvi.croatoan.

Source

inopts.lisp.

Function: set-input-mode (input-buffering process-control-chars)
Package

de.anvi.croatoan.

Source

inopts.lisp.

Function: sgr-to-hex (sgr)

Take a SGR color code 0-255, return a 24bit hex triplet.

Package

de.anvi.croatoan.

Source

color.lisp.

Function: sgr-to-rgb6 (sgr)

Take a 8bit SGR color code 16-231, return a list of three RGB integers 0-5.

Package

de.anvi.croatoan.

Source

color.lisp.

Function: split-size (hints parent-size)

Take a list of size hints of one dimension, return a complete list.

The missing elements are denoted by nil, their size is evenly split.

Package

de.anvi.croatoan.

Source

grid.lisp.

Function: style-char (style)

Take a plist describing a character style, return a complex-char with the same properties.

The supported properties are :simple-char, :fgcolor, :bgcolor and :attributes.

The separate properties :fgcolor and :bgcolor can be passed together as a :color-pair.

Package

de.anvi.croatoan.

Source

character.lisp.

Function: sub2rmi (dimensions subs)

Take array dimensions and two subscripts, return an index in row-major order.

This works analogous to cl:array-row-major-index.

Example: (sub2rmi ’(2 3) ’(1 2)) => 5

Package

de.anvi.croatoan.

Source

menu.lisp.

Function: sync-collection-grid (obj)

Set the position in 1D collection list from the yx position in a 2D grid.

Package

de.anvi.croatoan.

Source

menu.lisp.

Function: sync-grid-collection (obj)

Set the 2D yx grid position from the 1D position in the collection list.

Package

de.anvi.croatoan.

Source

menu.lisp.

Function: test-utf-8 ()
Package

de.anvi.croatoan.

Source

utf8.lisp.

Function: textarea-add-char (area event)

Add a character to the current cursor position in textarea, then move the cursor forward.

Currently only graphic characters and newline are supported.

Package

de.anvi.croatoan.

Source

textarea.lisp.

Function: toggle-checkbox (checkbox)
Package

de.anvi.croatoan.

Source

form.lisp.

Function: tokenize-key-spec (str)

Take a single key spec, return a list with key and modifiers.

Character keys are returned as lisp characters, function keys are returned as keywords.

The modifiers ctrl, alt (meta) and shift, are returned as single character strings, C, M and S.

Examples:

C-M-S-return => (#Return S M C)

C-<backspace> => (:BACKSPACE C)

The list is then further handled by parse-key-spec, which returns a list of chars and assembled key structs.

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Function: trail-byte-p (octet)

Return t if octet is the continuation byte of an UTF-8 sequence.

The allowed continuation byte pattern is 10xx xxxx.

Package

de.anvi.croatoan.

Source

utf8.lisp.

Function: unicode-to-utf-8 (int)

Take a unicode code point, return a list of one to four UTF-8 encoded bytes (octets).

Package

de.anvi.croatoan.

Source

utf8.lisp.

Function: utf-8-to-unicode (byte-list)

Take a list of one to four utf-8 encoded bytes (octets), return a code point.

Since this decoder will only used for reading keyboard input, the sequences are not checked for illegal bytes.

Since security is not considered, this decoder should not be used for anything else.

Package

de.anvi.croatoan.

Source

utf8.lisp.

Function: vector-not-empty-p (v)
Package

de.anvi.croatoan.

Source

character.lisp.

Function: visible-dimensions (element)
Package

de.anvi.croatoan.

Source

form.lisp.

Function: visible-grid-columns (grid)
Package

de.anvi.croatoan.

Source

grid.lisp.

Function: visible-grid-rows (grid)
Package

de.anvi.croatoan.

Source

grid.lisp.

Function: xchar2chtype (ch)

Convert a croatoan complex char to an integral ncurses chtype.

Package

de.anvi.croatoan.

Source

attr.lisp.


5.2.4 Generic functions

Generic Reader: border-width-bottom (object)
Generic Writer: (setf border-width-bottom) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: border-width-bottom ((element element))
Writer Method: (setf border-width-bottom) ((element element))
Source

classes.lisp.

Target Slot

border-width-bottom.

Generic Reader: border-width-left (object)
Generic Writer: (setf border-width-left) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: border-width-left ((element element))
Writer Method: (setf border-width-left) ((element element))
Source

classes.lisp.

Target Slot

border-width-left.

Generic Reader: border-width-right (object)
Generic Writer: (setf border-width-right) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: border-width-right ((element element))
Writer Method: (setf border-width-right) ((element element))
Source

classes.lisp.

Target Slot

border-width-right.

Generic Reader: border-width-top (object)
Generic Writer: (setf border-width-top) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: border-width-top ((element element))
Writer Method: (setf border-width-top) ((element element))
Source

classes.lisp.

Target Slot

border-width-top.

Generic Function: content-position (element)
Package

de.anvi.croatoan.

Source

form.lisp.

Methods
Method: content-position ((obj menu))

Return the inner position of the content area of the menu.

content position = widget position + border + padding

Method: content-position ((element element))

Return the inner position of the content area of the element.

content position = widget position + border + padding

Generic Function: copy-complex-string (complex-string)
Package

de.anvi.croatoan.

Methods
Method: copy-complex-string (complex-string)
Source

character.lisp.

Generic Reader: current-item-position (object)
Generic Writer: (setf current-item-position) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: current-item-position ((menu menu))
Writer Method: (setf current-item-position) ((menu menu))

Position (y x) of the current item in the window.

This can be used to position the cursor on the current item after the menu is drawn.

Source

menu.lisp.

Target Slot

current-item-position.

Generic Reader: display-pointer (object)
Generic Writer: (setf display-pointer) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: display-pointer ((textarea textarea))
Writer Method: (setf display-pointer) ((textarea textarea))

When the area contains more lines than can be shown on screen because they exceed the given height, this points to the first line that is displayed.

Source

textarea.lisp.

Target Slot

display-pointer.

Reader Method: display-pointer ((field field))
Writer Method: (setf display-pointer) ((field field))

Position in the input buffer from which n=width characters are displayed.
When max-buffer-length is greater than width, display-pointer can be greater than zero. Horizontal scrolling is then enabled.

Source

field.lisp.

Target Slot

display-pointer.

Generic Reader: draw-stack-p (object)
Package

de.anvi.croatoan.

Methods
Reader Method: draw-stack-p ((menu menu))

Redraw all menus in the stack when a submenu is quit/entered, so we see the whole stack.

If nil, only one direct parent/child is redrawn, so we move through the stack one by one.

At the moment, this setting applies only to stacks of simple (non-window) menus).

Source

menu.lisp.

Target Slot

draw-stack-p.

Generic Function: external-height (element)

external-height = content height + padding + border-width

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: external-height ((obj element))

external-height = content height + padding + border-width

Source

form.lisp.

Method: external-height ((obj menu))
Source

menu.lisp.

Generic Function: external-width (element)

external-width = content width + padding + border-width

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: external-width ((obj element))

external-width = content width + padding + border-width

Source

form.lisp.

Method: external-width ((obj menu-item))
Source

menu.lisp.

Method: external-width ((obj menu))

external-width = content width + (padding + border-width) = visible-width + border-width

Source

menu.lisp.

Generic Function: format-title (object &optional beg end)

Make a title string for a widget.

Package

de.anvi.croatoan.

Source

form.lisp.

Methods
Method: format-title ((win window) &optional beg end)

If the title string is provided, use the title.

If title is t, use the name.

If title is nil, return an empty string, dont display a title.

Method: format-title ((item menu-item) &optional beg end)

If neither the title nor the name are provided, print the object as a default title.

Generic Function: handle-event (object event args)

Get the event handler from the object, then apply it to the object.

If the handler for an event is a keymap object, the handler for the next event will be looked up from that keymap. This allows for several events to be chained together.

Package

de.anvi.croatoan.

Source

croatoan.lisp.

Methods
Method: handle-event ((object form) event args)

If a form can’t handle an event, let the current element try to handle it.

Method: handle-event (object event args)

Default method. If the current keymap is not nil, lookup from that keymap.

Generic Reader: input-pointer (object)
Generic Writer: (setf input-pointer) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: input-pointer ((textarea textarea))
Writer Method: (setf input-pointer) ((textarea textarea))

The row-major index in the input buffer to which the next character will be written. Can not be greater than the row-major length of the current buffer content.

Source

textarea.lisp.

Target Slot

input-pointer.

Reader Method: input-pointer ((field field))
Writer Method: (setf input-pointer) ((field field))

The position in the input buffer to which the next character will be written.

Source

field.lisp.

Target Slot

input-pointer.

Generic Function: last-item-number (collection)

Return the last item number in the collection.

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: last-item-number (collection)
Generic Reader: margin-bottom (object)
Generic Writer: (setf margin-bottom) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: margin-bottom ((element element))
Writer Method: (setf margin-bottom) ((element element))

Additional space below the bottom border.

Source

classes.lisp.

Target Slot

margin-bottom.

Generic Reader: margin-left (object)
Generic Writer: (setf margin-left) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: margin-left ((element element))
Writer Method: (setf margin-left) ((element element))

Additional space to the left of the left border.

Source

classes.lisp.

Target Slot

margin-left.

Generic Reader: margin-right (object)
Generic Writer: (setf margin-right) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: margin-right ((element element))
Writer Method: (setf margin-right) ((element element))

Additional space to the right of the right border.

Source

classes.lisp.

Target Slot

margin-right.

Generic Reader: margin-top (object)
Generic Writer: (setf margin-top) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: margin-top ((element element))
Writer Method: (setf margin-top) ((element element))

Additional space above the top border.

The margin is the space around the border of an element, i.e. the distance to other elements. It is only accounted for during calculate-position of layout.

Source

classes.lisp.

Target Slot

margin-top.

Generic Reader: padding-bottom (object)
Generic Writer: (setf padding-bottom) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: padding-bottom ((element element))
Writer Method: (setf padding-bottom) ((element element))

Additional space added below the content area of a widget, with the same background style.

Source

classes.lisp.

Target Slot

padding-bottom.

Generic Reader: padding-left (object)
Generic Writer: (setf padding-left) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: padding-left ((element element))
Writer Method: (setf padding-left) ((element element))

Additional space added to the left of content area of a widget, with the same background style.

Source

classes.lisp.

Target Slot

padding-left.

Generic Reader: padding-right (object)
Generic Writer: (setf padding-right) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: padding-right ((element element))
Writer Method: (setf padding-right) ((element element))

Additional space added to the right of the content area of a widget, with the same background style.

Source

classes.lisp.

Target Slot

padding-right.

Generic Reader: padding-top (object)
Generic Writer: (setf padding-top) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: padding-top ((element element))
Writer Method: (setf padding-top) ((element element))

Additional space added above the content area of a widget, with the same background style.

Source

classes.lisp.

Target Slot

padding-top.

Generic Reader: reference (object)
Generic Writer: (setf reference) (object)
Package

de.anvi.croatoan.

Methods
Reader Method: reference ((label label))
Writer Method: (setf reference) ((label label))

If the name of a reference element is specified, the element’s title will be displayed instead of the label’s. If a title for the label is explicitely provided, it overrides the title of the reference element.

Source

classes.lisp.

Target Slot

reference.

Generic Reader: tablep (object)
Package

de.anvi.croatoan.

Methods
Reader Method: tablep ((menu menu))

If t, table row and column lines are drawn between the items.

Source

menu.lisp.

Target Slot

tablep.

Generic Function: update-cursor-position (object)

Update the cursor position of the element of a form.

Package

de.anvi.croatoan.

Source

form.lisp.

Methods
Method: update-cursor-position ((obj dropdown))

Put the cursor on the down arrow or V character.

Source

dropdown.lisp.

Method: update-cursor-position ((area textarea))
Source

textarea.lisp.

Method: update-cursor-position ((field field))

Update the cursor position of a field.

Source

field.lisp.

Method: update-cursor-position ((form form))

Move the cursor to the correct position in current element of the form.

Method: update-cursor-position ((checkbox checkbox))

Update the cursor position of a checkbox.

Method: update-cursor-position ((object checklist))

Update the cursor position of a checklist after it is drawn.

Place the cursor between the brackets [_] of the current item.

Method: update-cursor-position ((object menu))

Update the cursor position of a menu after it is drawn.

Place the cursor, when it is visible, on the first char of the current item.

Method: update-cursor-position ((obj button))

Update the cursor position of a button.

Method: update-cursor-position (object)

The default method puts the cursor at the start position of the element.

Generic Reader: variable-column-width-p (object)
Package

de.anvi.croatoan.

Methods
Reader Method: variable-column-width-p ((menu menu))

If t, columns widths are calculated from the items.

If nil (default), use max-item-length as the width for every column.

Source

menu.lisp.

Target Slot

variable-column-width-p.

Generic Function: visible-height (element)

visible height = content height + padding

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: visible-height ((element element))

visible height = content height + padding

Source

form.lisp.

Method: visible-height ((obj menu))
Source

menu.lisp.

Generic Function: visible-width (element)

visible width = content width + padding

Package

de.anvi.croatoan.

Source

classes.lisp.

Methods
Method: visible-width ((element element))

visible width = content width + padding

Source

form.lisp.

Method: visible-width ((obj menu))

visible width = content width + element padding

In contrast to element padding, the item padding is part of the content, so it is accounted for by (width menu).

Source

menu.lisp.


5.2.5 Classes

Class: component

Base class for all croatoan objects.

Package

de.anvi.croatoan.

Source

classes.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: name

Optional unique name by which the object can be identified and accessed. If the title is t, the name is displayed instead of the title.

Type

(or null symbol keyword)

Initargs

:name

Readers

name.

Writers

This slot is read-only.

Slot: title

Title of the object to be displayed to the user. If nil, no title is displayed. If the title is t, the name is displayed.

Type

(or boolean string)

Initargs

:title

Readers

title.

Writers

(setf title).

Slot: style

A style is a plist with properties relevant to the rendering of an object.

The basic style corresponds to the slots of a complex-char:
:fgcolor, :bgcolor, :attributes and :simple-char

Currently, the compound styles for the following objects can be set:

form:
A plist of default styles for each form element type.

menu (styles of the menu items)
:foreground, :background, :selected-foreground, :selected-background

The default style of the selected item is the attribute :reverse,
and nil for other items.

button, checkbox:
:foreground and :selected-foreground.

field, textarea:
:foreground, :background, :selected-foreground, :selected-background.

Type

(or null cons)

Initargs

:style

Readers

style.

Writers

(setf style).

Slot: bindings

Alist of events (characters, keywords or integers) as keys and handler functions as values. Used by the run-event-loop function.

Type

(or null cons)

Initargs

:bindings

Readers

bindings.

Writers

(setf bindings).

Slot: keymap

Keymap containing the key bindings to be used by run-event-loop instead
of the object’s own bindings. If using an instance-local binding isn’t sufficient, we can create an external keymap and reference it in the object.

Type

(or null symbol keyword de.anvi.croatoan:keymap)

Initargs

:keymap

Readers

keymap.

Writers

(setf keymap).

Slot: current-keymap

If not nil, this is a pointer to the keymap that should be used for the lookup of the next event handler instead of the widgets bindings and keymap. Used as an utility only in the handle-event method.

Type

(or null de.anvi.croatoan:keymap)

Slot: hooks

Alist of hooks registered with the object.

Type

(or null cons)

Readers

hooks.

Writers

(setf hooks).

Class: dialog

Dialog is the base class for different spacialized dialog windows.

Package

de.anvi.croatoan.dialog.

Source

dialog.lisp.

Direct superclasses

form-window.

Direct subclasses
Direct methods

initialize-instance.

Direct Default Initargs
InitargValue
:enable-function-keyst
:input-blockingt
:bordert
:centert
:border-width2
:wrap-messaget
Class: element

An element of a form, like a field or button.

Package

de.anvi.croatoan.

Source

classes.lisp.

Direct superclasses

widget.

Direct subclasses
Direct methods
Direct slots
Slot: value

Value of the element, mostly the result of the form editing.

Initargs

:value

Readers

value.

Writers

(setf value).

Slot: selectedp

Flag denoting whether the element is currently selected in a form.

Type

boolean

Readers

selectedp.

Writers

(setf selectedp).

Slot: margin-top

Additional space above the top border.

The margin is the space around the border of an element, i.e. the distance to other elements. It is only accounted for during calculate-position of layout.

Type

integer

Initform

0

Initargs

:margin-top

Readers

margin-top.

Writers

(setf margin-top).

Slot: margin-bottom

Additional space below the bottom border.

Type

integer

Initform

0

Initargs

:margin-bottom

Readers

margin-bottom.

Writers

(setf margin-bottom).

Slot: margin-left

Additional space to the left of the left border.

Type

integer

Initform

0

Initargs

:margin-left

Readers

margin-left.

Writers

(setf margin-left).

Slot: margin-right

Additional space to the right of the right border.

Type

integer

Initform

0

Initargs

:margin-right

Readers

margin-right.

Writers

(setf margin-right).

Slot: padding-top

Additional space added above the content area of a widget, with the same background style.

Type

integer

Initform

0

Initargs

:padding-top

Readers

padding-top.

Writers

(setf padding-top).

Slot: padding-bottom

Additional space added below the content area of a widget, with the same background style.

Type

integer

Initform

0

Initargs

:padding-bottom

Readers

padding-bottom.

Writers

(setf padding-bottom).

Slot: padding-left

Additional space added to the left of content area of a widget, with the same background style.

Type

integer

Initform

0

Initargs

:padding-left

Readers

padding-left.

Writers

(setf padding-left).

Slot: padding-right

Additional space added to the right of the content area of a widget, with the same background style.

Type

integer

Initform

0

Initargs

:padding-right

Readers

padding-right.

Writers

(setf padding-right).

Slot: borderp

Border width, similar to padding, but with a drawn border.

Type

boolean

Initargs

:border

Readers

borderp.

Writers

This slot is read-only.

Slot: border-width-top
Type

integer

Initform

0

Initargs

:border-width-top

Readers

border-width-top.

Writers

(setf border-width-top).

Slot: border-width-bottom
Type

integer

Initform

0

Initargs

:border-width-bottom

Readers

border-width-bottom.

Writers

(setf border-width-bottom).

Slot: border-width-left
Type

integer

Initform

0

Initargs

:border-width-left

Readers

border-width-left.

Writers

(setf border-width-left).

Slot: border-width-right
Type

integer

Initform

0

Initargs

:border-width-right

Readers

border-width-right.

Writers

(setf border-width-right).

Slot: activep

If t (default), the element can be selected. Used to prevent labels from being selected.

Type

boolean

Initform

t

Initargs

:active

Readers

activep.

Writers

(setf activep).

Slot: parent

Parent form of the element. Added to every element upon the initialization of the form.

Type

(or null de.anvi.croatoan:form)

Readers

parent.

Writers

(setf parent).

Slot: window

If the element is not part of a form, a window can also be associated with the stand-alone element.

Type

(or null de.anvi.croatoan:window)

Initargs

:window

Class: extended-window

An extended window contains a subwindow for the content.

It can optionally be surrounded with space for a border or a title.

Since the window and the sub share the space, they also implicitely will share any attributes.

The primary use of extended windows are menu-windows and form-windows, which have to explicitely target the sub-window to write their contents by setting the :window slot to the sub-window.

Except for those special cases you probably want to use a panel, which behaves more like a simple window.

Package

de.anvi.croatoan.

Source

classes.lisp.

Direct superclasses

window.

Direct subclasses

form-window.

Direct methods
Direct slots
Slot: border-width
Type

integer

Initform

0

Initargs

:border-width

Readers

border-width.

Writers

This slot is read-only.

Slot: sub-window

Subwindow for content, for example a menu or a form.

Type

(or null de.anvi.croatoan:sub-window)

Readers

sub-window.

Writers

This slot is read-only.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (  
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X  
Index Entry  Section

%
%defcdr: Private macros

(
(setf activep): Public generic functions
(setf activep): Public generic functions
(setf attributes): Public generic functions
(setf attributes): Public generic functions
(setf attributes): Public generic functions
(setf attributes): Public generic functions
(setf attributes): Public generic functions
(setf background): Public generic functions
(setf background): Public generic functions
(setf bgcolor): Public generic functions
(setf bgcolor): Public generic functions
(setf bgcolor): Public generic functions
(setf bindings): Public generic functions
(setf bindings): Public generic functions
(setf bindings): Public generic functions
(setf border-width-bottom): Private generic functions
(setf border-width-bottom): Private generic functions
(setf border-width-left): Private generic functions
(setf border-width-left): Private generic functions
(setf border-width-right): Private generic functions
(setf border-width-right): Private generic functions
(setf border-width-top): Private generic functions
(setf border-width-top): Private generic functions
(setf buffer): Public generic functions
(setf buffer): Public generic functions
(setf buffer): Public generic functions
(setf callback): Public generic functions
(setf callback): Public generic functions
(setf checkedp): Public generic functions
(setf checkedp): Public generic functions
(setf children): Public generic functions
(setf children): Public generic functions
(setf color-pair): Public ordinary functions
(setf color-pair): Public generic functions
(setf color-pair): Public generic functions
(setf color-pair): Public generic functions
(setf complex-char-array): Public generic functions
(setf complex-char-array): Public generic functions
(setf coordinates): Public generic functions
(setf coordinates): Public generic functions
(setf current-item-number): Public ordinary functions
(setf current-item-position): Private generic functions
(setf current-item-position): Private generic functions
(setf cursor-position): Public generic functions
(setf cursor-position): Public generic functions
(setf cursor-position-x): Public generic functions
(setf cursor-position-x): Public generic functions
(setf cursor-position-x): Public generic functions
(setf cursor-position-y): Public generic functions
(setf cursor-position-y): Public generic functions
(setf cursor-position-y): Public generic functions
(setf cursor-visible-p): Public generic functions
(setf cursor-visible-p): Public generic functions
(setf cyclicp): Public generic functions
(setf cyclicp): Public generic functions
(setf default-color-pair): Public ordinary functions
(setf dimensions): Public generic functions
(setf dimensions): Public generic functions
(setf dimensions): Public generic functions
(setf display-pointer): Private generic functions
(setf display-pointer): Private generic functions
(setf display-pointer): Private generic functions
(setf elements): Public generic functions
(setf elements): Public generic functions
(setf fgcolor): Public generic functions
(setf fgcolor): Public generic functions
(setf fgcolor): Public generic functions
(setf frame-rate): Public generic functions
(setf frame-rate): Public generic functions
(setf frame-rate): Public generic functions
(setf function-keys-enabled-p): Public generic functions
(setf function-keys-enabled-p): Public generic functions
(setf geometry): Public generic functions
(setf geometry): Public generic functions
(setf geometry): Public generic functions
(setf geometry): Public generic functions
(setf height): Public generic functions
(setf height): Public generic functions
(setf height): Public generic functions
(setf height): Public generic functions
(setf hooks): Public generic functions
(setf hooks): Public generic functions
(setf input-blocking): Public generic functions
(setf input-blocking): Public generic functions
(setf input-buffering-p): Public generic functions
(setf input-buffering-p): Public generic functions
(setf input-echoing-p): Public generic functions
(setf input-echoing-p): Public generic functions
(setf input-pointer): Private generic functions
(setf input-pointer): Private generic functions
(setf input-pointer): Private generic functions
(setf insert-mode-p): Public generic functions
(setf insert-mode-p): Public generic functions
(setf insert-mode-p): Public generic functions
(setf insert-mode-p): Public generic functions
(setf items): Public generic functions
(setf items): Public generic functions
(setf items): Public generic functions
(setf key-alt): Public ordinary functions
(setf key-ctrl): Public ordinary functions
(setf key-name): Public ordinary functions
(setf key-shift): Public ordinary functions
(setf keymap): Public generic functions
(setf keymap): Public generic functions
(setf label): Public ordinary functions
(setf layout): Public generic functions
(setf layout): Public generic functions
(setf margin-bottom): Private generic functions
(setf margin-bottom): Private generic functions
(setf margin-left): Private generic functions
(setf margin-left): Private generic functions
(setf margin-right): Private generic functions
(setf margin-right): Private generic functions
(setf margin-top): Private generic functions
(setf margin-top): Private generic functions
(setf max-buffer-length): Public generic functions
(setf max-buffer-length): Public generic functions
(setf max-item-length): Public generic functions
(setf max-item-length): Public generic functions
(setf menu-type): Public generic functions
(setf menu-type): Public generic functions
(setf newline-translation-enabled-p): Public generic functions
(setf newline-translation-enabled-p): Public generic functions
(setf origin-x): Public generic functions
(setf origin-x): Public generic functions
(setf origin-y): Public generic functions
(setf origin-y): Public generic functions
(setf padding-bottom): Private generic functions
(setf padding-bottom): Private generic functions
(setf padding-left): Private generic functions
(setf padding-left): Private generic functions
(setf padding-right): Private generic functions
(setf padding-right): Private generic functions
(setf padding-top): Private generic functions
(setf padding-top): Private generic functions
(setf parent): Public generic functions
(setf parent): Public generic functions
(setf parent): Public generic functions
(setf parent): Public generic functions
(setf plot-char): Public generic functions
(setf plot-char): Public generic functions
(setf position-x): Public generic functions
(setf position-x): Public generic functions
(setf position-x): Public generic functions
(setf position-y): Public generic functions
(setf position-y): Public generic functions
(setf position-y): Public generic functions
(setf process-control-chars-p): Public generic functions
(setf process-control-chars-p): Public generic functions
(setf reference): Private generic functions
(setf reference): Private generic functions
(setf scrolling-enabled-p): Public generic functions
(setf scrolling-enabled-p): Public generic functions
(setf scrolling-region): Public generic functions
(setf scrolling-region): Public generic functions
(setf selectedp): Public generic functions
(setf selectedp): Public generic functions
(setf selection-callback): Public generic functions
(setf selection-callback): Public generic functions
(setf simple-char): Public generic functions
(setf simple-char): Public generic functions
(setf source-position): Public generic functions
(setf source-position): Public generic functions
(setf stackedp): Public generic functions
(setf stackedp): Public generic functions
(setf style): Public generic functions
(setf style): Public generic functions
(setf style): Public generic functions
(setf style): Public generic functions
(setf style): Public generic functions
(setf title): Public generic functions
(setf title): Public generic functions
(setf use-terminal-colors-p): Public ordinary functions
(setf value): Public generic functions
(setf value): Public generic functions
(setf value): Public generic functions
(setf value): Public generic functions
(setf visiblep): Public generic functions
(setf visiblep): Public generic functions
(setf widget-position): Public generic functions
(setf widget-position): Public generic functions
(setf widget-position): Public generic functions
(setf width): Public generic functions
(setf width): Public generic functions
(setf width): Public generic functions
(setf width): Public generic functions
(setf width): Public generic functions
(setf width): Public generic functions
(setf window): Public generic functions
(setf window): Public generic functions
(setf window): Public generic functions
(setf window-position): Public generic functions
(setf window-position): Public generic functions

A
accept: Public ordinary functions
accept-selection: Public ordinary functions
access-alist: Private macros
acs: Public ordinary functions
activep: Public generic functions
activep: Public generic functions
add: Public ordinary functions
add-attribute: Private ordinary functions
add-attributes: Public ordinary functions
add-attributes: Public ordinary functions
add-char: Public ordinary functions
add-child: Public ordinary functions
add-extended-function-keys: Private ordinary functions
add-function-key: Public ordinary functions
add-function-key-cap: Private ordinary functions
add-string: Public ordinary functions
add-title: Private ordinary functions
add-wide-char: Public ordinary functions
add-wide-char-utf-8: Public ordinary functions
alert: Public ordinary functions
alist2plist: Private ordinary functions
angle-line: Public ordinary functions
append-item: Public ordinary functions
apply-handler: Private ordinary functions
array-slice: Private ordinary functions
ascii-byte-p: Private ordinary functions
assoc-merge: Private ordinary functions
assoc-unique: Private ordinary functions
attributes: Public ordinary functions
attributes: Public generic functions
attributes: Public generic functions
attributes: Public generic functions
attrs2chtype: Public ordinary functions

B
background: Public generic functions
background: Public generic functions
bgcolor: Public generic functions
bgcolor: Public generic functions
bgcolor: Public generic functions
bind: Public ordinary functions
bindings: Public generic functions
bindings: Public generic functions
bindings: Public generic functions
bitmask-to-keyword: Private ordinary functions
border-width: Public generic functions
border-width: Public generic functions
border-width-bottom: Private generic functions
border-width-bottom: Private generic functions
border-width-left: Private generic functions
border-width-left: Private generic functions
border-width-right: Private generic functions
border-width-right: Private generic functions
border-width-top: Private generic functions
border-width-top: Private generic functions
borderp: Public generic functions
borderp: Public generic functions
borderp: Public generic functions
box: Public ordinary functions
buffer: Public generic functions
buffer: Public generic functions
buffer: Public generic functions

C
calculate-layout: Public generic functions
calculate-layout: Public generic functions
calculate-layout: Public generic functions
calculate-positions: Public ordinary functions
call-button-function: Private ordinary functions
callback: Public generic functions
callback: Public generic functions
cancel: Public ordinary functions
center-position: Public ordinary functions
change-attributes: Public ordinary functions
char-style: Private ordinary functions
char-to-string: Public generic functions
char-to-string: Public generic functions
char-to-string: Public generic functions
char-width: Public ordinary functions
char2chtype: Private ordinary functions
check-string-char: Private ordinary functions
checked-items: Private ordinary functions
checkedp: Public generic functions
checkedp: Public generic functions
children: Public generic functions
children: Public generic functions
chtype2attrs: Public ordinary functions
chtype2colors: Public ordinary functions
chtype2xchar: Private ordinary functions
circle: Public ordinary functions
clear: Public ordinary functions
clear: Public generic functions
clear: Public generic functions
clear: Public generic functions
clear: Public generic functions
clear: Public generic functions
clear-rectangle: Public ordinary functions
close: Public standalone methods
close: Public standalone methods
close: Public standalone methods
close: Public standalone methods
close: Public standalone methods
close: Public standalone methods
close: Public standalone methods
closed-p: Public generic functions
closed-p: Public generic functions
closest-gray: Private ordinary functions
code-key: Public ordinary functions
collect-height-hints: Private ordinary functions
collect-width-hints: Private ordinary functions
color-1k-to-8bit: Private ordinary functions
color-8bit-to-1k: Private ordinary functions
color-name-to-number: Private ordinary functions
color-pair: Public ordinary functions
color-pair: Public generic functions
color-pair: Public generic functions
color-to-number: Private ordinary functions
colors2chtype: Private ordinary functions
column-widths: Public generic functions
column-widths: Public generic functions
column-widths: Public generic functions
complete-default-pair: Public ordinary functions
complete-pair: Private ordinary functions
complex-char-array: Public generic functions
complex-char-array: Public generic functions
complex-char=: Public ordinary functions
complex-string->chars-string: Public ordinary functions
complex-string-first-char-attributes: Private ordinary functions
complex-string-format: Public macros
complex-string-last-char-attributes: Private ordinary functions
complex-string-length: Public ordinary functions
concat-complex-string: Public generic functions
concat-complex-string: Public generic functions
concat-complex-string: Public generic functions
concat-complex-string: Public generic functions
concat-complex-string-no-contagion: Private ordinary functions
concat-complex-string-with-contagion: Private ordinary functions
content-position: Private generic functions
content-position: Private generic functions
content-position: Private generic functions
control-char-p: Public ordinary functions
convert-char: Public generic functions
convert-char: Public generic functions
convert-char: Public generic functions
convert-char: Public generic functions
convert-strings: Private ordinary functions
coordinates: Public generic functions
coordinates: Public generic functions
copy-complex-char: Private ordinary functions
copy-complex-char-array: Private ordinary functions
copy-complex-string: Private generic functions
copy-complex-string: Private generic functions
copy-key: Public ordinary functions
count-lines: Private ordinary functions
cumsum-predecessors: Public ordinary functions
current-item: Public generic functions
current-item: Public generic functions
current-item: Public generic functions
current-item-mark: Public generic functions
current-item-mark: Public generic functions
current-item-number: Public ordinary functions
current-item-position: Private generic functions
current-item-position: Private generic functions
cursor-position: Public generic functions
cursor-position: Public generic functions
cursor-position-x: Public generic functions
cursor-position-x: Public generic functions
cursor-position-x: Public generic functions
cursor-position-y: Public generic functions
cursor-position-y: Public generic functions
cursor-position-y: Public generic functions
cursor-visible-p: Public generic functions
cursor-visible-p: Public generic functions
cyclicp: Public generic functions
cyclicp: Public generic functions

D
debug-print-field-buffer: Private ordinary functions
debug-textarea: Private ordinary functions
default-color-pair: Public ordinary functions
define-function-key: Public ordinary functions
define-keymap: Public macros
delete-char: Public ordinary functions
delete-function-key: Public generic functions
delete-function-key: Public generic functions
delete-function-key: Public generic functions
delete-function-key: Public generic functions
delete-line: Public ordinary functions
delete-next-char: Public generic functions
delete-next-char: Public generic functions
delete-next-char: Public generic functions
delete-previous-char: Public generic functions
delete-previous-char: Public generic functions
delete-previous-char: Public generic functions
dequeue: Public generic functions
dequeue: Public generic functions
dequeue: Public generic functions
dimensions: Public generic functions
dimensions: Public generic functions
display-pointer: Private generic functions
display-pointer: Private generic functions
display-pointer: Private generic functions
distance-to-bottom: Private ordinary functions
distance-to-eol: Private ordinary functions
distance-to-newline: Private ordinary functions
dogrid: Public macros
draw: Public generic functions
draw: Public generic functions
draw: Public generic functions
draw: Public generic functions
draw: Public generic functions
draw: Public generic functions
draw: Public generic functions
draw: Public generic functions
draw: Public generic functions
draw: Public generic functions
draw: Public generic functions
draw: Public generic functions
draw-border: Public ordinary functions
draw-hline: Public ordinary functions
draw-line: Public ordinary functions
draw-menu: Public ordinary functions
draw-rectangle: Public ordinary functions
draw-shape: Public ordinary functions
draw-stack-p: Private generic functions
draw-stack-p: Private generic functions
draw-table-bottom: Private ordinary functions
draw-table-lines: Public ordinary functions
draw-table-row-separator: Private ordinary functions
draw-table-top: Private ordinary functions
draw-vline: Public ordinary functions
draw-wide-border: Public ordinary functions

E
echo: Public ordinary functions
echo-char: Public ordinary functions
echo-wide-char: Public ordinary functions
edit: Public ordinary functions
elements: Public generic functions
elements: Public generic functions
empty-stack: Public ordinary functions
emptyp: Private ordinary functions
enable-function-key: Public ordinary functions
end-screen: Public ordinary functions
enqueue: Public generic functions
enqueue: Public generic functions
enqueue: Public generic functions
event-case: Public macros
event-code: Public generic functions
event-code: Public generic functions
event-key: Public generic functions
event-key: Public generic functions
event-position: Public ordinary functions
exit-event-loop: Public ordinary functions
exit-menu-event-loop: Public ordinary functions
external-dimensions: Private ordinary functions
external-height: Private generic functions
external-height: Private generic functions
external-height: Private generic functions
external-width: Private generic functions
external-width: Private generic functions
external-width: Private generic functions
external-width: Private generic functions
extract-char: Public ordinary functions
extract-complex-string: Public ordinary functions
extract-string: Public ordinary functions
extract-wide-char: Public ordinary functions
extract-wide-string: Public ordinary functions

F
fgcolor: Public generic functions
fgcolor: Public generic functions
fgcolor: Public generic functions
field-add-char: Public ordinary functions
fill-rectangle: Public ordinary functions
fill-shape: Public ordinary functions
find-element: Public ordinary functions
find-keymap: Public ordinary functions
find-node: Public ordinary functions
flatten-items: Public ordinary functions
flush-input: Public ordinary functions
format-menu-item: Private ordinary functions
format-title: Private generic functions
format-title: Private generic functions
format-title: Private generic functions
frame-rate: Public generic functions
frame-rate: Public generic functions
frame-rate: Public generic functions
funcall-get-cchar_t: Private ordinary functions
funcall-make-cchar_t: Private ordinary functions
funcall-make-cchar_t-ptr: Private ordinary functions
funcall-make-chtype: Private ordinary functions
Function, (setf color-pair): Public ordinary functions
Function, (setf current-item-number): Public ordinary functions
Function, (setf default-color-pair): Public ordinary functions
Function, (setf key-alt): Public ordinary functions
Function, (setf key-ctrl): Public ordinary functions
Function, (setf key-name): Public ordinary functions
Function, (setf key-shift): Public ordinary functions
Function, (setf label): Public ordinary functions
Function, (setf use-terminal-colors-p): Public ordinary functions
Function, accept: Public ordinary functions
Function, accept-selection: Public ordinary functions
Function, acs: Public ordinary functions
Function, add: Public ordinary functions
Function, add-attribute: Private ordinary functions
Function, add-attributes: Public ordinary functions
Function, add-attributes: Public ordinary functions
Function, add-char: Public ordinary functions
Function, add-child: Public ordinary functions
Function, add-extended-function-keys: Private ordinary functions
Function, add-function-key: Public ordinary functions
Function, add-function-key-cap: Private ordinary functions
Function, add-string: Public ordinary functions
Function, add-title: Private ordinary functions
Function, add-wide-char: Public ordinary functions
Function, add-wide-char-utf-8: Public ordinary functions
Function, alert: Public ordinary functions
Function, alist2plist: Private ordinary functions
Function, angle-line: Public ordinary functions
Function, append-item: Public ordinary functions
Function, apply-handler: Private ordinary functions
Function, array-slice: Private ordinary functions
Function, ascii-byte-p: Private ordinary functions
Function, assoc-merge: Private ordinary functions
Function, assoc-unique: Private ordinary functions
Function, attributes: Public ordinary functions
Function, attrs2chtype: Public ordinary functions
Function, bind: Public ordinary functions
Function, bitmask-to-keyword: Private ordinary functions
Function, box: Public ordinary functions
Function, calculate-positions: Public ordinary functions
Function, call-button-function: Private ordinary functions
Function, cancel: Public ordinary functions
Function, center-position: Public ordinary functions
Function, change-attributes: Public ordinary functions
Function, char-style: Private ordinary functions
Function, char-width: Public ordinary functions
Function, char2chtype: Private ordinary functions
Function, check-string-char: Private ordinary functions
Function, checked-items: Private ordinary functions
Function, chtype2attrs: Public ordinary functions
Function, chtype2colors: Public ordinary functions
Function, chtype2xchar: Private ordinary functions
Function, circle: Public ordinary functions
Function, clear: Public ordinary functions
Function, clear-rectangle: Public ordinary functions
Function, closest-gray: Private ordinary functions
Function, code-key: Public ordinary functions
Function, collect-height-hints: Private ordinary functions
Function, collect-width-hints: Private ordinary functions
Function, color-1k-to-8bit: Private ordinary functions
Function, color-8bit-to-1k: Private ordinary functions
Function, color-name-to-number: Private ordinary functions
Function, color-pair: Public ordinary functions
Function, color-to-number: Private ordinary functions
Function, colors2chtype: Private ordinary functions
Function, complete-default-pair: Public ordinary functions
Function, complete-pair: Private ordinary functions
Function, complex-char=: Public ordinary functions
Function, complex-string->chars-string: Public ordinary functions
Function, complex-string-first-char-attributes: Private ordinary functions
Function, complex-string-last-char-attributes: Private ordinary functions
Function, complex-string-length: Public ordinary functions
Function, concat-complex-string-no-contagion: Private ordinary functions
Function, concat-complex-string-with-contagion: Private ordinary functions
Function, control-char-p: Public ordinary functions
Function, convert-strings: Private ordinary functions
Function, copy-complex-char: Private ordinary functions
Function, copy-complex-char-array: Private ordinary functions
Function, copy-key: Public ordinary functions
Function, count-lines: Private ordinary functions
Function, cumsum-predecessors: Public ordinary functions
Function, current-item-number: Public ordinary functions
Function, debug-print-field-buffer: Private ordinary functions
Function, debug-textarea: Private ordinary functions
Function, default-color-pair: Public ordinary functions
Function, define-function-key: Public ordinary functions
Function, delete-char: Public ordinary functions
Function, delete-line: Public ordinary functions
Function, distance-to-bottom: Private ordinary functions
Function, distance-to-eol: Private ordinary functions
Function, distance-to-newline: Private ordinary functions
Function, draw-border: Public ordinary functions
Function, draw-hline: Public ordinary functions
Function, draw-line: Public ordinary functions
Function, draw-menu: Public ordinary functions
Function, draw-rectangle: Public ordinary functions
Function, draw-shape: Public ordinary functions
Function, draw-table-bottom: Private ordinary functions
Function, draw-table-lines: Public ordinary functions
Function, draw-table-row-separator: Private ordinary functions
Function, draw-table-top: Private ordinary functions
Function, draw-vline: Public ordinary functions
Function, draw-wide-border: Public ordinary functions
Function, echo: Public ordinary functions
Function, echo-char: Public ordinary functions
Function, echo-wide-char: Public ordinary functions
Function, edit: Public ordinary functions
Function, empty-stack: Public ordinary functions
Function, emptyp: Private ordinary functions
Function, enable-function-key: Public ordinary functions
Function, end-screen: Public ordinary functions
Function, event-position: Public ordinary functions
Function, exit-event-loop: Public ordinary functions
Function, exit-menu-event-loop: Public ordinary functions
Function, external-dimensions: Private ordinary functions
Function, extract-char: Public ordinary functions
Function, extract-complex-string: Public ordinary functions
Function, extract-string: Public ordinary functions
Function, extract-wide-char: Public ordinary functions
Function, extract-wide-string: Public ordinary functions
Function, field-add-char: Public ordinary functions
Function, fill-rectangle: Public ordinary functions
Function, fill-shape: Public ordinary functions
Function, find-element: Public ordinary functions
Function, find-keymap: Public ordinary functions
Function, find-node: Public ordinary functions
Function, flatten-items: Public ordinary functions
Function, flush-input: Public ordinary functions
Function, format-menu-item: Private ordinary functions
Function, funcall-get-cchar_t: Private ordinary functions
Function, funcall-make-cchar_t: Private ordinary functions
Function, funcall-make-cchar_t-ptr: Private ordinary functions
Function, funcall-make-chtype: Private ordinary functions
Function, function-arity: Private ordinary functions
Function, function-key-code: Public ordinary functions
Function, function-key-definition: Public ordinary functions
Function, function-key-p: Public ordinary functions
Function, function-lambda-list: Private ordinary functions
Function, gen-unused-key-code: Private ordinary functions
Function, get-background-cchar_t: Private ordinary functions
Function, get-background-char: Private ordinary functions
Function, get-bitmask: Public ordinary functions
Function, get-catch-tag: Private ordinary functions
Function, get-char: Public ordinary functions
Function, get-direction: Public ordinary functions
Function, get-event: Public ordinary functions
Function, get-event-handler: Private ordinary functions
Function, get-form-values: Private ordinary functions
Function, get-geometry-plist: Private ordinary functions
Function, get-key-event: Private ordinary functions
Function, get-mouse-event: Public ordinary functions
Function, get-string: Public ordinary functions
Function, get-wide-char: Public ordinary functions
Function, goto: Public ordinary functions
Function, gray-to-rgb: Private ordinary functions
Function, handle-events: Private ordinary functions
Function, hex-to-rgb: Private ordinary functions
Function, hex-to-sgr: Private ordinary functions
Function, hook: Public ordinary functions
Function, init-screen: Private ordinary functions
Function, initialize: Public ordinary functions
Function, initialize-leaves: Public ordinary functions
Function, input-pointer-x: Private ordinary functions
Function, insert: Public ordinary functions
Function, insert-char: Public ordinary functions
Function, insert-line: Public ordinary functions
Function, insert-nth: Public ordinary functions
Function, insert-string: Public ordinary functions
Function, insert-wide-char: Public ordinary functions
Function, join-lines: Public ordinary functions
Function, join-strings: Public ordinary functions
Function, key-alt: Public ordinary functions
Function, key-code: Public ordinary functions
Function, key-code-to-name: Public ordinary functions
Function, key-ctrl: Public ordinary functions
Function, key-name: Public ordinary functions
Function, key-name-to-code: Public ordinary functions
Function, key-p: Public ordinary functions
Function, key-pressed-p: Public ordinary functions
Function, key-shift: Public ordinary functions
Function, key-supported-p: Public ordinary functions
Function, keyword-to-bitmask: Private ordinary functions
Function, label: Public ordinary functions
Function, label-text: Private ordinary functions
Function, lead-byte-p: Private ordinary functions
Function, leaves: Public ordinary functions
Function, line: Public ordinary functions
Function, list2array: Private ordinary functions
Function, make-background: Public ordinary functions
Function, make-chtype: Private ordinary functions
Function, make-dialog-button: Private ordinary functions
Function, make-dialog-layout: Private ordinary functions
Function, make-key: Public ordinary functions
Function, mapc-plist: Public ordinary functions
Function, mark-for-redraw: Public ordinary functions
Function, mark-for-refresh: Public ordinary functions
Function, merge-shapes: Public ordinary functions
Function, move: Public ordinary functions
Function, move-direction: Public ordinary functions
Function, move-down-possible-p: Private ordinary functions
Function, move-end-of-line: Public ordinary functions
Function, move-left-possible-p: Private ordinary functions
Function, move-right-possible-p: Private ordinary functions
Function, move-start-of-line: Public ordinary functions
Function, move-up-possible-p: Private ordinary functions
Function, move-window: Public ordinary functions
Function, multi-byte-p: Private ordinary functions
Function, multiplep: Private ordinary functions
Function, n-trail-bytes: Private ordinary functions
Function, nconcat-complex-string: Public ordinary functions
Function, new-line: Public ordinary functions
Function, new-terminal: Private ordinary functions
Function, next-item-p: Private ordinary functions
Function, nth2d: Public ordinary functions
Function, number-to-pair: Private ordinary functions
Function, pair-plist: Public ordinary functions
Function, pair-to-number: Public ordinary functions
Function, parse-key: Private ordinary functions
Function, parse-key-spec: Private ordinary functions
Function, plist2alist: Private ordinary functions
Function, polygon: Public ordinary functions
Function, previous-char=: Private ordinary functions
Function, previous-item-p: Private ordinary functions
Function, previous-line-length: Private ordinary functions
Function, process: Public ordinary functions
Function, push-item: Public ordinary functions
Function, put: Public ordinary functions
Function, put-char: Public ordinary functions
Function, put-string: Public ordinary functions
Function, quadrilateral: Public ordinary functions
Function, queue-items: Private ordinary functions
Function, random-position: Public ordinary functions
Function, rectangle: Public ordinary functions
Function, ref2d: Public ordinary functions
Function, refresh: Public ordinary functions
Function, refresh-marked: Public ordinary functions
Function, remove-attribute: Private ordinary functions
Function, remove-attributes: Public ordinary functions
Function, remove-attributes: Public ordinary functions
Function, remove-nth: Public ordinary functions
Function, replace-nth: Public ordinary functions
Function, reset-form: Public ordinary functions
Function, reset-menu: Private ordinary functions
Function, resize: Public ordinary functions
Function, restore: Public ordinary functions
Function, return-element-value: Public ordinary functions
Function, return-form-values: Public ordinary functions
Function, return-from-menu: Public ordinary functions
Function, rgb-to-hex: Private ordinary functions
Function, rgb-to-rgb6: Private ordinary functions
Function, rgb6-to-rgb: Private ordinary functions
Function, rgb6-to-sgr: Private ordinary functions
Function, right-padding: Private ordinary functions
Function, rmi2sub: Private ordinary functions
Function, rotate: Private ordinary functions
Function, run-event-loop: Public ordinary functions
Function, run-hook: Private ordinary functions
Function, scroll: Public ordinary functions
Function, select-next-element: Private ordinary functions
Function, select-previous-element: Private ordinary functions
Function, set-attributes: Public ordinary functions
Function, set-attributes: Private ordinary functions
Function, set-background-cchar_t: Private ordinary functions
Function, set-background-char: Private ordinary functions
Function, set-color-pair: Private ordinary functions
Function, set-current-terminal: Private ordinary functions
Function, set-cursor-visibility: Private ordinary functions
Function, set-default-color-pair: Private ordinary functions
Function, set-equal: Private ordinary functions
Function, set-geometry-plist: Private ordinary functions
Function, set-input-blocking: Private ordinary functions
Function, set-input-mode: Private ordinary functions
Function, set-mouse-event: Public ordinary functions
Function, sgr-to-hex: Private ordinary functions
Function, sgr-to-rgb6: Private ordinary functions
Function, shape-extent: Public ordinary functions
Function, split-lines: Public ordinary functions
Function, split-size: Private ordinary functions
Function, split-string: Public ordinary functions
Function, stack-empty-p: Public ordinary functions
Function, stack-move: Public ordinary functions
Function, stack-pop: Public ordinary functions
Function, stack-push: Public ordinary functions
Function, string-to-char: Public ordinary functions
Function, string-width: Public ordinary functions
Function, style-char: Private ordinary functions
Function, sub2rmi: Private ordinary functions
Function, sync-collection-grid: Private ordinary functions
Function, sync-grid-collection: Private ordinary functions
Function, test-utf-8: Private ordinary functions
Function, textarea-add-char: Private ordinary functions
Function, tigetstr: Public ordinary functions
Function, toggle-checkbox: Private ordinary functions
Function, toggle-insert-mode: Public ordinary functions
Function, toggle-item-checkbox: Public ordinary functions
Function, tokenize-key-spec: Private ordinary functions
Function, touch: Public ordinary functions
Function, trail-byte-p: Private ordinary functions
Function, triangle: Public ordinary functions
Function, unbind: Public ordinary functions
Function, unget-char: Public ordinary functions
Function, unicode-to-utf-8: Private ordinary functions
Function, unpair-plist: Public ordinary functions
Function, use-terminal-colors-p: Public ordinary functions
Function, utf-8-to-unicode: Private ordinary functions
Function, vector-not-empty-p: Private ordinary functions
Function, visible-dimensions: Private ordinary functions
Function, visible-grid-columns: Private ordinary functions
Function, visible-grid-rows: Private ordinary functions
Function, wacs: Public ordinary functions
Function, wait-for-event: Public ordinary functions
Function, wrap-lines: Public ordinary functions
Function, wrap-string: Public ordinary functions
Function, xchar2chtype: Private ordinary functions
function-arity: Private ordinary functions
function-key-code: Public ordinary functions
function-key-definition: Public ordinary functions
function-key-p: Public ordinary functions
function-keys-enabled-p: Public generic functions
function-keys-enabled-p: Public generic functions
function-lambda-list: Private ordinary functions

G
gen-unused-key-code: Private ordinary functions
Generic Function, (setf activep): Public generic functions
Generic Function, (setf attributes): Public generic functions
Generic Function, (setf attributes): Public generic functions
Generic Function, (setf background): Public generic functions
Generic Function, (setf bgcolor): Public generic functions
Generic Function, (setf bindings): Public generic functions
Generic Function, (setf border-width-bottom): Private generic functions
Generic Function, (setf border-width-left): Private generic functions
Generic Function, (setf border-width-right): Private generic functions
Generic Function, (setf border-width-top): Private generic functions
Generic Function, (setf buffer): Public generic functions
Generic Function, (setf callback): Public generic functions
Generic Function, (setf checkedp): Public generic functions
Generic Function, (setf children): Public generic functions
Generic Function, (setf color-pair): Public generic functions
Generic Function, (setf complex-char-array): Public generic functions
Generic Function, (setf coordinates): Public generic functions
Generic Function, (setf current-item-position): Private generic functions
Generic Function, (setf cursor-position): Public generic functions
Generic Function, (setf cursor-position-x): Public generic functions
Generic Function, (setf cursor-position-y): Public generic functions
Generic Function, (setf cursor-visible-p): Public generic functions
Generic Function, (setf cyclicp): Public generic functions
Generic Function, (setf dimensions): Public generic functions
Generic Function, (setf display-pointer): Private generic functions
Generic Function, (setf elements): Public generic functions
Generic Function, (setf fgcolor): Public generic functions
Generic Function, (setf frame-rate): Public generic functions
Generic Function, (setf function-keys-enabled-p): Public generic functions
Generic Function, (setf geometry): Public generic functions
Generic Function, (setf height): Public generic functions
Generic Function, (setf hooks): Public generic functions
Generic Function, (setf input-blocking): Public generic functions
Generic Function, (setf input-buffering-p): Public generic functions
Generic Function, (setf input-echoing-p): Public generic functions
Generic Function, (setf input-pointer): Private generic functions
Generic Function, (setf insert-mode-p): Public generic functions
Generic Function, (setf items): Public generic functions
Generic Function, (setf keymap): Public generic functions
Generic Function, (setf layout): Public generic functions
Generic Function, (setf margin-bottom): Private generic functions
Generic Function, (setf margin-left): Private generic functions
Generic Function, (setf margin-right): Private generic functions
Generic Function, (setf margin-top): Private generic functions
Generic Function, (setf max-buffer-length): Public generic functions
Generic Function, (setf max-item-length): Public generic functions
Generic Function, (setf menu-type): Public generic functions
Generic Function, (setf newline-translation-enabled-p): Public generic functions
Generic Function, (setf origin-x): Public generic functions
Generic Function, (setf origin-y): Public generic functions
Generic Function, (setf padding-bottom): Private generic functions
Generic Function, (setf padding-left): Private generic functions
Generic Function, (setf padding-right): Private generic functions
Generic Function, (setf padding-top): Private generic functions
Generic Function, (setf parent): Public generic functions
Generic Function, (setf plot-char): Public generic functions
Generic Function, (setf position-x): Public generic functions
Generic Function, (setf position-y): Public generic functions
Generic Function, (setf process-control-chars-p): Public generic functions
Generic Function, (setf reference): Private generic functions
Generic Function, (setf scrolling-enabled-p): Public generic functions
Generic Function, (setf scrolling-region): Public generic functions
Generic Function, (setf selectedp): Public generic functions
Generic Function, (setf selection-callback): Public generic functions
Generic Function, (setf simple-char): Public generic functions
Generic Function, (setf source-position): Public generic functions
Generic Function, (setf stackedp): Public generic functions
Generic Function, (setf style): Public generic functions
Generic Function, (setf title): Public generic functions
Generic Function, (setf value): Public generic functions
Generic Function, (setf visiblep): Public generic functions
Generic Function, (setf widget-position): Public generic functions
Generic Function, (setf width): Public generic functions
Generic Function, (setf window): Public generic functions
Generic Function, (setf window-position): Public generic functions
Generic Function, activep: Public generic functions
Generic Function, attributes: Public generic functions
Generic Function, background: Public generic functions
Generic Function, bgcolor: Public generic functions
Generic Function, bindings: Public generic functions
Generic Function, border-width: Public generic functions
Generic Function, border-width-bottom: Private generic functions
Generic Function, border-width-left: Private generic functions
Generic Function, border-width-right: Private generic functions
Generic Function, border-width-top: Private generic functions
Generic Function, borderp: Public generic functions
Generic Function, buffer: Public generic functions
Generic Function, calculate-layout: Public generic functions
Generic Function, callback: Public generic functions
Generic Function, char-to-string: Public generic functions
Generic Function, checkedp: Public generic functions
Generic Function, children: Public generic functions
Generic Function, clear: Public generic functions
Generic Function, closed-p: Public generic functions
Generic Function, color-pair: Public generic functions
Generic Function, column-widths: Public generic functions
Generic Function, complex-char-array: Public generic functions
Generic Function, concat-complex-string: Public generic functions
Generic Function, content-position: Private generic functions
Generic Function, convert-char: Public generic functions
Generic Function, coordinates: Public generic functions
Generic Function, copy-complex-string: Private generic functions
Generic Function, current-item: Public generic functions
Generic Function, current-item-mark: Public generic functions
Generic Function, current-item-position: Private generic functions
Generic Function, cursor-position: Public generic functions
Generic Function, cursor-position-x: Public generic functions
Generic Function, cursor-position-y: Public generic functions
Generic Function, cursor-visible-p: Public generic functions
Generic Function, cyclicp: Public generic functions
Generic Function, delete-function-key: Public generic functions
Generic Function, delete-next-char: Public generic functions
Generic Function, delete-previous-char: Public generic functions
Generic Function, dequeue: Public generic functions
Generic Function, dimensions: Public generic functions
Generic Function, display-pointer: Private generic functions
Generic Function, draw: Public generic functions
Generic Function, draw-stack-p: Private generic functions
Generic Function, elements: Public generic functions
Generic Function, enqueue: Public generic functions
Generic Function, event-code: Public generic functions
Generic Function, event-key: Public generic functions
Generic Function, external-height: Private generic functions
Generic Function, external-width: Private generic functions
Generic Function, fgcolor: Public generic functions
Generic Function, format-title: Private generic functions
Generic Function, frame-rate: Public generic functions
Generic Function, function-keys-enabled-p: Public generic functions
Generic Function, geometry: Public generic functions
Generic Function, get-wide-event: Public generic functions
Generic Function, handle-event: Private generic functions
Generic Function, height: Public generic functions
Generic Function, hooks: Public generic functions
Generic Function, input-blocking: Public generic functions
Generic Function, input-buffering-p: Public generic functions
Generic Function, input-echoing-p: Public generic functions
Generic Function, input-pointer: Private generic functions
Generic Function, insert-mode-p: Public generic functions
Generic Function, items: Public generic functions
Generic Function, key-to-string: Public generic functions
Generic Function, keymap: Public generic functions
Generic Function, last-item-number: Private generic functions
Generic Function, layout: Public generic functions
Generic Function, margin-bottom: Private generic functions
Generic Function, margin-left: Private generic functions
Generic Function, margin-right: Private generic functions
Generic Function, margin-top: Private generic functions
Generic Function, mark-for-refresh: Public generic functions
Generic Function, max-buffer-length: Public generic functions
Generic Function, max-item-length: Public generic functions
Generic Function, menu-type: Public generic functions
Generic Function, move-down: Public generic functions
Generic Function, move-left: Public generic functions
Generic Function, move-next-char: Public generic functions
Generic Function, move-previous-char: Public generic functions
Generic Function, move-right: Public generic functions
Generic Function, move-up: Public generic functions
Generic Function, name: Public generic functions
Generic Function, newline-translation-enabled-p: Public generic functions
Generic Function, origin-x: Public generic functions
Generic Function, origin-y: Public generic functions
Generic Function, padding-bottom: Private generic functions
Generic Function, padding-left: Private generic functions
Generic Function, padding-right: Private generic functions
Generic Function, padding-top: Private generic functions
Generic Function, parent: Public generic functions
Generic Function, plot-char: Public generic functions
Generic Function, position-x: Public generic functions
Generic Function, position-y: Public generic functions
Generic Function, process-control-chars-p: Public generic functions
Generic Function, reference: Private generic functions
Generic Function, refresh: Public generic functions
Generic Function, remove-item: Public generic functions
Generic Function, reset: Public generic functions
Generic Function, row-heights: Public generic functions
Generic Function, scrolling-enabled-p: Public generic functions
Generic Function, scrolling-region: Public generic functions
Generic Function, select: Public generic functions
Generic Function, select-first-item: Public generic functions
Generic Function, select-last-item: Public generic functions
Generic Function, select-next-item: Public generic functions
Generic Function, select-previous-item: Public generic functions
Generic Function, selectedp: Public generic functions
Generic Function, selection-callback: Public generic functions
Generic Function, simple-char: Public generic functions
Generic Function, stackedp: Public generic functions
Generic Function, style: Public generic functions
Generic Function, sub-window: Public generic functions
Generic Function, tablep: Private generic functions
Generic Function, text-ellipsize: Public generic functions
Generic Function, text-right-pad: Public generic functions
Generic Function, text-slice: Public generic functions
Generic Function, text-width: Public generic functions
Generic Function, title: Public generic functions
Generic Function, touch: Public generic functions
Generic Function, update-cursor-position: Private generic functions
Generic Function, value: Public generic functions
Generic Function, variable-column-width-p: Private generic functions
Generic Function, visible-height: Private generic functions
Generic Function, visible-width: Private generic functions
Generic Function, visiblep: Public generic functions
Generic Function, widget-position: Public generic functions
Generic Function, width: Public generic functions
Generic Function, window: Public generic functions
Generic Function, window-position: Public generic functions
Generic Function, winptr: Public generic functions
geometry: Public generic functions
geometry: Public generic functions
geometry: Public generic functions
geometry: Public generic functions
get-background-cchar_t: Private ordinary functions
get-background-char: Private ordinary functions
get-bitmask: Public ordinary functions
get-catch-tag: Private ordinary functions
get-char: Public ordinary functions
get-direction: Public ordinary functions
get-event: Public ordinary functions
get-event-handler: Private ordinary functions
get-form-values: Private ordinary functions
get-geometry-plist: Private ordinary functions
get-key-event: Private ordinary functions
get-mouse-event: Public ordinary functions
get-string: Public ordinary functions
get-wide-char: Public ordinary functions
get-wide-event: Public generic functions
get-wide-event: Public generic functions
get-wide-event: Public generic functions
get-wide-event: Public generic functions
goto: Public ordinary functions
gray-to-rgb: Private ordinary functions

H
handle-event: Private generic functions
handle-event: Private generic functions
handle-event: Private generic functions
handle-events: Private ordinary functions
height: Public generic functions
height: Public generic functions
height: Public generic functions
height: Public generic functions
height: Public generic functions
height: Public generic functions
height: Public generic functions
height: Public generic functions
height: Public generic functions
height: Public generic functions
height: Public generic functions
height: Public generic functions
height: Public generic functions
hex-to-rgb: Private ordinary functions
hex-to-sgr: Private ordinary functions
hook: Public ordinary functions
hooks: Public generic functions
hooks: Public generic functions

I
init-screen: Private ordinary functions
initialize: Public ordinary functions
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-leaves: Public ordinary functions
input-blocking: Public generic functions
input-blocking: Public generic functions
input-buffering-p: Public generic functions
input-buffering-p: Public generic functions
input-echoing-p: Public generic functions
input-echoing-p: Public generic functions
input-pointer: Private generic functions
input-pointer: Private generic functions
input-pointer: Private generic functions
input-pointer-x: Private ordinary functions
insert: Public ordinary functions
insert-char: Public ordinary functions
insert-line: Public ordinary functions
insert-mode-p: Public generic functions
insert-mode-p: Public generic functions
insert-mode-p: Public generic functions
insert-mode-p: Public generic functions
insert-nth: Public ordinary functions
insert-string: Public ordinary functions
insert-wide-char: Public ordinary functions
items: Public generic functions
items: Public generic functions
items: Public generic functions

J
join-lines: Public ordinary functions
join-strings: Public ordinary functions

K
key-alt: Public ordinary functions
key-code: Public ordinary functions
key-code-to-name: Public ordinary functions
key-ctrl: Public ordinary functions
key-name: Public ordinary functions
key-name-to-code: Public ordinary functions
key-p: Public ordinary functions
key-pressed-p: Public ordinary functions
key-shift: Public ordinary functions
key-supported-p: Public ordinary functions
key-to-string: Public generic functions
key-to-string: Public generic functions
key-to-string: Public generic functions
key-to-string: Public generic functions
key-to-string: Public generic functions
keymap: Public generic functions
keymap: Public generic functions
keyword-to-bitmask: Private ordinary functions

L
label: Public ordinary functions
label-text: Private ordinary functions
last-item-number: Private generic functions
last-item-number: Private generic functions
layout: Public generic functions
layout: Public generic functions
lead-byte-p: Private ordinary functions
leaves: Public ordinary functions
line: Public ordinary functions
list2array: Private ordinary functions

M
Macro, %defcdr: Private macros
Macro, access-alist: Private macros
Macro, complex-string-format: Public macros
Macro, define-keymap: Public macros
Macro, dogrid: Public macros
Macro, event-case: Public macros
Macro, mouse-bitmask: Private macros
Macro, save-excursion: Public macros
Macro, submit: Public macros
Macro, with-screen: Public macros
Macro, with-window: Public macros
Macro, with-windows: Public macros
make-background: Public ordinary functions
make-chtype: Private ordinary functions
make-dialog-button: Private ordinary functions
make-dialog-layout: Private ordinary functions
make-key: Public ordinary functions
make-load-form: Public standalone methods
make-load-form: Public standalone methods
mapc-plist: Public ordinary functions
margin-bottom: Private generic functions
margin-bottom: Private generic functions
margin-left: Private generic functions
margin-left: Private generic functions
margin-right: Private generic functions
margin-right: Private generic functions
margin-top: Private generic functions
margin-top: Private generic functions
mark-for-redraw: Public ordinary functions
mark-for-refresh: Public ordinary functions
mark-for-refresh: Public generic functions
mark-for-refresh: Public generic functions
mark-for-refresh: Public generic functions
mark-for-refresh: Public generic functions
max-buffer-length: Public generic functions
max-buffer-length: Public generic functions
max-item-length: Public generic functions
max-item-length: Public generic functions
menu-type: Public generic functions
menu-type: Public generic functions
merge-shapes: Public ordinary functions
Method, (setf activep): Public generic functions
Method, (setf attributes): Public generic functions
Method, (setf attributes): Public generic functions
Method, (setf attributes): Public generic functions
Method, (setf background): Public generic functions
Method, (setf bgcolor): Public generic functions
Method, (setf bgcolor): Public generic functions
Method, (setf bindings): Public generic functions
Method, (setf bindings): Public generic functions
Method, (setf border-width-bottom): Private generic functions
Method, (setf border-width-left): Private generic functions
Method, (setf border-width-right): Private generic functions
Method, (setf border-width-top): Private generic functions
Method, (setf buffer): Public generic functions
Method, (setf buffer): Public generic functions
Method, (setf callback): Public generic functions
Method, (setf checkedp): Public generic functions
Method, (setf children): Public generic functions
Method, (setf color-pair): Public generic functions
Method, (setf color-pair): Public generic functions
Method, (setf complex-char-array): Public generic functions
Method, (setf coordinates): Public generic functions
Method, (setf current-item-position): Private generic functions
Method, (setf cursor-position): Public generic functions
Method, (setf cursor-position-x): Public generic functions
Method, (setf cursor-position-x): Public generic functions
Method, (setf cursor-position-y): Public generic functions
Method, (setf cursor-position-y): Public generic functions
Method, (setf cursor-visible-p): Public generic functions
Method, (setf cyclicp): Public generic functions
Method, (setf dimensions): Public generic functions
Method, (setf dimensions): Public generic functions
Method, (setf display-pointer): Private generic functions
Method, (setf display-pointer): Private generic functions
Method, (setf elements): Public generic functions
Method, (setf fgcolor): Public generic functions
Method, (setf fgcolor): Public generic functions
Method, (setf frame-rate): Public generic functions
Method, (setf frame-rate): Public generic functions
Method, (setf function-keys-enabled-p): Public generic functions
Method, (setf geometry): Public generic functions
Method, (setf geometry): Public generic functions
Method, (setf geometry): Public generic functions
Method, (setf height): Public generic functions
Method, (setf height): Public generic functions
Method, (setf height): Public generic functions
Method, (setf hooks): Public generic functions
Method, (setf input-blocking): Public generic functions
Method, (setf input-buffering-p): Public generic functions
Method, (setf input-echoing-p): Public generic functions
Method, (setf input-pointer): Private generic functions
Method, (setf input-pointer): Private generic functions
Method, (setf insert-mode-p): Public generic functions
Method, (setf insert-mode-p): Public generic functions
Method, (setf insert-mode-p): Public generic functions
Method, (setf items): Public generic functions
Method, (setf items): Public generic functions
Method, (setf keymap): Public generic functions
Method, (setf layout): Public generic functions
Method, (setf margin-bottom): Private generic functions
Method, (setf margin-left): Private generic functions
Method, (setf margin-right): Private generic functions
Method, (setf margin-top): Private generic functions
Method, (setf max-buffer-length): Public generic functions
Method, (setf max-item-length): Public generic functions
Method, (setf menu-type): Public generic functions
Method, (setf newline-translation-enabled-p): Public generic functions
Method, (setf origin-x): Public generic functions
Method, (setf origin-y): Public generic functions
Method, (setf padding-bottom): Private generic functions
Method, (setf padding-left): Private generic functions
Method, (setf padding-right): Private generic functions
Method, (setf padding-top): Private generic functions
Method, (setf parent): Public generic functions
Method, (setf parent): Public generic functions
Method, (setf parent): Public generic functions
Method, (setf plot-char): Public generic functions
Method, (setf position-x): Public generic functions
Method, (setf position-x): Public generic functions
Method, (setf position-y): Public generic functions
Method, (setf position-y): Public generic functions
Method, (setf process-control-chars-p): Public generic functions
Method, (setf reference): Private generic functions
Method, (setf scrolling-enabled-p): Public generic functions
Method, (setf scrolling-region): Public generic functions
Method, (setf selectedp): Public generic functions
Method, (setf selection-callback): Public generic functions
Method, (setf simple-char): Public generic functions
Method, (setf source-position): Public generic functions
Method, (setf stackedp): Public generic functions
Method, (setf style): Public generic functions
Method, (setf style): Public generic functions
Method, (setf style): Public generic functions
Method, (setf style): Public generic functions
Method, (setf title): Public generic functions
Method, (setf value): Public generic functions
Method, (setf value): Public generic functions
Method, (setf value): Public generic functions
Method, (setf visiblep): Public generic functions
Method, (setf widget-position): Public generic functions
Method, (setf widget-position): Public generic functions
Method, (setf width): Public generic functions
Method, (setf width): Public generic functions
Method, (setf width): Public generic functions
Method, (setf width): Public generic functions
Method, (setf width): Public generic functions
Method, (setf window): Public generic functions
Method, (setf window): Public generic functions
Method, (setf window-position): Public generic functions
Method, activep: Public generic functions
Method, attributes: Public generic functions
Method, attributes: Public generic functions
Method, background: Public generic functions
Method, bgcolor: Public generic functions
Method, bgcolor: Public generic functions
Method, bindings: Public generic functions
Method, bindings: Public generic functions
Method, border-width: Public generic functions
Method, border-width-bottom: Private generic functions
Method, border-width-left: Private generic functions
Method, border-width-right: Private generic functions
Method, border-width-top: Private generic functions
Method, borderp: Public generic functions
Method, borderp: Public generic functions
Method, buffer: Public generic functions
Method, buffer: Public generic functions
Method, calculate-layout: Public generic functions
Method, calculate-layout: Public generic functions
Method, callback: Public generic functions
Method, char-to-string: Public generic functions
Method, char-to-string: Public generic functions
Method, checkedp: Public generic functions
Method, children: Public generic functions
Method, clear: Public generic functions
Method, clear: Public generic functions
Method, clear: Public generic functions
Method, clear: Public generic functions
Method, close: Public standalone methods
Method, close: Public standalone methods
Method, close: Public standalone methods
Method, close: Public standalone methods
Method, close: Public standalone methods
Method, close: Public standalone methods
Method, close: Public standalone methods
Method, closed-p: Public generic functions
Method, color-pair: Public generic functions
Method, column-widths: Public generic functions
Method, column-widths: Public generic functions
Method, complex-char-array: Public generic functions
Method, concat-complex-string: Public generic functions
Method, concat-complex-string: Public generic functions
Method, concat-complex-string: Public generic functions
Method, content-position: Private generic functions
Method, content-position: Private generic functions
Method, convert-char: Public generic functions
Method, convert-char: Public generic functions
Method, convert-char: Public generic functions
Method, coordinates: Public generic functions
Method, copy-complex-string: Private generic functions
Method, current-item: Public generic functions
Method, current-item: Public generic functions
Method, current-item-mark: Public generic functions
Method, current-item-position: Private generic functions
Method, cursor-position: Public generic functions
Method, cursor-position-x: Public generic functions
Method, cursor-position-x: Public generic functions
Method, cursor-position-y: Public generic functions
Method, cursor-position-y: Public generic functions
Method, cursor-visible-p: Public generic functions
Method, cyclicp: Public generic functions
Method, delete-function-key: Public generic functions
Method, delete-function-key: Public generic functions
Method, delete-function-key: Public generic functions
Method, delete-next-char: Public generic functions
Method, delete-next-char: Public generic functions
Method, delete-previous-char: Public generic functions
Method, delete-previous-char: Public generic functions
Method, dequeue: Public generic functions
Method, dequeue: Public generic functions
Method, dimensions: Public generic functions
Method, display-pointer: Private generic functions
Method, display-pointer: Private generic functions
Method, draw: Public generic functions
Method, draw: Public generic functions
Method, draw: Public generic functions
Method, draw: Public generic functions
Method, draw: Public generic functions
Method, draw: Public generic functions
Method, draw: Public generic functions
Method, draw: Public generic functions
Method, draw: Public generic functions
Method, draw: Public generic functions
Method, draw: Public generic functions
Method, draw-stack-p: Private generic functions
Method, elements: Public generic functions
Method, enqueue: Public generic functions
Method, enqueue: Public generic functions
Method, event-code: Public generic functions
Method, event-key: Public generic functions
Method, external-height: Private generic functions
Method, external-height: Private generic functions
Method, external-width: Private generic functions
Method, external-width: Private generic functions
Method, external-width: Private generic functions
Method, fgcolor: Public generic functions
Method, fgcolor: Public generic functions
Method, format-title: Private generic functions
Method, format-title: Private generic functions
Method, frame-rate: Public generic functions
Method, frame-rate: Public generic functions
Method, function-keys-enabled-p: Public generic functions
Method, geometry: Public generic functions
Method, geometry: Public generic functions
Method, geometry: Public generic functions
Method, get-wide-event: Public generic functions
Method, get-wide-event: Public generic functions
Method, get-wide-event: Public generic functions
Method, handle-event: Private generic functions
Method, handle-event: Private generic functions
Method, height: Public generic functions
Method, height: Public generic functions
Method, height: Public generic functions
Method, height: Public generic functions
Method, height: Public generic functions
Method, height: Public generic functions
Method, height: Public generic functions
Method, height: Public generic functions
Method, height: Public generic functions
Method, height: Public generic functions
Method, height: Public generic functions
Method, height: Public generic functions
Method, hooks: Public generic functions
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, input-blocking: Public generic functions
Method, input-buffering-p: Public generic functions
Method, input-echoing-p: Public generic functions
Method, input-pointer: Private generic functions
Method, input-pointer: Private generic functions
Method, insert-mode-p: Public generic functions
Method, insert-mode-p: Public generic functions
Method, insert-mode-p: Public generic functions
Method, items: Public generic functions
Method, items: Public generic functions
Method, key-to-string: Public generic functions
Method, key-to-string: Public generic functions
Method, key-to-string: Public generic functions
Method, key-to-string: Public generic functions
Method, keymap: Public generic functions
Method, last-item-number: Private generic functions
Method, layout: Public generic functions
Method, make-load-form: Public standalone methods
Method, make-load-form: Public standalone methods
Method, margin-bottom: Private generic functions
Method, margin-left: Private generic functions
Method, margin-right: Private generic functions
Method, margin-top: Private generic functions
Method, mark-for-refresh: Public generic functions
Method, mark-for-refresh: Public generic functions
Method, mark-for-refresh: Public generic functions
Method, max-buffer-length: Public generic functions
Method, max-item-length: Public generic functions
Method, menu-type: Public generic functions
Method, move-down: Public generic functions
Method, move-down: Public generic functions
Method, move-left: Public generic functions
Method, move-left: Public generic functions
Method, move-next-char: Public generic functions
Method, move-next-char: Public generic functions
Method, move-next-char: Public generic functions
Method, move-previous-char: Public generic functions
Method, move-previous-char: Public generic functions
Method, move-previous-char: Public generic functions
Method, move-right: Public generic functions
Method, move-right: Public generic functions
Method, move-up: Public generic functions
Method, move-up: Public generic functions
Method, name: Public generic functions
Method, newline-translation-enabled-p: Public generic functions
Method, origin-x: Public generic functions
Method, origin-y: Public generic functions
Method, padding-bottom: Private generic functions
Method, padding-left: Private generic functions
Method, padding-right: Private generic functions
Method, padding-top: Private generic functions
Method, parent: Public generic functions
Method, parent: Public generic functions
Method, parent: Public generic functions
Method, plot-char: Public generic functions
Method, position-x: Public generic functions
Method, position-x: Public generic functions
Method, position-x: Public generic functions
Method, position-y: Public generic functions
Method, position-y: Public generic functions
Method, position-y: Public generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, process-control-chars-p: Public generic functions
Method, reference: Private generic functions
Method, refresh: Public generic functions
Method, refresh: Public generic functions
Method, refresh: Public generic functions
Method, refresh: Public generic functions
Method, remove-item: Public generic functions
Method, reset: Public generic functions
Method, reset: Public generic functions
Method, reset: Public generic functions
Method, reset: Public generic functions
Method, row-heights: Public generic functions
Method, row-heights: Public generic functions
Method, scrolling-enabled-p: Public generic functions
Method, scrolling-region: Public generic functions
Method, select: Public generic functions
Method, select: Public generic functions
Method, select-first-item: Public generic functions
Method, select-last-item: Public generic functions
Method, select-next-item: Public generic functions
Method, select-next-item: Public generic functions
Method, select-next-item: Public generic functions
Method, select-previous-item: Public generic functions
Method, select-previous-item: Public generic functions
Method, select-previous-item: Public generic functions
Method, selectedp: Public generic functions
Method, selection-callback: Public generic functions
Method, simple-char: Public generic functions
Method, stackedp: Public generic functions
Method, stream-line-column: Public standalone methods
Method, stream-read-char: Public standalone methods
Method, stream-unread-char: Public standalone methods
Method, stream-write-char: Public standalone methods
Method, stream-write-char: Public standalone methods
Method, style: Public generic functions
Method, style: Public generic functions
Method, sub-window: Public generic functions
Method, tablep: Private generic functions
Method, text-ellipsize: Public generic functions
Method, text-ellipsize: Public generic functions
Method, text-right-pad: Public generic functions
Method, text-right-pad: Public generic functions
Method, text-slice: Public generic functions
Method, text-slice: Public generic functions
Method, text-width: Public generic functions
Method, text-width: Public generic functions
Method, title: Public generic functions
Method, touch: Public generic functions
Method, touch: Public generic functions
Method, update-cursor-position: Private generic functions
Method, update-cursor-position: Private generic functions
Method, update-cursor-position: Private generic functions
Method, update-cursor-position: Private generic functions
Method, update-cursor-position: Private generic functions
Method, update-cursor-position: Private generic functions
Method, update-cursor-position: Private generic functions
Method, update-cursor-position: Private generic functions
Method, update-cursor-position: Private generic functions
Method, value: Public generic functions
Method, value: Public generic functions
Method, value: Public generic functions
Method, value: Public generic functions
Method, value: Public generic functions
Method, value: Public generic functions
Method, variable-column-width-p: Private generic functions
Method, visible-height: Private generic functions
Method, visible-height: Private generic functions
Method, visible-width: Private generic functions
Method, visible-width: Private generic functions
Method, visiblep: Public generic functions
Method, widget-position: Public generic functions
Method, widget-position: Public generic functions
Method, widget-position: Public generic functions
Method, width: Public generic functions
Method, width: Public generic functions
Method, width: Public generic functions
Method, width: Public generic functions
Method, width: Public generic functions
Method, width: Public generic functions
Method, width: Public generic functions
Method, width: Public generic functions
Method, width: Public generic functions
Method, width: Public generic functions
Method, width: Public generic functions
Method, width: Public generic functions
Method, width: Public generic functions
Method, window: Public generic functions
Method, window: Public generic functions
Method, window-position: Public generic functions
Method, winptr: Public generic functions
mouse-bitmask: Private macros
move: Public ordinary functions
move-direction: Public ordinary functions
move-down: Public generic functions
move-down: Public generic functions
move-down: Public generic functions
move-down-possible-p: Private ordinary functions
move-end-of-line: Public ordinary functions
move-left: Public generic functions
move-left: Public generic functions
move-left: Public generic functions
move-left-possible-p: Private ordinary functions
move-next-char: Public generic functions
move-next-char: Public generic functions
move-next-char: Public generic functions
move-next-char: Public generic functions
move-previous-char: Public generic functions
move-previous-char: Public generic functions
move-previous-char: Public generic functions
move-previous-char: Public generic functions
move-right: Public generic functions
move-right: Public generic functions
move-right: Public generic functions
move-right-possible-p: Private ordinary functions
move-start-of-line: Public ordinary functions
move-up: Public generic functions
move-up: Public generic functions
move-up: Public generic functions
move-up-possible-p: Private ordinary functions
move-window: Public ordinary functions
multi-byte-p: Private ordinary functions
multiplep: Private ordinary functions

N
n-trail-bytes: Private ordinary functions
name: Public generic functions
name: Public generic functions
nconcat-complex-string: Public ordinary functions
new-line: Public ordinary functions
new-terminal: Private ordinary functions
newline-translation-enabled-p: Public generic functions
newline-translation-enabled-p: Public generic functions
next-item-p: Private ordinary functions
nth2d: Public ordinary functions
number-to-pair: Private ordinary functions

O
origin-x: Public generic functions
origin-x: Public generic functions
origin-y: Public generic functions
origin-y: Public generic functions

P
padding-bottom: Private generic functions
padding-bottom: Private generic functions
padding-left: Private generic functions
padding-left: Private generic functions
padding-right: Private generic functions
padding-right: Private generic functions
padding-top: Private generic functions
padding-top: Private generic functions
pair-plist: Public ordinary functions
pair-to-number: Public ordinary functions
parent: Public generic functions
parent: Public generic functions
parent: Public generic functions
parent: Public generic functions
parse-key: Private ordinary functions
parse-key-spec: Private ordinary functions
plist2alist: Private ordinary functions
plot-char: Public generic functions
plot-char: Public generic functions
polygon: Public ordinary functions
position-x: Public generic functions
position-x: Public generic functions
position-x: Public generic functions
position-x: Public generic functions
position-y: Public generic functions
position-y: Public generic functions
position-y: Public generic functions
position-y: Public generic functions
previous-char=: Private ordinary functions
previous-item-p: Private ordinary functions
previous-line-length: Private ordinary functions
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
process: Public ordinary functions
process-control-chars-p: Public generic functions
process-control-chars-p: Public generic functions
push-item: Public ordinary functions
put: Public ordinary functions
put-char: Public ordinary functions
put-string: Public ordinary functions

Q
quadrilateral: Public ordinary functions
queue-items: Private ordinary functions

R
random-position: Public ordinary functions
rectangle: Public ordinary functions
ref2d: Public ordinary functions
reference: Private generic functions
reference: Private generic functions
refresh: Public ordinary functions
refresh: Public generic functions
refresh: Public generic functions
refresh: Public generic functions
refresh: Public generic functions
refresh: Public generic functions
refresh-marked: Public ordinary functions
remove-attribute: Private ordinary functions
remove-attributes: Public ordinary functions
remove-attributes: Public ordinary functions
remove-item: Public generic functions
remove-item: Public generic functions
remove-nth: Public ordinary functions
replace-nth: Public ordinary functions
reset: Public generic functions
reset: Public generic functions
reset: Public generic functions
reset: Public generic functions
reset: Public generic functions
reset-form: Public ordinary functions
reset-menu: Private ordinary functions
resize: Public ordinary functions
restore: Public ordinary functions
return-element-value: Public ordinary functions
return-form-values: Public ordinary functions
return-from-menu: Public ordinary functions
rgb-to-hex: Private ordinary functions
rgb-to-rgb6: Private ordinary functions
rgb6-to-rgb: Private ordinary functions
rgb6-to-sgr: Private ordinary functions
right-padding: Private ordinary functions
rmi2sub: Private ordinary functions
rotate: Private ordinary functions
row-heights: Public generic functions
row-heights: Public generic functions
row-heights: Public generic functions
run-event-loop: Public ordinary functions
run-hook: Private ordinary functions

S
save-excursion: Public macros
scroll: Public ordinary functions
scrolling-enabled-p: Public generic functions
scrolling-enabled-p: Public generic functions
scrolling-region: Public generic functions
scrolling-region: Public generic functions
select: Public generic functions
select: Public generic functions
select: Public generic functions
select-first-item: Public generic functions
select-first-item: Public generic functions
select-last-item: Public generic functions
select-last-item: Public generic functions
select-next-element: Private ordinary functions
select-next-item: Public generic functions
select-next-item: Public generic functions
select-next-item: Public generic functions
select-next-item: Public generic functions
select-previous-element: Private ordinary functions
select-previous-item: Public generic functions
select-previous-item: Public generic functions
select-previous-item: Public generic functions
select-previous-item: Public generic functions
selectedp: Public generic functions
selectedp: Public generic functions
selection-callback: Public generic functions
selection-callback: Public generic functions
set-attributes: Public ordinary functions
set-attributes: Private ordinary functions
set-background-cchar_t: Private ordinary functions
set-background-char: Private ordinary functions
set-color-pair: Private ordinary functions
set-current-terminal: Private ordinary functions
set-cursor-visibility: Private ordinary functions
set-default-color-pair: Private ordinary functions
set-equal: Private ordinary functions
set-geometry-plist: Private ordinary functions
set-input-blocking: Private ordinary functions
set-input-mode: Private ordinary functions
set-mouse-event: Public ordinary functions
sgr-to-hex: Private ordinary functions
sgr-to-rgb6: Private ordinary functions
shape-extent: Public ordinary functions
simple-char: Public generic functions
simple-char: Public generic functions
split-lines: Public ordinary functions
split-size: Private ordinary functions
split-string: Public ordinary functions
stack-empty-p: Public ordinary functions
stack-move: Public ordinary functions
stack-pop: Public ordinary functions
stack-push: Public ordinary functions
stackedp: Public generic functions
stackedp: Public generic functions
stream-line-column: Public standalone methods
stream-read-char: Public standalone methods
stream-unread-char: Public standalone methods
stream-write-char: Public standalone methods
stream-write-char: Public standalone methods
string-to-char: Public ordinary functions
string-width: Public ordinary functions
style: Public generic functions
style: Public generic functions
style: Public generic functions
style-char: Private ordinary functions
sub-window: Public generic functions
sub-window: Public generic functions
sub2rmi: Private ordinary functions
submit: Public macros
sync-collection-grid: Private ordinary functions
sync-grid-collection: Private ordinary functions

T
tablep: Private generic functions
tablep: Private generic functions
test-utf-8: Private ordinary functions
text-ellipsize: Public generic functions
text-ellipsize: Public generic functions
text-ellipsize: Public generic functions
text-right-pad: Public generic functions
text-right-pad: Public generic functions
text-right-pad: Public generic functions
text-slice: Public generic functions
text-slice: Public generic functions
text-slice: Public generic functions
text-width: Public generic functions
text-width: Public generic functions
text-width: Public generic functions
textarea-add-char: Private ordinary functions
tigetstr: Public ordinary functions
title: Public generic functions
title: Public generic functions
toggle-checkbox: Private ordinary functions
toggle-insert-mode: Public ordinary functions
toggle-item-checkbox: Public ordinary functions
tokenize-key-spec: Private ordinary functions
touch: Public ordinary functions
touch: Public generic functions
touch: Public generic functions
touch: Public generic functions
trail-byte-p: Private ordinary functions
triangle: Public ordinary functions

U
unbind: Public ordinary functions
unget-char: Public ordinary functions
unicode-to-utf-8: Private ordinary functions
unpair-plist: Public ordinary functions
update-cursor-position: Private generic functions
update-cursor-position: Private generic functions
update-cursor-position: Private generic functions
update-cursor-position: Private generic functions
update-cursor-position: Private generic functions
update-cursor-position: Private generic functions
update-cursor-position: Private generic functions
update-cursor-position: Private generic functions
update-cursor-position: Private generic functions
update-cursor-position: Private generic functions
use-terminal-colors-p: Public ordinary functions
utf-8-to-unicode: Private ordinary functions

V
value: Public generic functions
value: Public generic functions
value: Public generic functions
value: Public generic functions
value: Public generic functions
value: Public generic functions
value: Public generic functions
variable-column-width-p: Private generic functions
variable-column-width-p: Private generic functions
vector-not-empty-p: Private ordinary functions
visible-dimensions: Private ordinary functions
visible-grid-columns: Private ordinary functions
visible-grid-rows: Private ordinary functions
visible-height: Private generic functions
visible-height: Private generic functions
visible-height: Private generic functions
visible-width: Private generic functions
visible-width: Private generic functions
visible-width: Private generic functions
visiblep: Public generic functions
visiblep: Public generic functions

W
wacs: Public ordinary functions
wait-for-event: Public ordinary functions
widget-position: Public generic functions
widget-position: Public generic functions
widget-position: Public generic functions
widget-position: Public generic functions
width: Public generic functions
width: Public generic functions
width: Public generic functions
width: Public generic functions
width: Public generic functions
width: Public generic functions
width: Public generic functions
width: Public generic functions
width: Public generic functions
width: Public generic functions
width: Public generic functions
width: Public generic functions
width: Public generic functions
width: Public generic functions
window: Public generic functions
window: Public generic functions
window: Public generic functions
window-position: Public generic functions
window-position: Public generic functions
winptr: Public generic functions
winptr: Public generic functions
with-screen: Public macros
with-window: Public macros
with-windows: Public macros
wrap-lines: Public ordinary functions
wrap-string: Public ordinary functions

X
xchar2chtype: Private ordinary functions


A.3 Variables

Jump to:   *  
A   B   C   D   E   F   G   H   I   K   L   M   N   O   P   R   S   T   U   V   W  
Index Entry  Section

*
*ansi-color-list*: Public special variables
*bitmask-alist*: Private special variables
*color-pair-alist*: Private special variables
*default-color-pair*: Private special variables
*extended-key-caps*: Private special variables
*job-queue*: Private special variables
*key-alist*: Private special variables
*keymaps*: Private special variables
*main-stack*: Public special variables
*menu-stack*: Private special variables
*missing-xterm-cap-sequences*: Private special variables
*missing-xterm-fkey-sequences*: Private special variables
*mouse-button-event-bitmask-alist*: Private special variables
*mouse-event-bitmask-alist*: Private special variables
*valid-attributes*: Private special variables
*xterm-color-hex-list*: Private special variables
*xterm-color-name-list*: Private special variables

A
acs-alist: Private special variables
activep: Public classes
activep: Private classes
align: Public classes
alt: Public structures
attributes: Public classes
attributes: Public classes

B
background: Public classes
bgcolor: Public classes
bgcolor: Public classes
bindings: Public classes
bindings: Private classes
border-width: Public classes
border-width: Private classes
border-width-bottom: Private classes
border-width-left: Private classes
border-width-right: Private classes
border-width-top: Private classes
border-win: Public classes
borderp: Public classes
borderp: Private classes
buffer: Public classes
buffer: Public classes

C
callback: Public classes
checkedp: Public classes
children: Public classes
closed-p: Public classes
code: Public classes
colors-enabled-p: Public classes
complex-char-array: Public classes
coordinates: Public classes
ctrl: Public structures
current-item-mark: Public classes
current-item-number: Public classes
current-item-position: Public classes
current-keymap: Private classes
cursor-position: Public classes
cursor-position-x: Public classes
cursor-position-y: Public classes
cursor-visible-p: Public classes
cyclicp: Public classes
cyclicp: Public classes

D
default-title: Public classes
display-pointer: Public classes
display-pointer: Public classes
draw-stack-p: Public classes

E
ellipsis: Public classes
error: Public conditions

F
fgcolor: Public classes
fgcolor: Public classes
form: Public conditions
function-keys-enabled-p: Public classes

G
grid-column: Public classes
grid-column-gap: Public classes
grid-columns: Public classes
grid-row: Public classes
grid-row-gap: Public classes
grid-rows: Public classes

H
head: Public classes
head: Public classes
height: Public classes
height: Public classes
hooks: Private classes

I
initial-dimension-hint: Public classes
input-blocking: Public classes
input-buffering-p: Public classes
input-echoing-p: Public classes
input-pointer: Public classes
input-pointer: Public classes
insert-mode-p: Public classes
insert-mode-p: Public classes
insert-mode-p: Public classes
item-padding-bottom: Public classes
item-padding-left: Public classes
item-padding-right: Public classes
item-padding-top: Public classes
items: Public classes

K
key: Public classes
keymap: Private classes

L
layout: Public classes
lock: Public classes

M
margin-bottom: Private classes
margin-left: Private classes
margin-right: Private classes
margin-top: Private classes
max-buffer-length: Public classes
max-item-length: Public classes
menu: Public classes
menu-type: Public classes

N
name: Public structures
name: Private classes
newline-translation-enabled-p: Public classes

O
origin-x: Public classes
origin-y: Public classes

P
padding-bottom: Private classes
padding-left: Private classes
padding-right: Private classes
padding-top: Private classes
parent: Public classes
parent: Public classes
parent: Public classes
parent: Public classes
parent: Private classes
plot-char: Public classes
position-x: Public classes
position-x: Public classes
position-y: Public classes
position-y: Public classes
process-control-chars-p: Public classes

R
reference: Public classes
region-columns: Public classes
region-rows: Public classes
region-start-column: Public classes
region-start-row: Public classes
relativep: Public classes

S
save-selected-item-p: Public classes
scrolling-enabled-p: Public classes
scrolling-enabled-p: Public classes
scrolling-region: Public classes
selectedp: Private classes
selection-callback: Public classes
shadow-win: Public classes
shadowp: Public classes
shift: Public structures
simple-char: Public classes
Slot, activep: Public classes
Slot, activep: Private classes
Slot, align: Public classes
Slot, alt: Public structures
Slot, attributes: Public classes
Slot, attributes: Public classes
Slot, background: Public classes
Slot, bgcolor: Public classes
Slot, bgcolor: Public classes
Slot, bindings: Public classes
Slot, bindings: Private classes
Slot, border-width: Public classes
Slot, border-width: Private classes
Slot, border-width-bottom: Private classes
Slot, border-width-left: Private classes
Slot, border-width-right: Private classes
Slot, border-width-top: Private classes
Slot, border-win: Public classes
Slot, borderp: Public classes
Slot, borderp: Private classes
Slot, buffer: Public classes
Slot, buffer: Public classes
Slot, callback: Public classes
Slot, checkedp: Public classes
Slot, children: Public classes
Slot, closed-p: Public classes
Slot, code: Public classes
Slot, colors-enabled-p: Public classes
Slot, complex-char-array: Public classes
Slot, coordinates: Public classes
Slot, ctrl: Public structures
Slot, current-item-mark: Public classes
Slot, current-item-number: Public classes
Slot, current-item-position: Public classes
Slot, current-keymap: Private classes
Slot, cursor-position: Public classes
Slot, cursor-position-x: Public classes
Slot, cursor-position-y: Public classes
Slot, cursor-visible-p: Public classes
Slot, cyclicp: Public classes
Slot, cyclicp: Public classes
Slot, default-title: Public classes
Slot, display-pointer: Public classes
Slot, display-pointer: Public classes
Slot, draw-stack-p: Public classes
Slot, ellipsis: Public classes
Slot, error: Public conditions
Slot, fgcolor: Public classes
Slot, fgcolor: Public classes
Slot, form: Public conditions
Slot, function-keys-enabled-p: Public classes
Slot, grid-column: Public classes
Slot, grid-column-gap: Public classes
Slot, grid-columns: Public classes
Slot, grid-row: Public classes
Slot, grid-row-gap: Public classes
Slot, grid-rows: Public classes
Slot, head: Public classes
Slot, head: Public classes
Slot, height: Public classes
Slot, height: Public classes
Slot, hooks: Private classes
Slot, initial-dimension-hint: Public classes
Slot, input-blocking: Public classes
Slot, input-buffering-p: Public classes
Slot, input-echoing-p: Public classes
Slot, input-pointer: Public classes
Slot, input-pointer: Public classes
Slot, insert-mode-p: Public classes
Slot, insert-mode-p: Public classes
Slot, insert-mode-p: Public classes
Slot, item-padding-bottom: Public classes
Slot, item-padding-left: Public classes
Slot, item-padding-right: Public classes
Slot, item-padding-top: Public classes
Slot, items: Public classes
Slot, key: Public classes
Slot, keymap: Private classes
Slot, layout: Public classes
Slot, lock: Public classes
Slot, margin-bottom: Private classes
Slot, margin-left: Private classes
Slot, margin-right: Private classes
Slot, margin-top: Private classes
Slot, max-buffer-length: Public classes
Slot, max-item-length: Public classes
Slot, menu: Public classes
Slot, menu-type: Public classes
Slot, name: Public structures
Slot, name: Private classes
Slot, newline-translation-enabled-p: Public classes
Slot, origin-x: Public classes
Slot, origin-y: Public classes
Slot, padding-bottom: Private classes
Slot, padding-left: Private classes
Slot, padding-right: Private classes
Slot, padding-top: Private classes
Slot, parent: Public classes
Slot, parent: Public classes
Slot, parent: Public classes
Slot, parent: Public classes
Slot, parent: Private classes
Slot, plot-char: Public classes
Slot, position-x: Public classes
Slot, position-x: Public classes
Slot, position-y: Public classes
Slot, position-y: Public classes
Slot, process-control-chars-p: Public classes
Slot, reference: Public classes
Slot, region-columns: Public classes
Slot, region-rows: Public classes
Slot, region-start-column: Public classes
Slot, region-start-row: Public classes
Slot, relativep: Public classes
Slot, save-selected-item-p: Public classes
Slot, scrolling-enabled-p: Public classes
Slot, scrolling-enabled-p: Public classes
Slot, scrolling-region: Public classes
Slot, selectedp: Private classes
Slot, selection-callback: Public classes
Slot, shadow-win: Public classes
Slot, shadowp: Public classes
Slot, shift: Public structures
Slot, simple-char: Public classes
Slot, soft-labels-enabled-p: Public classes
Slot, soft-labels-layout: Public classes
Slot, source-position: Public classes
Slot, stackedp: Public classes
Slot, style: Private classes
Slot, sub-window: Private classes
Slot, tablep: Public classes
Slot, tail: Public classes
Slot, tail: Public classes
Slot, title: Private classes
Slot, use-terminal-colors-p: Public classes
Slot, value: Public classes
Slot, value: Private classes
Slot, variable-column-width-p: Public classes
Slot, visiblep: Public classes
Slot, width: Public classes
Slot, width: Public classes
Slot, width: Public classes
Slot, width: Public classes
Slot, window: Public classes
Slot, window: Private classes
Slot, winptr: Public classes
soft-labels-enabled-p: Public classes
soft-labels-layout: Public classes
source-position: Public classes
Special Variable, *ansi-color-list*: Public special variables
Special Variable, *bitmask-alist*: Private special variables
Special Variable, *color-pair-alist*: Private special variables
Special Variable, *default-color-pair*: Private special variables
Special Variable, *extended-key-caps*: Private special variables
Special Variable, *job-queue*: Private special variables
Special Variable, *key-alist*: Private special variables
Special Variable, *keymaps*: Private special variables
Special Variable, *main-stack*: Public special variables
Special Variable, *menu-stack*: Private special variables
Special Variable, *missing-xterm-cap-sequences*: Private special variables
Special Variable, *missing-xterm-fkey-sequences*: Private special variables
Special Variable, *mouse-button-event-bitmask-alist*: Private special variables
Special Variable, *mouse-event-bitmask-alist*: Private special variables
Special Variable, *valid-attributes*: Private special variables
Special Variable, *xterm-color-hex-list*: Private special variables
Special Variable, *xterm-color-name-list*: Private special variables
Special Variable, acs-alist: Private special variables
Special Variable, wide-acs-alist: Private special variables
stackedp: Public classes
style: Private classes
sub-window: Private classes

T
tablep: Public classes
tail: Public classes
tail: Public classes
title: Private classes

U
use-terminal-colors-p: Public classes

V
value: Public classes
value: Private classes
variable-column-width-p: Public classes
visiblep: Public classes

W
wide-acs-alist: Private special variables
width: Public classes
width: Public classes
width: Public classes
width: Public classes
window: Public classes
window: Private classes
winptr: Public classes


A.4 Data types

Jump to:   A   B   C   D   E   F   G   H   I   J   K   L   M   N   P   Q   R   S   T   U   W  
Index Entry  Section

A
addch.lisp: The croatoan/addch․lisp file
addstr.lisp: The croatoan/addstr․lisp file
add_wch.lisp: The croatoan/add_wch․lisp file
attr.lisp: The croatoan/attr․lisp file

B
beep.lisp: The croatoan/beep․lisp file
bkgd.lisp: The croatoan/bkgd․lisp file
bkgrnd.lisp: The croatoan/bkgrnd․lisp file
border.lisp: The croatoan/border․lisp file
border_set.lisp: The croatoan/border_set․lisp file
button: Public classes

C
character.lisp: The croatoan/character․lisp file
checkbox: Public classes
checklist: Public classes
checklist: Public classes
Class, button: Public classes
Class, checkbox: Public classes
Class, checklist: Public classes
Class, checklist: Public classes
Class, collection: Public classes
Class, column-layout: Public classes
Class, complex-char: Public classes
Class, complex-string: Public classes
Class, component: Private classes
Class, dialog: Private classes
Class, dropdown: Public classes
Class, element: Private classes
Class, event: Public classes
Class, extended-window: Private classes
Class, field: Public classes
Class, form: Public classes
Class, form-window: Public classes
Class, grid: Public classes
Class, inputbox: Public classes
Class, keymap: Public classes
Class, label: Public classes
Class, layout: Public classes
Class, menu: Public classes
Class, menu-item: Public classes
Class, menu-window: Public classes
Class, menubox: Public classes
Class, mouse-event: Public classes
Class, msgbox: Public classes
Class, node: Public classes
Class, pad: Public classes
Class, panel: Public classes
Class, queue: Public classes
Class, row-layout: Public classes
Class, screen: Public classes
Class, shape: Public classes
Class, simple-queue: Public classes
Class, stack: Public classes
Class, sub-pad: Public classes
Class, sub-window: Public classes
Class, textarea: Public classes
Class, widget: Public classes
Class, window: Public classes
classes.lisp: The croatoan/classes․lisp file
clear.lisp: The croatoan/clear․lisp file
collection: Public classes
color.lisp: The croatoan/color․lisp file
column-layout: Public classes
complex-char: Public classes
complex-string: Public classes
component: Private classes
Condition, job-error: Public conditions
croatoan: The croatoan system
croatoan.asd: The croatoan/croatoan․asd file
croatoan.lisp: The croatoan/croatoan․lisp file

D
de.anvi.croatoan: The de․anvi․croatoan package
de.anvi.croatoan.dialog: The de․anvi․croatoan․dialog package
de.anvi.croatoan.soft-labels: The de․anvi․croatoan․soft-labels package
define_key.lisp: The croatoan/define_key․lisp file
delch.lisp: The croatoan/delch․lisp file
deleteln.lisp: The croatoan/deleteln․lisp file
dialog: Private classes
dialog.lisp: The croatoan/dialog․lisp file
dropdown: Public classes
dropdown.lisp: The croatoan/dropdown․lisp file

E
element: Private classes
event: Public classes
extended-window: Private classes

F
field: Public classes
field.lisp: The croatoan/field․lisp file
File, addch.lisp: The croatoan/addch․lisp file
File, addstr.lisp: The croatoan/addstr․lisp file
File, add_wch.lisp: The croatoan/add_wch․lisp file
File, attr.lisp: The croatoan/attr․lisp file
File, beep.lisp: The croatoan/beep․lisp file
File, bkgd.lisp: The croatoan/bkgd․lisp file
File, bkgrnd.lisp: The croatoan/bkgrnd․lisp file
File, border.lisp: The croatoan/border․lisp file
File, border_set.lisp: The croatoan/border_set․lisp file
File, character.lisp: The croatoan/character․lisp file
File, classes.lisp: The croatoan/classes․lisp file
File, clear.lisp: The croatoan/clear․lisp file
File, color.lisp: The croatoan/color․lisp file
File, croatoan.asd: The croatoan/croatoan․asd file
File, croatoan.lisp: The croatoan/croatoan․lisp file
File, define_key.lisp: The croatoan/define_key․lisp file
File, delch.lisp: The croatoan/delch․lisp file
File, deleteln.lisp: The croatoan/deleteln․lisp file
File, dialog.lisp: The croatoan/dialog․lisp file
File, dropdown.lisp: The croatoan/dropdown․lisp file
File, field.lisp: The croatoan/field․lisp file
File, form.lisp: The croatoan/form․lisp file
File, getch.lisp: The croatoan/getch․lisp file
File, getstr.lisp: The croatoan/getstr․lisp file
File, get_wch.lisp: The croatoan/get_wch․lisp file
File, gray_streams.lisp: The croatoan/gray_streams․lisp file
File, grid.lisp: The croatoan/grid․lisp file
File, hook.lisp: The croatoan/hook․lisp file
File, inch.lisp: The croatoan/inch․lisp file
File, inchstr.lisp: The croatoan/inchstr․lisp file
File, initscr.lisp: The croatoan/initscr․lisp file
File, inopts.lisp: The croatoan/inopts․lisp file
File, insch.lisp: The croatoan/insch․lisp file
File, insstr.lisp: The croatoan/insstr․lisp file
File, instr.lisp: The croatoan/instr․lisp file
File, ins_wch.lisp: The croatoan/ins_wch․lisp file
File, inwstr.lisp: The croatoan/inwstr․lisp file
File, in_wch.lisp: The croatoan/in_wch․lisp file
File, kernel.lisp: The croatoan/kernel․lisp file
File, keybound.lisp: The croatoan/keybound․lisp file
File, keyok.lisp: The croatoan/keyok․lisp file
File, key_defined.lisp: The croatoan/key_defined․lisp file
File, menu.lisp: The croatoan/menu․lisp file
File, mouse.lisp: The croatoan/mouse․lisp file
File, move.lisp: The croatoan/move․lisp file
File, package.lisp: The croatoan/package․lisp file
File, queue.lisp: The croatoan/queue․lisp file
File, refresh.lisp: The croatoan/refresh․lisp file
File, scroll.lisp: The croatoan/scroll․lisp file
File, shape.lisp: The croatoan/shape․lisp file
File, slk.lisp: The croatoan/slk․lisp file
File, stack.lisp: The croatoan/stack․lisp file
File, terminfo.lisp: The croatoan/terminfo․lisp file
File, textarea.lisp: The croatoan/textarea․lisp file
File, touch.lisp: The croatoan/touch․lisp file
File, utf8.lisp: The croatoan/utf8․lisp file
File, util.lisp: The croatoan/util․lisp file
File, wresize.lisp: The croatoan/wresize․lisp file
form: Public classes
form-window: Public classes
form.lisp: The croatoan/form․lisp file

G
getch.lisp: The croatoan/getch․lisp file
getstr.lisp: The croatoan/getstr․lisp file
get_wch.lisp: The croatoan/get_wch․lisp file
gray_streams.lisp: The croatoan/gray_streams․lisp file
grid: Public classes
grid.lisp: The croatoan/grid․lisp file

H
hook.lisp: The croatoan/hook․lisp file

I
inch.lisp: The croatoan/inch․lisp file
inchstr.lisp: The croatoan/inchstr․lisp file
initscr.lisp: The croatoan/initscr․lisp file
inopts.lisp: The croatoan/inopts․lisp file
inputbox: Public classes
insch.lisp: The croatoan/insch․lisp file
insstr.lisp: The croatoan/insstr․lisp file
instr.lisp: The croatoan/instr․lisp file
ins_wch.lisp: The croatoan/ins_wch․lisp file
inwstr.lisp: The croatoan/inwstr․lisp file
in_wch.lisp: The croatoan/in_wch․lisp file

J
job-error: Public conditions

K
kernel.lisp: The croatoan/kernel․lisp file
key: Public structures
keybound.lisp: The croatoan/keybound․lisp file
keymap: Public classes
keyok.lisp: The croatoan/keyok․lisp file
key_defined.lisp: The croatoan/key_defined․lisp file

L
label: Public classes
layout: Public classes

M
menu: Public classes
menu-item: Public classes
menu-window: Public classes
menu.lisp: The croatoan/menu․lisp file
menubox: Public classes
mouse-event: Public classes
mouse.lisp: The croatoan/mouse․lisp file
move.lisp: The croatoan/move․lisp file
msgbox: Public classes

N
node: Public classes

P
Package, de.anvi.croatoan: The de․anvi․croatoan package
Package, de.anvi.croatoan.dialog: The de․anvi․croatoan․dialog package
Package, de.anvi.croatoan.soft-labels: The de․anvi․croatoan․soft-labels package
package.lisp: The croatoan/package․lisp file
pad: Public classes
panel: Public classes

Q
queue: Public classes
queue.lisp: The croatoan/queue․lisp file

R
refresh.lisp: The croatoan/refresh․lisp file
row-layout: Public classes

S
screen: Public classes
scroll.lisp: The croatoan/scroll․lisp file
shape: Public classes
shape.lisp: The croatoan/shape․lisp file
simple-queue: Public classes
slk.lisp: The croatoan/slk․lisp file
stack: Public classes
stack.lisp: The croatoan/stack․lisp file
Structure, key: Public structures
sub-pad: Public classes
sub-window: Public classes
System, croatoan: The croatoan system

T
terminfo.lisp: The croatoan/terminfo․lisp file
textarea: Public classes
textarea.lisp: The croatoan/textarea․lisp file
touch.lisp: The croatoan/touch․lisp file

U
utf8.lisp: The croatoan/utf8․lisp file
util.lisp: The croatoan/util․lisp file

W
widget: Public classes
window: Public classes
wresize.lisp: The croatoan/wresize․lisp file