SIGHTING CONFIRMED

OMAPLEX

A floating CRT TV for Plex on Omarchy. It hovers over your tiling grid, follows you across workspaces and never takes a tile.

omaplex
Turning the channel knob.

INSTALL

For Omarchy with the Lua Hyprland config (Hyprland 0.56 or later). You'll need git, jq and npm; if you don't have them, run omarchy pkg add nodejs npm.

$ curl -fsSL https://raw.githubusercontent.com/squatchware/omaplex/main/install.sh | bash

Then press Super Alt P and sign in to Plex once. The installer is short and worth reading first: install.sh. It backs up anything it edits, and rolls itself back if Hyprland reports a config error.

SCREENS

A tiled Omarchy desktop in Tokyo Night colours, with the omaplex TV floating over the bottom-right corner, playing Big Buck Bunny.
Floating over the grid, pinned to every workspace.
Bare mode: the cabinet is gone, leaving a 16:9 video with a slim coloured strip of controls along the top.
BARE loses the cabinet and keeps a slim remote.

THE CHANNELS

The channel knob swaps the whole set. Click it, scroll it, or right-click to go back a channel.

All six channels side by side: a teal set in the current theme, walnut, mint atomic, pink and purple vapor, black noir and orange sunburst.

IT WEARS YOUR THEME

Channel 1 builds the cabinet, panel, knobs, antennas and on-screen text from your current theme's colors.toml. Run omarchy theme set and the TV repaints itself with a burst of static, without a restart. It handles light and dark themes.

The theme channel in six stock Omarchy themes: Catppuccin, Everforest, Gruvbox, Retro 82, Rose Pine and Tokyo Night, each TV in that theme's colours.
catppuccin · everforest · gruvbox · retro-82 · rose-pine · tokyo-night

THE MANUAL

THE PANEL

CHchange channel
VOLscroll or drag for volume, click to mute
OPACscroll or drag to fade the whole set, 25 to 100%
◀◀ ▶❚❚ ▶▶back 10s, play or pause, forward 30s; right-click the arrows for the previous or next item
PINshow on every workspace
GHOSTfade right down when the TV isn't focused
SIZEsmall, medium, large
MOVEhop to the next screen corner
FXscanlines, vignette and glass glare
HOMEback to the Plex home screen
BAREhide the cabinet; the slim remote keeps the playback buttons
AWAYpause when you stash it, carry on when you bring it back
⏻CRT switch-off, then quit

KEYS

Super Alt Pturn on, then stash it (Plex keeps playing) and bring it back
Super + dragmove it, or grab the cabinet or antennas
Super + right-dragresize freely; it comes back where you left it
Media keysplay, pause and skip, like any other player

WHO'S WATCHING

Plex Home asks who's watching every time it opens. omaplex puts a pin on each profile on that screen: pin yours and the TV goes straight in from then on. If the profile has a PIN, the TV asks for it once. Click the pin again to get the picker back.

COMMANDS

~
$ omaplex                # launch, or focus it if it's on
$ omaplex toggle         # what Super Alt P runs
$ omaplex reload-theme   # the theme hook runs this for you
$ omaplex play-pause     # also next, previous, forward, back
$ omaplex profile Jim    # the pin, from a terminal

Settings live in ~/.config/omaplex/state.json. Set "url" there to go straight to your own server, e.g. http://my-server:32400/web.

WHAT IT TOUCHES

~/.config/hypr/omaplex.luathe window rule and keybinding
~/.config/hypr/hyprland.luaone line appended to load the file above
~/.config/omarchy/hooks/theme-set.d/omaplexthe theme hook
~/.local/bin/omaplexthe launcher
~/.local/share/applications/omaplex.desktopthe app menu entry
~/.config/omaplex/your settings and Plex login

install.sh --uninstall removes all of it except your settings.

UNDER THE HOOD

An Electron window with a transparent, hand-built cabinet around Plex's own web app. Hyprland does the floating and pinning; the knobs talk to it through hyprctl. About 1,300 lines of JavaScript and CSS, MIT licensed.

0tiles taken
6channels
1line added to your Hyprland config
~250 MBof RAM, because Electron

Omarchy and Hyprland only. Your own Plex media plays fine; DRM-protected streams may not, because stock Electron ships without Widevine. omaplex isn't affiliated with Plex, and you'll need a Plex account.

GET IT

Out now. Issues, pull requests and new channels welcome.