Switch the theme live
Widgets copy their colors when they are created, so they now get role tokens (one unique RGB value per role) instead of colors, and a wrapper around the tcell screen replaces the tokens with the current theme's colors in SetContent. Changing the theme in the Config view swaps that table; the next draw recolors everything. Poster colors that equal a token are nudged off it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019reK4DUGYqDUjniWYJvwUW
This commit is contained in:
@@ -35,6 +35,9 @@ func (a *App) applyConfig(c *config.Config) {
|
||||
a.downloads.setInterval(time.Duration(c.UI.RefreshSeconds) * time.Second)
|
||||
}
|
||||
a.bell = c.UI.Bell
|
||||
if old.UI.Theme != c.UI.Theme {
|
||||
a.setTheme(chooseTheme(c.UI.Theme, terminalAnswers()))
|
||||
}
|
||||
if c.UI.ShouldNotifyDownloads() != a.notifyDone {
|
||||
a.setNotifyDownloads(c.UI.ShouldNotifyDownloads())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user