Having decided on a variable to hold the ListPlus toggle ( cfl_enable bit in lp_options of the user record in sdk/user.h ), I figured out where in the BBS this can be switched on or off. I decided on adding the switch to the Main D)efaults menu, and in the T)ransfer section defaults menu.
In the Main D)efaults menu, we take a look at the current menu layout.

I can add a ListPlus Enable status line and switch right beside the K) Configure Menus item. It’ll be switchable on or off with the L key! Isn’t that just right?
This screen is controlled in the bbs/defaults.cpp file, and I can modify the output in line 167.
167 bout.pl("|#1K|#9) Configure Menus");
ListPlus itself relies on the user having ANSI enabled, so I’ll make it switchable only if the user has ANSI enabled. I’ll also make the current value of the switch visible as Yes or No. This is the code after we’ve modified it.
167 bout.print("|#1K|#9) Configure Menus ");
168 if (okansi()) {
169 bout.print("|#1L|#9) ListPlus Enabled : |#2{}",
YesNoString(a()->user()->data.lp_options & cfl_enable));
170 }
171 bout.nl();
The resulting screen looks like this.
So far, I’ve added a bit in the user record where I can select to enable or disable ListPlus, and prepared the defaults screen to display the status of the ListPlus switch.
(to be continued)