LGFriend

LGFriend is a small macOS menu bar app for an LG OLED or C-series television used as a desktop display. It exposes what the TV actually allows through bscpylgtv: picture styles, picture settings, white balance, colour management, volume, input selection, apps, and power.

The menu bar popover holds the controls that were pinned. Anything can be pinned — a slider, a toggle, a picker, or a button — and the tray only shows what applies right now. HDR-only options disappear while SDR content is playing, profiles captured in another dynamic range hide themselves, and a setting the TV does not report is dropped rather than shown as broken.

Picture settings and profiles

Every editable setting the TV exposes is reachable: OLED light, contrast, brightness, colour, tint, sharpness, gamma, colour gamut, colour temperature, local dimming, clarity and motion processing, HDR tone mapping, peak brightness, white balance, colour management, HDMI black level, and OLED care. Sliders write in debounced batches and verify the value by reading it back.

A profile captures the live style’s settings under a name, and can be applied later — switching the picture style first if necessary. Profiles are tied to their dynamic range, so an HDR profile can never quietly overwrite an SDR setup; the app refuses with an explanation instead of applying half of it. Profiles can be pinned to the tray for one-click switching.

The copy function sends selected settings to other inputs, apps, picture styles, and profiles in one pass, skipping values that have no effect in the target context and accounting for the target’s dynamic range.

Why it exists

Using a television as a monitor means changing settings far more often than a television owner would, and the on-screen menu is slow. The app keeps the useful controls one click away and makes profiles reproducible.

It is built on the bscpylgtvcommand backend. Three earlier Python tools — lgcolor, lgcolorbalance, and lgpictuturestyler — explored the same problem with GTK; LGFriend replaces them with a native app and is the only one still maintained.

Built with

  • Swift
  • SwiftUI
  • macOS
  • bscpylgtv
← All projects