Select
Synopsis
Section titled “Synopsis”tman select [options]There are no positional arguments.
Options
Section titled “Options”| Flag | Behavior |
|---|---|
-t, --theme <name> | Select a generated theme by name. Without it, choose from the interactive picker. |
-d, --dark | Apply the dark variant after selecting the family. |
-l, --light | Apply the light variant after selecting the family. |
--dark and --light are mutually exclusive. If neither is supplied, Theme Manager prompts for a mode. A mode flag can be supplied without --theme, which keeps theme selection interactive while skipping the second prompt.
The selectable catalogue is the union of the persisted generated-theme snapshot in ~/.tg.json and themes bundled with the installed package, filtered to families for which at least one applicable target has both generated variants. Light and dark artifacts from different targets are not combined: a selected family must be demonstrably switchable on at least one real target.
Active theme contract
Section titled “Active theme contract”select is the only command that changes theme identity. After at least one adapter successfully applies the requested variant, Theme Manager persists the family as activeTheme in ~/.tg.json.
Runtime automation must use tman apply. That command reads activeTheme and changes only its light/dark variant, so a sunrise/sunset or OS-appearance daemon cannot silently switch to a different theme family.
The active theme is not persisted when every adapter fails or skips. This prevents a broken selection from poisoning future automated applies.
Examples
Section titled “Examples”tman selecttman select --theme material --darktman select --theme oasis_night --light
# Choose a family interactively, but force the applied mode.tman select --darkUnknown themes, ungenerated themes, incompatible mode flags, no selectable themes, and total apply failures exit nonzero.