I am in the process of building a custom Windows 10 media PC for church. I would like the users to have a color scheme and background that corresponds to the liturgical color for that service (so if the altar is draped in purple, the computer theme is also purple). One computer will calculate the appropriate color based upon the liturgical calendar and any church events (for example: a baptism, wedding, or funeral service) and act as the "server" for this information to all of the rest of the systems. My plan is to save themes for each color while configuring the system. I am having difficulty finding an automated way on login and periodically throughout the day to change the entire theme (not just the background), and specifically one that would not require administrative privileges. Since many people without significant computer knowledge will be using this PC, and to follow best practices, the main account must be user-level privileges only with a few select administrators from the congregation staff/ volunteers.
After review of the prior relevant work here (much of which is many years old):
Location based windows theme - the best comment changes only the screensaver.
Windows Color Scheme (Theme) Program - the recommended software is for much more UI customization (per-application skins, custom fonts, etc.), which is way more than what I want and would likely confuse people. Also, the need is for programmatic control of the theme and this requires user action.
Automatically recognize desktop background image has changed - this seems to be potentially useful as a starting point, but it requires administrative privileges.
Pseudocode:
Sub onUserLogin()
{
coordinateLiturgicalColor(); ' Check (and set) current color
bindTimerEvent(); ' Set timer to fire subroutine at x:00 and x:30
}
Sub coordinateLiturgicalColor()
{
currentColor = currentTheme.name();
newColor = getColor("https://192.168.1.200/color.php");
if (currentColor != newColor)
{
currentTheme.name = newColor;
currentTheme.refresh();
}
}