Config Files

See also: List of options available in config/myconfig.lua

Directory Assistance

EventHorizon comes with the following files in its main directory:

  • EventHorizon.lua contains EH’s core code. No user should ever need to touch this file.
  • EventHorizon.toc tells WoW which files the addon needs to work. No user should ever need to touch it.
  • config.lua contains EH’s default settings and comments with usage information.
  • changelog.txt is a running tally of the changes made to EH over its lifespan. It makes for a good read, believe it or not.
  • Smooth.tga is the bar texture used by default in EH.

Config vs. Myconfig

There’s one extra file which EventHorizon will load when present: myconfig.lua.

Myconfig acts as a second config.lua. It is loaded after config.lua, meaning the options are already there to adjust. No need to copy the contents of config.lua, just make a reference and change what you want. Since it’s not included with EventHorizon’s releases, it’s safe to assume that it will never be overwritten by a new version. In short, myconfig.lua can be shared as you please, will stick around every time you update EH to the latest version, and can have as many or as few options as you like.

For an example, below is the author's myconfig.

local useconfig = false
if useconfig then

    local config = EventHorizon.config

    config.enableRedshift = true
    config.Redshift.hideVitals = false

    config.staticheight = 150

    config.past = -1
    config.future = 12
    config.width = 153
    config.height = 14
    config.spacing = 1
    config.anchor = {"TOPLEFT",UIParent,"CENTER",100,-192}
    --config.bartexture = "Interface\\Addons\\EventHorizon\\Smooth"
    config.bartexture = "Interface\\Addons\\SharedMedia\\MyMedia files\\statusbar\\HalI"
    config.border = "Interface\\AddOns\\SharedMedia\\MyMedia files\\border\\IshBorder"
    config.inset = {top = 2, bottom = 2, left = 2, right = 2}
    config.padding = 3
    config.edgesize = 6

    --config.hideIcons = true
    config.stackFont = "Interface\\AddOns\\SharedMedia\\MyMedia files\\font\\visitor1.ttf"
    config.stackFontSize = 10
    config.stackFontOutline = false
    config.stackFontShadow = {0,0,0,0.5}
    config.stackFontShadowOffset = {1,-1}
    config.stackOnRight = false

    local c = EventHorizon.colors
    c.sent = {true,1,.5}
    c.tick = {true,1,1}
    c.casting = {0,1,0,0.3}
    c.cooldown = {1,1,1,0.3}
    c.debuffmine = {true,1,0.3}
    c.debuff = {true,0.5,0.3}
    c.playerbuff = {true,1,0.3}
    c.default = {1,1,1,1}
    c.bgcolor = {0,0,0,0.55}
    c.bordercolor = {true,0.5,0.7}
    c.nowLine = {true,1,0.5}
    c.gcdColor = {true,0.5,0.5}

    local _,class = UnitClass('player')
    if class == 'PRIEST' then
        for i,v in pairs(c) do
            if v[1] == true and v[2] == 1 then
                v[2] = 0.7


Things of note:
  • local useconfig / if useconfig then allows an easy way to disable all settings in the file and revert to the defaults instead.
  • local config = EventHorizon.config simply means that any time we type config, we actually mean EventHorizon's configuration table.
  • You can run whatever custom code you want in your myconfig. Case in point, the somewhat cryptic section at the end which does exactly the same thing as config.lua's color table, just with a little less finesse.
  • Again, not every option needs to be in there. Everything has already been set in config.lua, we don't need to set it again if it isn't being changed.
  • The above myconfig will produce errors unless you happen to have the applicable textures and font in a SharedMedia directory of the same format. If you want to try it out, remove or change the lines in question.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License