Unsorted Lists

158 views
Skip to first unread message

Andrea Gatti

unread,
Jul 22, 2026, 2:31:12 AM (12 days ago) Jul 22
to PicoChess
Hello there,

I would like to raise a suggestion, to have several lists alphabetically sorted in Picochess.

Examples:

Engines names (modern, retro and favorites)
Book names

Hope this is not too much of an issue and is easy/useful.

Thanks!

Johan Sjöblom

unread,
Jul 22, 2026, 6:36:01 AM (12 days ago) Jul 22
to PicoChess
Antonio had an idea in the same area/domain: His idea was to add metadata to UCI files that picochess could use to create sub-menus and would make the engine listings shorter.
These kind of solutions are needed when we have a huge number of engines. I think Antonio had 358 retro engines in his list. 

At the moment you can manually create any sorting you want by editing the ini files.. Antonio's idea adds the possibility to get sub-menus based on some metadata... user can chose how to organise them. So we need to define the concept of how picochess reads the uci files metadata

Maybe the uci files could contain a sorting command, like "sort:alphabetic"... or "sort:metadata". If metadata is manufacturer then it would sort by manufacturer... etc.

// Johan

Antonio

unread,
Jul 22, 2026, 11:56:45 AM (12 days ago) Jul 22
to PicoChess
Aquí están la versión 4.2.4 que tiene todo eso. Les dejo unas capturas de la pantalla donde se puede ver el menu y como seleccionando como ejemplo:   menu   -   game   -   engine   -   classic   -   novag   -   etc etc    van saliendo todos los motores ordenados por marcas...
Por motivos familiares no estoy continuando con el proyecto, pero esa versión es totalmente funcional, le añadí manuales, están todos los motores mame, creé las imágenes con y sin escritorio,  etc etc etc
-----------------------------------------------------------------------------------------------------------

Here is version 4.2.4, which includes all of those features. I'm attaching a few screenshots showing the menu and how, by selecting for example: Menu → Game → Engine → Classic → Novag → etc., all the chess engines are displayed, neatly organized by manufacturer.

Due to family circumstances, I'm no longer continuing with the project, but this version is fully functional. I added the manuals, included all the MAME engines, created images both with and without a desktop environment, and made many other improvements.

------------------------------------------------------------------------------------------------------------

https://groups.google.com/g/picochess/c/jhXqbCJKTjM/m/T6Wgyi_aAwAJ


Captura de pantalla 2026-07-22 174555.png
Captura de pantalla 2026-07-22 174637.png
Captura de pantalla 2026-07-22 174622.png
Captura de pantalla 2026-07-22 174719.png
Captura de pantalla 2026-07-22 174703.png
Captura de pantalla 2026-07-22 174608.png

Andrea Gatti

unread,
Jul 22, 2026, 5:37:23 PM (12 days ago) Jul 22
to PicoChess
Hi,
Antonio's idea is clearly more sophisticated than what my idea was. My concept was to simply have those lists alphabetically sorted.
I think this could be implemented in the script that builds the books, for example.

Can I contribute with some code ( of course with the help of AI)?
Honestly, I'm not familiar with github, but if that is a prerequisite, ai can approach it.
Otherwise I would attach the code here.

Thanks

AG

Johan Sjöblom

unread,
Jul 23, 2026, 8:18:42 AM (11 days ago) Jul 23
to PicoChess
To add any feature to picochess what we really need is a good description and a design on what it should look like. Code is easy nowadays so code can act as an example, but it does not make it any easier or faster to implement a new feature.  The real value is in the design and description of what we want to achieve.
But yes, in general and a little simplified: anyone that can use AI and github can create a new issue (feature) and publish it as a PR feature branch for others to approve. I tried to make a video on my linux machine to show how to make a new issue and go from there all the way to the feature branch for others to test. I managed to make it small in size, but you cannot see my mouse movements so I should improve it when I have time. I am sure there are plenty of good youtube videos on how to go from a github issue to a PR feature branch.

In this case for example the design question is that how do the user inform picochess to use alphabetic sorting? And what other sorting methods are there possibly in the future? If everyone wants alphabetic sorting then its easy, but I have a feeling that we have to make it optional somehow. That "optionality" needs a design proposal.
Example of design for the engine lists: We add a line "sort:alphabetic" in the ini file...

You can also ask AI to update your ini file and order them alphabetically in your in file. What you cannot do in the ini file at the moment is the possibility to add sub-menus, like the manufacturing or some other category that then becomes a sub-menu. That was the idea behind this issue:

Johan Sjöblom

unread,
Jul 23, 2026, 10:27:24 AM (11 days ago) Jul 23
to PicoChess
I realize I need to come up with a more modern way to allow people to contribute ideas and code without having to learn github. If you do learn github you can contribute easily, but lets see if I could create some kind of cloud based way to allow anyone to contribute in a modern way.
The simplest way is of course that if you have an idea write a separate post on how it should work. Example: How would he user control the sorting order of engines. Then it can be easily implemented.

I will try to come up with this modern way and make a post about it in the group.

-- Johan

Johan Sjöblom

unread,
Jul 25, 2026, 2:15:16 AM (9 days ago) Jul 25
to PicoChess
I have implemented a first version of alphabetical sorting. You can chose from the Engine menu if you want to sort by a new metadata manufacturer that you can add to your retro.ini, or straight away sort by engine names alphabetically. This feature branch is inspired by Antonio's work.

To test you need to switch to the branch: 425-engine-list-improvement
A PR is opened and when we have tested this we can approve it and then it becomes part of master.
Improvement suggestions can be commented on the issue: https://github.com/JohanSjoblom/picochess/issues/425
Obviously you can also comment here, or in the PR. But keeping the discussion in the issue text is good for future changes.

-- Johan

Johan Sjöblom

unread,
Jul 25, 2026, 2:19:03 AM (9 days ago) Jul 25
to PicoChess
To test the new Antonio sublevel add this to your retro.ini:
; Manufacturer: Mephisto
[mame/academy]
...

; Manufacturer: Novag
[mame/supercon]
...

And to test alphabetical sorting go to your picochess.ini (or use the Engine menu):
engine-menu-sort = manufacturer
or
engine-menu-sort = engine
Obviously if you have not added any metadata you use the value "engine" for sorting. The default value is "file" which does not sort anything alphabetically.

Andrea Gatti

unread,
Jul 26, 2026, 1:40:21 AM (8 days ago) Jul 26
to PicoChess
Hello Johan, this is great, thank you very much!

I won't be at home for some days, so it will take some days for me to test it out.
Question: how do I get this modified version of picochess to test it? Do I have to select to update picochess by the update button in the system sub-menu, or is there a specific process?

Sorry, as I said I haven't used picochess for some time and I missed this.

Thanks!

AG

Johan Sjöblom

unread,
Jul 26, 2026, 2:17:02 AM (8 days ago) Jul 26
to PicoChess
I will make it part of the update main version today, or within a few days, then testing is easy, just update picochess

Johan Sjöblom

unread,
Jul 26, 2026, 12:37:50 PM (8 days ago) Jul 26
to PicoChess
That testing branch is now merged to master which means that to test it, all you have to do is to perform a pico update from the menu. After restart it should download the latest version.
Reply all
Reply to author
Forward
0 new messages