5.5 KiB
MCI Codes
Introduction
ENiGMA½ supports a variety of MCI codes. Some predefined codes produce information about the current user, system, or other statistics while others are used to instanciate a View. MCI codes are two characters in length and are prefixed with a percent (%) symbol. Some MCI codes have additional options that may be set directly from the code itself while others -- and more advanced options -- are controlled via the current theme. Standard (non-focus) and focus colors are set by placing duplicate codes back to back in art files.
Views
A View is a control placed on a form that can display variable data or collect input. One example of a View is a Vertical Menu (%VM
): Oldschool BBSers may recognize this as a lightbar menu.
Available Views
- Text Label (
TL
): Displays text - Edit Text (
ET
): Collect user input - Masked Edit Text (
ME
): Collect user input using a mask - Multi Line Text Edit (
MT
): Multi line edit control - Button (
BT
): A button - Vertical Menu (
VM
): A vertical menu aka a vertical lightbar - Horizontal Menu (
HM
): A horizontal menu aka a horizontal lightbar - Spinner Menu (
SM
): A spinner input control - Toggle Menu (
TM
): A toggle menu commonly used for Yes/No style input - Key Entry (
KE
): A single key input control
(Peek at core/mci_view_factory.js
to see additional information on these)
Predefined
There are many predefined MCI codes that can be used anywhere on the system (placed in any art file). More are added all the time so also check out core/predefined_mci.js
for a full listing. Many codes attempt to pay homage to Oblivion/2, iNiQUiTY, etc.
BN
: Board NameVL
: Version label, e.g. "ENiGMA½ v0.0.3-alpha"VN
: Version number, eg.. "0.0.3-alpha"SN
: SysOp usernameSR
: SysOp real nameSL
: SysOp locationSA
: SysOp affiliationsSS
: SysOp sexSE
: SysOp email addressUN
: Current user's usernameUI
: Current user's user IDUG
: Current user's group membership(s)UR
: Current user's real nameLO
: Current user's locationUA
: Current user's ageBD
: Current user's birthdate (using theme date format)US
: Current user's sexUE
: Current user's email addressUW
: Current user's web addressUF
: Current user's affiliationsUT
: Current user's theme ID (e.g. "luciano_blocktronics")UC
: Current user's login/call countND
: Current user's connected node numberIP
: Current user's IP addressST
: Current user's connected server name (e.g. "Telnet" or "SSH")FN
: Current user's active file base filter nameDN
: Current user's number of downloadsDK
: Current user's download amount (formatted to appropriate bytes/megs/etc.)UP
: Current user's number of uploadsUK
: Current user's upload amount (formatted to appropriate bytes/megs/etc.)NR
: Current user's upload/download ratioKR
: Current user's upload/download bytes ratioMS
: Current user's account creation date (using theme date format)PS
: Current user's post countPC
: Current user's post/call ratioMD
: Current user's status/viewing menu/activityMA
: Current user's active message area nameMC
: Current user's active message conference nameML
: Current user's active message area descriptionCM
: Current user's active message conference descriptionSH
: Current user's term heightSW
: Current user's term widthDT
: Current date (using theme date format)CT
: Current time (using theme time format)OS
: System OS (Linux, Windows, etc.)OA
: System architecture (x86, x86_64, arm, etc.)SC
: System CPU modelNV
: System underlying Node.js versionAN
: Current active node countTC
: Total login/calls to systemRR
: Displays a random rumorSD
: Total downloads, system wideSO
: Total downloaded amount, system wide (formatted to appropriate bytes/megs/etc.)SU
: Total uploads, system wideSP
: Total uploaded amount, system wide (formatted to appropriate bytes/megs/etc.)
A special XY
MCI code may also be utilized for placement identification when creating menus.
Properties & Theming
Predefined MCI codes and other Views can have properties set via menu.hjson
and further themed via theme.hjson
.
Common Properties
textStyle
: Sets the standard (non-focus) text style. See Text Styles belowfocusTextStyle
: Sets focus text style. See Text Styles below.itemSpacing
: Used to separate items in menus such as Vertical Menu and Horizontal Menu Views.height
: Sets the height of views such as menus that may be > 1 character in heightwidth
: Sets the width of a viewfocus
: If set totrue
, establishes initial focustext
: (initial) text of a viewsubmit
: If set totrue
anyaccept
action upon this view will submit the encompassing form
These are just a few of the properties set on various views. Use the source Luke, as well as taking a look at the default menu.hjson
and theme.hjson
files!
Text Styles
Standard style types available for textStyle
and focusTextStyle
:
normal
: Leaves text as-is. This is the default.upper
: ENIGMA BULLETIN BOARD SOFTWARElower
: enigma bulletin board softwaretitle
: Enigma Bulletin Board Softwarefirst lower
: eNIGMA bULLETIN bOARD sOFTWAREsmall vowels
: eNiGMa BuLLeTiN BoaRD SoFTWaRebig vowels
: EniGMa bUllEtIn bOArd sOftwArEsmall i
: ENiGMA BULLETiN BOARD SOFTWAREmixed
: EnIGma BUlLEtIn BoaRd SOfTWarE (randomly assigned)l33t
: 3n1gm4 bull371n b04rd 50f7w4r3