Function selection_tier
pub fn selection_tier(theme: &Theme, state: SelectionState) -> SelectionTierExpand description
Resolve one control’s appearance. This is the only way the shell expresses “which one is chosen” — active tab, active workspace, active strip, selected row, chosen scope chip, current power profile.
| State | Fill | Border | Inner glow | Scale |
|---|---|---|---|---|
| idle | transparent | none | none | 1.0 |
| hover | lift(0.5) | none | none | 1.0 |
| active | lift(1.0) | hairline | hairline | 1.0 |
| pressed | as active | as active | as active | 0.97 |
Selection is a lift, never an accent fill: the accent is reserved for live state the user did not choose (recording, sharing, a peer joining, unread), and a selected control using it would collide with that. An active control never gets more prominent on hover — the contrast gain belongs to inactive controls brightening toward it — and pressed implies the lifted tier before activation propagates, so a click feels instant.
No shadow: elevation and selection are different vocabularies, and rows of idle controls each casting one is what made the tab strip read as muddy rather than as chrome.