Applying themes
A target has no generated source
Section titled “A target has no generated source”Run generation for the selected theme before applying it. Selection reads generated source files; it does not synthesize a target configuration on demand. Confirm the theme ID and generated path in the integration catalogue.
A target is skipped
Section titled “A target is skipped”Adapters can decline application through their environment gate. A desktop target may be unavailable in Termux, and a Termux target may be unavailable on desktop. A skip is not proof that the generated source is missing.
Only some targets applied
Section titled “Only some targets applied”Selection and application run adapters sequentially. A failure does not undo earlier successful applications. select persists activeTheme only when at least one adapter applied; apply never changes an existing activeTheme (a configured fallback is saved only when none exists, and only after it applied). Read every reported target result, inspect the live destination for successful targets, then correct the failing target and retry.
apply reports “No active theme selected”
Section titled “apply reports “No active theme selected””~/.tg.json is missing or has no activeTheme (for example after a home-directory restore). Run tman select once, or give unattended callers a fallback with --fallback-theme <name> or TMAN_FALLBACK_THEME=<name>; see Apply. If the message says Refusing to overwrite, the file exists but cannot be read or parsed: fix its permissions or JSON, or remove it.
A configuration is not changing as expected
Section titled “A configuration is not changing as expected”Some integrations use fixed configuration imports, copied sources, package files, or generated pointers rather than editing the most obvious live file. Follow the source and destination paths listed for that adapter instead of hand-editing a file that the next apply will replace.
The application did not visibly refresh
Section titled “The application did not visibly refresh”Reload hooks are best-effort and target-specific. Verify the live destination first, then restart or reload the application manually if its hook is unavailable or fails. Refer to the target’s catalogue entry for documented reload behavior.