How to add a switch/toggle in wwivconfig


How to add a switch/toggle in wwivconfig

====[ xenos@aliens.ph – 26 December 2025]===========

1) Define what you want to have a switch for in sdk/config.h

in lines 54-onwards:

  struct system_toggles_t {
     bool lastnet_at_logon{false};
  bool show_chain_usage{false};

      // ADD YOUR TOGGLE VARIABLE HERE;
  // example: bool variable_name{default};
  // default is true or false, I suggest using false as default
  bool variable_name{false};
  };

2) Add to sdk/config_cereal.h so we can save it

  template <class Archive> void serialize(Archive& ar, system_toggles_t& n) {
    SERIALIZE(n, lastnet_at_logon);
    SERIALIZE(n, show_chain_usage);

    // ADD A SERIALIZE OF NEW VARIABLE HERE;
    // SERIALIZE(n, variable_name);
    SERIALIZE(n, variable_name);

    }

3) Add to wwivconfig/toggles.cpp

Add the following lines:

   ++y;
   items.add(new Label("Thingy we wanna toggle:"),
            new BooleanEditItem(&t.variable_name),
     "Variable name toggle here", 1, y);

4) You can then reference the switch/toggle as:

  if (a()->config()->toggles().variable_name) {
         // do something if variable_name is true
  };

Leave a Reply

Only people in my network can comment.

This site uses Akismet to reduce spam. Learn how your comment data is processed.