Skip to content

Instantly share code, notes, and snippets.

@partydrone
Last active November 30, 2023 21:38
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save partydrone/fab972d0ec1ac7f8638a95b3ec6ed3d3 to your computer and use it in GitHub Desktop.
Save partydrone/fab972d0ec1ac7f8638a95b3ec6ed3d3 to your computer and use it in GitHub Desktop.
My default Simple ElvUI profile for World of Warcraft

Simple World of Warcraft ElvUI Profile

This is a World of Warcraft UI customization using ElvUI and some other addons to enhance the in-game experience by displaying the relevant UI when necessary. My second goal is to create a customized UI that does't break when updating addons.

This README file is meant to show you how to fully implement this UI, yourself. This requires some manual work, but it's minor, and it shouldn't break when updating the game or any addons. (That is to say, no significant upates.)

Getting Everything Ready

Fonts

I use the following fonts exclusively:

System Font

I use Source Sans Pro everywhere, including as the default system/game font. To get this to work:

  1. Open your World of Warcraft game folder.
  2. Create a new Fonts folder, if it doesn't already exist.
  3. Copy SourceSansPro-Semibold.ttf into this folder. You will need four copies of this file.
  4. Rename each copy of SourceSansPro-Semibold.ttf to the following four names:
  • ARIALN.ttf
  • FRIZQT__.ttf (that's two underscores)
  • MORPHEUS.ttf
  • skurri.ttf

Additional ElvUI Font

The next step is to make our fonts available to ElvUI.

  1. Open the Addons folder (located at World of Warcraft > Interface > Addons)
  2. Create a new SharedMedia_MyMedia folder if it doesn't already exist.
  3. Inside that folder, create the following folders:
  • background
  • border
  • font
  • sound
  • statusbar
  1. Create a new file named MyMedia.lua if it doesn't already exist.

  2. Copy SourceSansPro-Semibold.ttf and SourceCodePro-Semibold.ttf into the font folder.

    You should now have the following file structure:

    World of Warcraft
    └ Interface
      └ Addons
        └ SharedMedia_MyMedia
          └ background
          └ border
          └ font
            └ SourceCodePro-Semibold.ttf
            └ SourceSansPro-Semibold.ttf
          └ sound
          └ sidebar
          └ MyMedia.lua
    
  3. Copy the code in MyMedia.lua below and paste it into MyMedia.lua on your computer. This registers the new fonts with the LibSharedMedia-3.0 library used by ElvUI.

Installing Addons

This interface customization depends on a couple of addons to work. Here, you will learn what addons you need and how to install them.

You can install WoW addons manually by downloading them and placing the addon folder in the World of Warcraft > Interface > Addons folder. Some addons (like ElvUI) are delivered as packages of multiple addons. You must place each one in the Addons folder. An easy way to tell is that the root folder of an addon must contain a .toc and a .lua file with the same name as the folder.

A far easier method is to use an addon manager like Curse and/or TukUI. These are both Windows clients.

Required Addons

These are the addons necessary for this UI customization to work:

Optional Addons

These are additional addons that I use, but aren't required:

Setting Up the UI

Initial Configuration

ElvUI

When you first log into a character after installing the ElvUI addon, it will prompt you to configure the new interface. For the purposes of this setup, you should:

  1. Click Setup CVars, then Continue.
  2. Click Setup Chat, then Continue.
  3. Everything else after this is optional. You can click Continue until you get to the end.
  4. Click Finished.

Once you're done, the UI will reload, taking you to the next step.…

Shadow & Light

  1. Click Continue to start the setup process.
  2. Click Shadow & Light to use their chat frame layout, then click Continue.
  3. Click Enable to enable the S&L Armory Mode character and inspect frames, then click Continue.
  4. Everything else after this is optional. You can click Continue until you get to the end.
  5. Click Finished.

Once you're done, the UI will reload, again. Now, on to the good stuff!

Importing the Simple ElvUI Profile

From here on out, it should be pretty easy. ElvUI exports profiles in several chunks, which include:

  • Profile
  • Private (character settings)
  • Global (account settings)
  • Filters

These settings are encoded and stored in the three files, below:

  • Simple_profile.txt
  • Simple_character.txt
  • Simple_account.txt

To install the Simple profile:

  1. Type /ec or /elvui in the chat box. This opens the ElvUI configuration frame.
  2. Click Profiles from the list on the left. This displays information about the current profile and allows you to manage and select different profiles.
  3. Click the Install Profile button. This opens a new frame with a large text box.
  4. Copy the text from Simple_profile.txt below (click the Raw button to make sure you get the whole string) and paste it into the text box, then click Import Now. A dialog box will pop up asking you to confirm the import.
  5. Click Accept. This reloads the UI.

NOTE: You will only have to do this once on each computer you play WoW on.

NOTE: You may see the message, "Error decoding data. Import string may be corrupted!" If so, make sure there's no carriage return at the end of the string.

Repeat this process for Simple_account.txt and Simple_character.txt. You will have to do this for each account and each character on your computer, respectively.

----------------------------------------------------------------------------
-- Copy this section of the file to a file called MyMedia.lua, and enter
-- your media's information, using the examples shown below.
----------------------------------------------------------------------------
local LSM = LibStub("LibSharedMedia-3.0")
-- START of the section that you should be editing
--
-- NB: any line beginning with "--" is ignored - so the lines
-- below are just comments!
--
--background:
--border:
--font:
LSM:Register("font", "Source Code Pro", [[Interface/Addons/SharedMedia_MyMedia/font/SourceCodePro-Semibold.ttf]])
LSM:Register("font", "Source Sans Pro", [[Interface/Addons/SharedMedia_MyMedia/font/SourceSansPro-Semibold.ttf]])
--sound:
--statusbar:
-- END of the section that you should be editing
AV4xXlReU3NjcmVlbmhlaWdodF5OMTE4MS41NF5TZ2VuZXJhbF5UXlNzbWFsbGVyV29ybGRNYXBeYl50XlN1aVNjYWxlXlMwLjY0OTk5OTk3NjE1ODE0XlNzY3JlZW53aWR0aF5OMTg5MC40Nl5TdW5pdGZyYW1lXlReU2J1ZmZ3YXRjaEJhY2t1cF5UXnRedF50Xl46Omdsb2JhbA==
Ay0rAQB6oeqlEHaJZJsQzQZuk9opVPZSu5X2S+qvCL+lhorUYEmGIzmGlHMiWqjSYhXLSZ5Cy0TpuWCqoskK04mLCD0TStcRbZSozRLZLhQfJfRZVH2XYKSQvBbFaATjhdRJpHIZdVpV55Gqx6ocBq0TlU3zNAbAnkaOphRTnkZISouCL+NrMf4NAgFIvNYUYGFjNhWbtRjzvKwg8DQ+ApRLngO43Cv449lxtEjjI0C55DmAy71ijCiihgDMLiw2KQRWW/wKGBdqLvWKEZtUj+sK4Ya6Sqs2Dp0v9YoRm1SP6wrhhrpKq7YY4Ri9IfM3eBqJ+vBA+iCsfY1EfXhcBl2YTfkaifrwoAtRfwxeX4vxbxAIQOK1pgALG5MpWtJi53KU+jFQGA==
AV4xXlRedF5eOjpmaWx0ZXJzQWxs
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment