Theme switches return before the slow retints
Theme switches in pull request 15045, merged into quattro, return without waiting out the slowest app retint. pull request 15040 sends tmux its colors in one pass. Neither merge is in version 4.0.4.
The theme command waits for every app retint before its hook, so the slowest one sets the pace. When Hunk was running, its retint slept a fixed second between two nudges. The merged script puts the settled nudge in a background subshell. David Heinemeier Hansson said that retint went from at least 1.0s to returning immediately.
For a theme with a VS Code file, the script had been starting each of up to four installed editors to list extensions. The merged script reads the editor's own registry and starts an editor only when that registry is missing. For the Framework 16 keyboard, the merged script uses awk for a color conversion that had used Python. Hansson said the writes to the keyboard are unchanged, and that Python's start was about 7ms against awk at about 1ms.
pull request 15040 stops tmux from starting one client per color variable. The merged script queues the settings and hands them over in one source file. On a scratch server with three sessions and a 116-variable palette, Hansson reports 0.69–0.72s before and 0.075–0.08s after. David Heinemeier Hansson opened and merged both changes.