Loading a new engine at any time
The engine(s) running under XBoard used to be specified only in advance, through -fcp and -scp options on the command line when XBoard is started. (WinBoard at least had a startup dialog, where you could select engines through a combobox, displaying a list of engines configured in the settings file.) This experimental patch allows you to change engines during a session, (or even during a game!), through a new menu dialog.
This dialog offers the choice to select an engine from a combobox, or specify a new one. To do the latter requires you to enter the engine command (which in many cases is just the name of an executable file, to which you could browse with the aid of the browse button), and the type of engine (UCI or WB). In Linux compliant engines don't need you to specify a path or an engine directory, as they can be run from the command line by simply specifying their name. So usually you wouldn't have to specify anything for the engine directory. If you leave that field empty, and do supply the engine as a path name, XBoard will set the directory equal to the one the engine executable was in. Check boxes allow you to specify if the engine is UCI or WB v1, if it should use the GUI book, or if it can only work for a variant.
You can also tick a checkbox to have a thus specified engine be added to the list of installed engines, which, like in WinBoard, is saved in the settings file as the option -firstChessProgramNames. Unlike with WinBoard, that same list is also used for selecting the second engine, though: in the dialog you can specify if you want to replace the first or second engine through another combobox. When you add an engine to the list, next time it will appear in the engine-selection combobox, under its 'tidy' name, possibly with the variant for which it works behind it in parantheses. It will have remembered the engine type and book-usage options, and possibly the variant.