H.G. Muller submitted this request:
&&&
I have a feature request for SCID on Linux:
It has always bothered me that after install of an engine package, a
separate user intervention is needed to 'register' the engine in a GUI.
The philosophy of the Linux packaging system is such that after apt-get
install everything should work automatically. So engines should really
appear 'automagically' in the engine list of all GUIs capable of using
them. (Possibly controlled by a user option that can regulate this.)
So I am trying to get a system off the ground similar to that used by
desktop managers: when engines are installed, a file is dropped in the
directory
/usr[/local]/share/games/plugins/<protocol>/</protocol>
where <protocol> is either uci or xboard. For example
/usr/share/games/plugins/uci/fruit.eng . All UCI-capable GUIs could scan
this directory to notice newly installed engines (i.e. since the last
time the settings file for the current user was updated), and use the
information in it to add the engine to their engine list. The needed
engine startup command, and possibly the directory in which the engine
should be launched are obtained from this file, and of course the
communication protocol is already known from where the file was found,
which should be enough for a simple 'no frills' registration of the engine.</protocol>
I was hoping that SCID too would be interested in adopting this system.
Obviously getting this to work smoothly is strongly dependent on the
number of GUIs as well as engines that adopt this method, and if we
cannot achieve a 'critical mass' the endeavor is doomed to failure. The
new XBoard (4.8.0) already implements it, and PyChess has pledged to do
so. On the engine side GNU Chess 5 and Fairy-Max already support it and
GNU Chess 6 is working on it. I hope many more will follow suite.
H.G.Muller
&&&
Where can I find the definition of the file format for an .eng file?
HG answered on the mailing list:
https://sourceforge.net/p/scid/mailman/message/33082811/
The proposed feature violates a foundamental security concept of modern apps.
The only files that can be accessed shoud be:
The right solution is to provide it as a system service: