Khaos

From Turtle WoW Wiki
Revision as of 13:47, 1 July 2025 by >Basedturtle
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Khaos is a powerful configuration management addon. allowing you to store, modify, and switch between multiple addon configurations easily.

Installation

Manual Installation Only

  1. Download this zip: Cosmos_Release.zip
  2. Unpack the .zip and move these folders from Interface/AddOns into your Interface/AddOns directory and restart the game.
  • Chronos
  • Earth
  • Khaos
  • Sea
  • Satellite
  • MobileFrames
  • EarthFeatureFrame


Command

Use this command, EarthFeature minimap button, or bind a key to toggle the main Khaos interface.<syntaxhighlight lang="lua"> /run ToggleKhaosFrame(); </syntaxhighlight>


Configurations

Enable/Disable Addons

To enable or disable specific addon configurations, use the options in the Khaos interface or the slash commands provided for each configuration set.

Switching Configurations

  • Open the Khaos window via the command or bind.
  • Select your desired configuration set and press "Apply."
  • You can also load a specific configuration directly via script or slash command.

Managing Configurations

  • Create new configuration: Use the menu in the addon GUI.
  • Rename: Right-click a configuration and choose "Rename."
  • Copy: Right-click and select "Copy."
  • Delete: Right-click and choose "Delete."
  • Export: Export configuration as a string for sharing or backup.
  • Import: Paste a string to import a configuration.

Managing Options & Sets

  • Options are individual settings within a configuration set.
  • Sets group options for a particular addon or purpose.
  • Folders organize sets into categories (e.g., "Chat", "Combat").

Accessing Settings

  • Use the main interface or right-click configuration sets for options like renaming, copying, or exporting.
  • Adjust options via sliders, checkboxes, dropdowns, buttons, and color pickers.


Preview


Tips for Users

  • Bind toggle commands for quick access.
  • Use the export/import feature to backup or share configurations.
  • Create folders and sets to organize your preferences.
  • Use the "Reset" option to restore defaults.
  • Use color pickers for visual customization.
  • Use the "Table of Contents" menu for navigating options easily.

Additional Notes

  • Slash commands and keybindings can be customized via the interface.
  • Advanced users can create custom options with scripts and commands.
  • Find more documentation on the Function libraries and Khaos Wiki.
  • Remember to save your configuration after making changes.


Khaos API

  • registerFolder - Registers a custom folder
  • updateFolder - Updates a custom folder
  • validateFolder - Validates a custom folder
  • unregisterFolder - Unregisters a custom folder
  • registerOptionSet - Registers an option set
  • updateOptionSet - Updates an option set
  • validateOptionSet - Validates an option set prior to registration
  • unregisterOptionSet - Unregisters an option set
  • registerConfigurationLoadNotice - Register to be notified when the user selects a different configuration
  • unregisterConfigurationLoadNotice - Removes the load updater with specified id
  • registerGlobal - Registers a global variable to be saved/loaded when the user selects a new configuration
  • unregisterGlobal - Removes a global from the configuration update list
  • updateGlobal - Updates the global variable stored inside the configuration
  • getSetKey - Allows you to directly access a key-value pair inside the configuration
  • setSetKey - Allows you to directly modify a key-value pair inside the configuration
  • setSetKeyParameter - Allows you to directly set a key-value pair's parameter
  • getSetEnabled - Allows you to detect if an option set is on or off
  • setSetEnabled - Allows you to turn an option set on or off
  • updateSetKeys - Allows you to update groups of set keys and refresh the gui together
  • refresh - Force a re-draw of the gui


Difficulty System

Several people have asked about the difficulty levels. Let's pretend we're creating an AddOn called "Burger Order 1.0".

  1. Beginner - Options for everyone
    • Example Checkboxes:
      • Pickles
      • Tomato
      • Lettuce
      • Cheese
    • Example Buttons:
      • Combo Meal 1
      • Kids Meal
    • Your mom can understand this option
    • 90% of your users will definately use these options.
  2. Intermediate - Options for tweaking
    • Example Settings:
      • Slider: 1-4 pickles
      • Slider: 1-2 slices of tomato
      • Colorpicker: color of wrapper
    • People often adjust these, but around 40-50% use it frequently
    • Your brother or sister could adjust this, but Mom doesn't care
  3. Advanced - Options most people won't use
    • Examples:
      • British or American Cheese Toggle
      • Checkbox: Washed/Unwashed Lettuce
      • Slider: Special Sauce Blend
      • Checkbox: Martini Shaken, not Stirred
    • Anything difficult to use should go here.
    • If its not clear immediately what it does, put it here.
    • These are hard-to-use or rarely used options.
  4. Developer - Debug options
    • Examples:
      • Checkbox: Enable Debug Output
      • Checkbox: Deactivate Oven Fire Alarms
      • Slider: Temperature of the Oven
      • Editbox: Self-destruct sequence
    • These are options that you and I would use, but users shouldn't worry about.