Skip to content

About

Sync your EllesmereUI setup between PCs with different resolutions. Each screen keeps its own UI scale.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

WoW UI Sync

Download page · Latest release

Keeps EllesmereUI settings in sync between two Windows PCs that run at different resolutions, without the UI breaking on either one.

Why copying the files doesn't work

EllesmereUI stores everything in WTF\Account\<account>\SavedVariables\EllesmereUI.lua, including:

  • ppUIScale: one account-wide UI scale that it re-applies at every login, ignoring the screen.
  • Frame positions in UI units, measured from anchors on UIParent (mostly from the center).

UIParent is 768 / ppUIScale units tall and as wide as the monitor's aspect ratio allows. Copy the file to a screen with a different shape, or change the scale on one machine, and frames out toward the edges end up overlapped or off-screen.

What the app does

  • Upload: copies Ellesmere*.lua from this device into a shared folder (OneDrive by default), with a manifest recording this device's resolution and UI scale.
  • Apply: copies them back down on the other device, but:
    • keeps that device's own ppUIScale, ppUIScaleAuto, ppFixedScale and panelScale
    • remaps every UIParent-relative frame position from the sender's canvas onto this one. Smart fit keeps the middle of the screen pixel-identical (so action-bar and unit-frame clusters don't drift apart) and keeps edge frames attached to the edges. Positions anchored to other frames (castbar anchors, indicator offsets) are left alone.
    • backs up the current files first (last 20 kept; Undo last apply restores the latest).
  • Auto-sync (optional, on by default): runs in the tray. Once WoW has exited, it uploads local changes and applies newer uploads from the other device. If both devices changed since the last sync, it asks you which to keep instead of guessing.

The app never applies while WoW is running, because WoW overwrites SavedVariables when it exits.

Each device keeps its own settings and state in %LOCALAPPDATA%\WowUiSync (config, sync state, backups, log). Only the snapshot in the sync folder is shared.

Setup

  1. Download WowUiSync.exe from the latest release (or build it yourself with publish.ps1) and run it on both PCs.
  2. The app finds the WoW folder, the game version and account with EllesmereUI settings, and your OneDrive folder. Check those settings, then click Detect for the resolution while the window is on the monitor you play on.
  3. On the PC whose UI you want to keep: Upload this device's UI.
  4. On the other PC: Apply cloud UI here. Adjust the UI scale in EllesmereUI there if you want. The app keeps that scale from then on.
  5. Optionally tick Start with Windows on both.

Releasing

Push a version tag, or run the Release workflow from the Actions tab and enter a version:

git tag v1.0.1
git push origin v1.0.1

The workflow runs the tests, builds the single-file exe with that version, and attaches it (plus a SHA-256 checksum) to a GitHub release. The download page (site/, deployed to GitHub Pages) reads the latest release from the GitHub API, so it doesn't need to change for a new version.

Development

dotnet test
dotnet run --project src\WowUiSync

About

Sync your EllesmereUI setup between PCs with different resolutions. Each screen keeps its own UI scale.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages