RedM documentation

Murphy's Radial Menu

Configuration

Icons and Localization

Prepare transparent icons and distinguish UI translation from configured slot labels.


Icons are rendered as white silhouettes

The public UI applies filter: brightness(0) invert(1) to action icons. A coloured image therefore becomes white. If the source image has an opaque rectangular background, that background becomes a white rectangle too.

This explains a reported white-image symptom without assuming the asset upload failed. Use a transparent PNG designed as a silhouette. Preserving full-colour icons would require changing the UI style deliberately; no such code change is part of this documentation work.

Add an icon

  1. Place my_icon.png in ui/build/assets/icons/.
  2. Reference it as icon = "my_icon" without .png.
  3. Match the filename's case, particularly on Linux.
  4. Restart the resource and inspect the entry in a test session.

If you rebuild the UI, also keep the source asset in ui/public/assets/icons/ so it is copied into the build again. An asset existing only in an old build can disappear during a rebuild.

The public source documents ui/build/assets/logo.png, with the source copy in ui/public/assets/logo.png. Menu definitions can supply a logo. Check the actual resolved path and dimensions for the installed version; the centre logo and slot icon have different roles.

Language has two parts

Config.Locale selects the interface language. The public source bundles en, fr, ar, cs, de, es, hu, it, ja, ko, nl, pl, pt-BR, ro, ru, sv, tr, uk, zh-CN and zh-TW.

Slot label and description strings are supplied by configuration or integration code. Selecting French for the UI does not translate a label written in English by another resource.

The built UI locale files are in ui/build/locales/; retain equivalent source changes in ui/public/locales/ for rebuilds. ui/build/config.js provides the pre-Lua fallback. For a runtime change, use the client export:

lua
exports.murphy_radialmenu:setLocale("fr")

Verification

Check a transparent icon, a missing icon and a long translated label. The white-silhouette behavior is established by the public 1.1.0 CSS. Check the source image's transparency and the rendered icon separately.


Last updated: September 10, 2026