V3.5.5 - another chess clock issue; show/hide & stop/start

I think there is a bug/feature of Chess Clocks that might be improved on.

Currently;
Pressing the Chess Clocks control button (or using the Show Clocks hotkey) will first STOP the running clock, if clocks are showing.
This seems to present the possibility that players, even casual observers, will very easily accidentally stop a running clock.

I think that pressing the Chess Clocks Control button should only do Show/HIde and never alter the state of the clocks themselves. The same for the Show Clocks hotkey.

… or maybe the Chess Controls button should pause all clocks, and resume the last running clock on next press etc.

Then show/hide would be the right-click drop down option but without affecting running clock state.

Action to pause clocks could be logged, just as Reset clock is.

This is a problem if the module dev wants to control clocks. Due to this behaviour, the module cannot be sure what state the clock is in, because it breaks the relationship between Hotkey / Button use and the clock state.

To expand, say a module conceals Chess clock control button, in order to make it an optional feature of the module. The module uses Show Clocks to bring the actual clocks onto toolbar, without the (unneeded by module) Chess Clock control buttons.

Here is a portion of an example toolbar showing clocks on and off, without a Chess Control button:

Chess Clock not in use:
image

Chess Clock in use, clock has been started:
image

Issues to untangle:

  1. When the Chess Clock Control “Show clocks” hotkey is used for the first time, the clock does not show. A second Show clocks hotkey will reveal the clocks.
  2. When first “Show clocks” hotkey is used on running clock, the clock pauses but does not hide. Once the clock is stopped, a Show clocks Hotkeys will hide the clock.
  3. The next clock Hotkey makes a Hidden clock re-appear.

Some of these features may be useful but in the current iteration (v3.5/v3.6) they make it impossible to reliably control clock state from a module. Some tweaks to that might help fix this…
a) Just separate Show/Hide and clock running state completely. The Show/Hide clock function should be a straight hide or show; if clock is currently hidden, show it, and vice versa. Option on this; does the next clock and pause Hotkeys could still operate even when the clock is hidden. Maybe that would be useful, especially if there was the option to reset clocks via a Hotkey.
b) Have separate hotkeys to show and hide the clock
c) Provide a global property to indicate whether the clocks were showing
d) Provide a global property to indicate which side’s clock is running.