# Acme (アクメ・インターフェース)

> Acme is the interface Rob Pike described in a 1994 paper, a hybrid of window system, shell and editor. It has no icons and no pop-up or pull-down menus; any string anywhere on screen can be executed with the middle button or opened with the right one. Windows are stacked in columns, and each is only a one line tag above a body.

- IndexStyle No.535 — https://indexstyle.org/styles/acme-interface
- Kind: Style · Family: Platform Screen Languages · Era: 1994–
- Mood: Technique, Calm, Rebellion
- What this family collects: Design languages written down for a platform and published, from the vendors that shipped an operating system to the governments that had no reason to hide rules paid for with public money, every one of them recognisable at a glance.

## Defining characteristics

- Windows are stacked in columns, and each window is just a one line tag above a body
- The scroll bar sits at the left edge of the body, and nothing sits at the right
- Sweeping a string with the middle button underlines it only while the button is held
- The body is pale yellow and the tag pale blue, and there is not one button or icon to click

## Best used for

- When a working screen should stop gaining widgets and let every place you can type hold a command
- When a development environment is meant to be extended by users typing commands into the tag themselves

## Composition recipe

- Typography & lettering: One typeface, one size. No bold and no coloured text; state is shown by an underline and by inverted selection only.
- Layout & structure: Split the screen into columns and stack windows inside them. Each window is a one line tag above a body. Take no margin, and separate neighbours with a single thin rule.
- Material & texture: Two ground colours only: pale yellow for the body, pale blue for the tag, black for the text. Underline execution in dark red and reference in dark green, and fill the centre of the small square at the left of the tag when the file has been modified.

## Colour

Read off the reference works below, so a direction rather than a fixed palette.

- Ground: #FFFFEA
- The colour it is remembered by: #EAFFFF
- Text and outlines: #AA0000

## What to avoid

Copy the look and turn the tag into a fixed menu, and you lose the actual mechanism, which is that any string at all can be a command.

## Application checklist

Work through this before calling a piece an application of this style.

- [ ] Visible in the piece: Windows are stacked in columns, and each window is just a one line tag above a body
- [ ] Visible in the piece: The scroll bar sits at the left edge of the body, and nothing sits at the right
- [ ] Visible in the piece: Sweeping a string with the middle button underlines it only while the button is held
- [ ] Visible in the piece: The body is pale yellow and the tag pale blue, and there is not one button or icon to click
- [ ] The layout follows: Split the screen into columns and stack windows inside them. Each window is a one line tag above a body. Take no margin, and separate neighbours with a single thin rule.
- [ ] The lettering follows: One typeface, one size. No bold and no coloured text; state is shown by an underline and by inverted selection only.
- [ ] The material and surface follow: Two ground colours only: pale yellow for the body, pale blue for the tag, black for the text. Underline execution in dark red and reference in dark green, and fill the centre of the small square at the left of the tag when the file has been modified.
- [ ] The colour relation holds: #FFFFEA as ground, #EAFFFF carrying the style, #AA0000 for text and outlines
- [ ] At least one reference work below has been studied directly
- [ ] The caution above ("What to avoid") has been addressed

## Related styles

- **Terminal UI (ターミナルUI)** — The terminal look: monospaced phosphor characters on black. The VT100's green afterglow became the primal image of the computer's face, repeated from hacker cinema to modern CLI tools. → https://indexstyle.org/styles/terminal-ui
- **Motif (モチーフ)** — Motif is the interface language of UNIX workstations, maintained by The Open Group, standardized as IEEE 1295 and shipped on more than two hundred platforms. Its own data sheet calls the look a distinctive 3D beveled appearance, meaning every part sits on a gray face edged with one light line and one dark line. → https://indexstyle.org/styles/motif

## Compose it with something else

The dictionary can put this entry in a structural role and another in an accent role, and report where the two fight: https://indexstyle.org/compose?ids=acme-interface+terminal-ui

## Further study

- the definition Rob Pike's paper sets down, a hybrid of window system, shell and editor
- the mechanism whereby everything to the right of the vertical bar in the tag is free scratch space, so a command written there stays put
- what was carried over and what was left out from Oberon and Cedar, which the same paper compares

## Reference works

- The acme screen of Plan 9 from Bell Labs — Wikimedia Commons / CC BY-SA 4.0 — https://commons.wikimedia.org/wiki/File:Plan%209%20from%20Bell%20Labs%20(with%20acme).png

## Source of record

- Bell Labs / Plan 9 — Acme: A User Interface for Programmers (Rob Pike) — https://9p.io/sys/doc/acme/acme.html

## Machine surfaces

- JSON: https://indexstyle.org/api/styles/acme-interface
- Image-generation prompt (legally clean): https://indexstyle.org/styles/acme-interface/prompt.txt
- MCP: https://indexstyle.org/mcp (tools: search_styles, get_style, compare_styles, compose_styles, find_related_styles; prompts: image-prompt, apply-style)
