Fix menu colors on Windows #166
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
#126 was supposed to make the theme not change the menus' colors on Windows, but unfortunately the fix doesn't work. This is because
tk_setPalettealso affects menus and that fix just prevented the menus to not get the theme's menu-specific colors. For fixing them, we can set their background color toSystemMenuand their foreground toSystemMenuText. Unfortunately, for some reason, the menus don't respond to the<<ThemeChanged>>event on Windows unless they're displayed at least once. The best solution I could came with was to find menus recursively and style them accordingly in theconfigure_colorsprocedure.