I have another proposal that might fit the goal of keeping the existing feature small while making it more useful for users who want customization.
What if Sigil optionally looked for a
characters.txt file in the Sigil preferences folder?
If the file does not exist, nothing changes at all: Sigil uses the current built-in list exactly as it does now.
If
characters.txt exists, its contents replace the built-in list. This would let users create their own small list of frequently used characters without adding another preference or increasing Sigil's built-in data.
The format could be deliberately simple: one entry per line, with up to four "|"-separated fields:
Code:
character|display text|entity|description
The fields could also be progressively optional, so simply writing:
would be enough, while something like:
Code:
←|sl|←|left arrow
could provide a different button label and tooltip.
For the custom list, I would also suggest a simple flow layout rather than the current fixed-column grids. The buttons would naturally wrap according to the dialog width, with the existing scroll area handling larger lists. This works particularly well when custom entries have different display widths. [* – That's just my personal opinion]
The important part is that this would be completely opt-in. Users who are happy with the current list and layout would never see any difference, while users who want a personal set of characters could create one very simple text file.
It also seems less intrusive than putting the customization directly into
sigil_v6.ini: editing or deleting a standalone text file is straightforward, and the normal Sigil configuration remains untouched.
In the screenshots, I'm showing a set of characters planned by @byword + original with fixed-column grids.