Skip to content

Cycle Button

A compact single-selection GUI control that displays only the current value and advances through a finite ordered option set on repeated activation, wrapping after the last value.

Version
v2 · 2026-09-06 · History
Domain-specific #
1609
Origin domain
human computer interaction
Subdomain
graphical control elements
Aliases
Cycle gadget, Cycling button

Core Idea

A cycle button is a graphical single-selection control that occupies roughly one button-sized region, shows the currently selected option, and advances to the next member of a finite ordered set whenever the user activates it. After the last option it wraps to the first. Some implementations provide reverse cycling through a modifier or alternate input.

The control trades visibility for compactness. Radio buttons expose all options simultaneously; a list or menu reveals the set on demand; a cycle button shows only the current value and makes the user traverse states. The Amiga user-interface style guide describes the control as allowing one choice from several while only the selected choice remains visible, recommending it for attributes and warning that long option sets burden memory and repeated activation.

Scope of Application

Cycle buttons appear in compact preference panels, tool palettes, legacy desktop interfaces, embedded displays, musical controllers, and input-constrained applications. AmigaOS documented a CYCLE_KIND gadget whose current choice was displayed and whose click or shift-click advanced forward or backward.

The pattern fits a small, memorable, preferably ordered set: low/medium/high, month sequence, view mode, or a few rendering states. It performs poorly when options are numerous, unfamiliar, safety-critical, or unordered; direct presentation through radio buttons or a disclosed list then reduces hidden-state and traversal costs.

Clarity

The display must answer “what is selected now?” rather than ambiguously “what will happen if pressed?” If a button reading “Muted” indicates current state in one product and the next action in another, users cannot predict the transition. A stable field label plus a changing value—Quality: High—is clearer than an isolated changing word.

Manages Complexity

Cycle Button compresses a mutually exclusive choice into one control-sized area. The application stores a single index, renders its label, and maps activation to modular increment. This is useful on dense screens and limited controllers where a radio group or pop-up menu consumes scarce space or input operations.

Abstract Reasoning

State-machine model. Represent options as v0…v(n-1) and activation as i ← (i+1) mod n; reverse activation uses (i-1) mod n. Verify every state is reachable.

Traversal-cost test. Expected activations depend on starting and target distributions. If users frequently jump among distant values, a directly selectable list dominates.

Knowledge Transfer

The full identity transfers among GUI toolkits, desktop systems, embedded displays, and hardware controllers that render a software selection state. Using “cycle button” for a mechanical rotary selector is an analogy unless the compact display-and-replacement semantics remain.

The structural residue is cycle plus finite state transition and interface. Those primes travel to seasons, protocols, and control loops; the widget's display, activation, selection, and accessibility rules keep it domain-specific.

Relationships to Other Abstractions

Local relationship map for Cycle ButtonParents appear above the current abstraction, mutual partners to the right, and children below. Node labels state whether each abstraction is prime or domain-specific; colors identify relation types.Cycle ButtonDOMAINPrime abstraction: Cycle — is a kind ofCyclePRIME

Current abstraction Cycle Button Domain-specific

Parents (1) — more general patterns this builds on

  • Cycle Button is a kind of Cycle Prime

    cycle: the last option transitions back to the first.

Hierarchy path (1) — routes to 1 parentless root

Neighborhood in Abstraction Space

Cycle Button sits in a sparse region of the domain-specific corpus (98th percentile for distinctiveness): few abstractions share its structure, so a faithful description tends to retrieve it precisely.

Family — Unclustered & Miscellaneous (1565 abstractions)

Nearest neighbors

Computed from structural-signature embeddings · 2026-09-08