Omahub
← All plugins
C

YouTube Player

by Cristian Aravena

Search and play public YouTube videos from an anchored top-right popup with PiP and audio-only mode

Security review

Review recommended · 1 finding

Deterministic scan — not a security guarantee

Low
Risk level
Low
Analyzed commit
605842b
Scanned
3 weeks ago

Flagged patterns appear only in documentation files (README / docs) — descriptive examples, not executable code.

  • Docs sudo README.md:37

    Command runs with sudo, elevating the process beyond the plugin environment.

    sudo or pkexec is required.

Automated analysis only — not a security guarantee.

AI advisory review

No obvious issues detected

Language-model assessment · ~deepseek/deepseek-v4-flash-latest — advisory only

None
AI risk level
None
Recommendation
install
Model
~deepseek/deepseek-v4-flash-latest
Analyzed commit
605842b
Reviewed
3 weeks ago

The plugin is a straightforward YouTube search/player bar widget that invokes python3, yt-dlp, and mpv with bounded output and private, owner-checked state files. The deterministic scan's medium finding is a false positive: the README explicitly says 'No sudo or pkexec is required.' No obfuscation, destructive commands, credential access, or hidden network behavior was found.

How this check works

This review combines the deterministic scan (the rule-based results above) with an independent look at the plugin's code by a language model. The model reads a trimmed sample of the repository's files, the manifest, and the README, then gives a plain-language risk level and a recommendation: install (no notable danger), review (look closer first), or avoid (clearly dangerous).

It runs on the same analyzed commit as the deterministic scan and is strictly advisory — it is not a security guarantee and never blocks a plugin by itself. A human moderator still reviews plugins before they are listed.

AI advisory only — automated analysis, not a security guarantee.

Install
$ omarchy plugin add https://github.com/brm-src/omarchy-youtube-player --enable
Widgets #bar #quickshell #media

YouTube Player for Omarchy

A bar-native YouTube player for Omarchy: search public videos, keep audio in the background, and reveal PiP on demand.

YouTube Player for Omarchy

Screenshots

YouTube Player search panel YouTube Player PiP window YouTube Player audio-only mode

What it does

YouTube Player keeps public YouTube playback close to the desktop without turning the bar into a media dashboard:

  • search YouTube from a compact Omarchy popup;
  • play a public video in mpv while other applications stay usable;
  • keep playback running when the popup closes;
  • expose title and playback state through the native MPRIS ecosystem;
  • open a deliberate 480x270 always-on-top PiP window without stealing focus;
  • toggle fullscreen from the popup when a larger view is wanted;
  • use the system language for user-facing copy: English or Spanish.

The current release is intentionally URL-first and unauthenticated. It saves only the last public video metadata locally. State files are owner-checked, private, size-limited, and atomically replaced. Process and IPC responses are incrementally bounded before they reach the shell UI. It does not read browser cookies, request Google OAuth, download videos, proxy YouTube, or ship an ad blocker.

Direct stream resolution is not a guarantee of ad-free playback. YouTube playback, availability, authentication, and advertising behavior remain controlled by YouTube. When direct playback fails, open the canonical URL in a normal browser.

Requirements

  • Omarchy with Quickshell plugins
  • mpv
  • yt-dlp
  • ffmpeg
  • mpv-mpris is recommended for MPRIS metadata and controls

No sudo or pkexec is required.

Install

omarchy plugin add https://github.com/brm-src/omarchy-youtube-player.git --enable --yes
omarchy restart shell

The plugin manager installs the repository and enables the bar widget. It does not install system packages. Install the requirements with your distribution package manager if they are missing.

To add the widget to a bar section:

omarchy bar put io.github.brm-src.omarchy-youtube-player --section right
omarchy restart shell

For deterministic English screenshots and QA, regardless of the machine locale:

hyprctl eval 'hl.env("OMARCHY_YOUTUBE_PLAYER_LANG", "en")'
omarchy restart shell

Omit that environment variable to use the system language.

Use

  • Click the bar icon in the top-right bar to open the anchored player popup.
  • Search for a video, then select a result.
  • Playback continues in the background in a small PiP window without capturing the mouse or keyboard focus.
  • Press Escape or click outside the popup to close it.
  • Use the popup controls for pause, seek, volume, fullscreen, and Audio only.
  • Audio only disables the video track and minimizes the PiP window while audio continues.
  • Use Show video to restore the PiP window, or Stop to end playback.

The direct IPC target is:

omarchy-shell io.github.brm-src.omarchy-youtube-player open
omarchy-shell io.github.brm-src.omarchy-youtube-player close
omarchy-shell io.github.brm-src.omarchy-youtube-player toggle

Remove

python3 ~/.config/omarchy/plugins/io.github.brm-src.omarchy-youtube-player/player.py action quit --lang en
omarchy plugin remove io.github.brm-src.omarchy-youtube-player --yes
omarchy restart shell

The command disables the plugin, removes it from the Omarchy plugin registry, and deletes the installed plugin files. Playback state is stored separately under $XDG_STATE_HOME/omarchy-youtube-player; remove that directory only if you also want to delete the local last-video metadata.

Privacy and scope

Search and metadata requests go directly to YouTube through yt-dlp. The plugin does not send data to a third-party backend. Search terms and URLs are visible to YouTube and the network providers involved in the request.

This plugin is not affiliated with YouTube, Google, or Omarchy. Respect YouTube's Terms of Service, copyright, and the rights of creators.

Development checks

python3 -m unittest discover -s tests -q
python3 -m py_compile player.py
qmllint -I /usr/share/omarchy/shell Widget.qml
omarchy plugin validate .
git diff --check

License

MIT. See LICENSE.