And one more thing when re-reading the topic, that I overlooked in my previous summary: That some users have indicated a preference for an option to disable the by-author grouping.
The only way I can realistically see this working is that, if by-author grouping is turned off, any style that the user has not explicitly reordered otherwise (by using the traditional styles.ini, or new equivalent thereof) would be sorted purely in alphabetical order.
So, to recap the summary taking these additional points into account:
In terms of the "how", I think the key things that have come up are:
- People may want to be able to override the author order (the most obvious reason being to put their own styles at the top of their list).
- People may want to be able to pin specific styles to the top of the list - and possibly to the bottom, too?
- People may want to turn off the by-author grouping altogther.
- Some styles may be attributed to multiple authors and/or to a videogame they're ripped from, but are conventionally still grouped with a single author.
In terms of how to make this work out, I'm now thinking:
- As initially suggested, each style has a file that states its name, author, and optionally the position in the order the author wants it to have relative to their other styles.
- A "Sort Author" field will also exist. If used, then the value of that field is used as the author when sorting (while the regular Author field is still used when displaying the author name to users).
- "Styles.ini" (or a direct equivalent thereof) will continue to exist but as a user settings file instead of part of NL. It will also only specify style order, not names. Styles not listed in it, or listed with a sorting of 0 in it, will retain the automatic sorting.
- Additionally, styles.ini would allow overriding the ordering of authors in much the same way as it does for individual styles.
- The default styles.ini would have only a single entry - one that moves the official styles to the top of the list.
Are there any further thoughts here? Progress on implementing this is, so far, limited to me writing a tool to auto-generate the metainfo for existing styles, so now is the best time to put forward any ideas - while not much is implemented yet and thus the direction of this can still be changed easily if need be.