I’d like to propose some functionality for people like me who want to display their MM info on two (or more) displays with slightly different configurations on each.
I’m not a programmer, but I’ve tried to devise a solution that will allow for the functionality at a basic level, but at the same time should be comparatively simple to program and backward compatible. I’ll give more of my rationale after the suggestion, so here goes:
-
Add an integer option named
displays
as the first option in the config file. The default value for this would be “1” in which case the config file would work as it does now. If the value is “2” or greater, two additional options would become available. -
Under port,
port
would become an alias forport-display1
(or vise-versa) and additional options namedport-display2
,port-display3
, etc. would be required, matching the number of displays. This will allow the alternate configurations to be accessed using the built-in webserver with an alternate port number. -
The same would occur under within each module under
position
, i.e.position
becomes an alias forposition-display1
and then addposition-display2
,position-display3
, etc. -
Add a value of
hidden
to the list of possible values forposition
. If the value is hidden, the module is not shown on that display. -
Add a CSS class to each “display” so that the content can be styled individually. e.g.
.display2 .clock .time {
font-size: 72px;
}
Here is my rationale in the above proposal:
-
Making the current option name an alias for “…display1” allows for backward compatibility, so no one’s install gets broken.
-
If people are wanting multiple configs, they are likely using the built-in webserver to display these on other machines. The display on the local machine would always use the first config (i.e. …display1”).
-
For most modules the same configuration would be acceptable for all displays. The main I’m guessing people would want to change is where and/or whether the module appears. Styling changes could then be accomplished through the additional CSS class.
-
I know this way of doing it somewhat limits what can be done, but my guess is that most people who could benefit from this function would be willing to trade reduced customizability for getting the functionality actually added.