At the moment, the only way to get a "tristate" appearance for a checkbutton is to manually unset the variable associated with the widget - it's impossible to get it by interacting with the widget. It would be nice if this was altered, either with
which toggles whether clicking the checkbutton can put it into tristate mode (by unsetting the associated variable), probably the better way, or
which will toggle into tristate mode and set the variable to <value>. If -tristate isn't given, it would not be possible to click into tristate mode.
When -tristate is given, clicking the checkbutton would toggle it from on -> off -> tristate -> on -> ... etc, rather than just on -> off -> on -> ...
This would be useful for situations where something can be explicitly on, explicitly off, or ignored, for example when no input is given and the value should be checked on a parent instead.