Preserve marker type when toggling custom checkbox

Use case or problem

Many themes support custom checkboxes, like - [/] for “in progress”. However, if you toggle this checkbox, Obsidian has no way of storing the custom marker — an unchecked checkbox is always - [ ] — and so when re-checked, it will just become the usual - [x] (“done”). That is, unchecking a custom checkbox loses the information about what kind of custom checkbox it was.

Proposed solution

Obsidian could have a syntax to represent “unchecked, but of this custom kind”. For instance, - [ /] (note the space before the slash) could mean “an in progress checkbox, but currently disabled/empty”. When you clicked the checkbox, it would toggle between - [/] and - [ /]. This syntax is definitely bikesheddable.

Current workaround (optional)

Manually re-enter the custom checkbox type, or undo the toggling of the checkbox.

A workaround I’ve used occasionally is to add pointer-events: none to the CSS for the custom checkboxes, which effectively removes the possibility to tick these boxes making them loose their special status character.

If you’re using the Tasks plugin and their implementation of the custom status, you could also opt for the next status to be the same status.