- The client sends a verb request to the server.
- The server asks the client for some skin parameters.
- The client tells the server what they are... At least, it tells the server what's set at the time the winget() call is received. You won't exactly know if it's what the verb was sent for.
This dependence on the network can make interfaces slow. Only the first command should be necessary. I suggest the following:
- Add text fields to all controls that call verbs. Add one such field per verb field.
- Allow developers to fill the fields with skin parameters.
- When verbs are sent, append the parameters with their current values as the last argument. Ignore blank fields to remain backwards compatible.
- Being last could make the parameters less likely to be accessed by mistake. Only verbs with arguments left unfilled would bother looking.
- Edited skins wouldn't be a problem because developers would be able to check the parameters on the server end.
- Client-side commands wouldn't need to send anything.
Frankly, how often does one give a command to a slider bar without wanting to know its value?