Skip to content

funinkina/medialine

Repository files navigation

Medialine

Medialine

A GNOME Shell extension that shows the currently playing media track in the top bar in a elegant minimal way.

License: MIT GNOME Shell GNOME Extensions installs GitHub stars GitHub issues Language

Get it on GNOME Extensions
Preview joined

Features

Panel Indicator

  • Displays track info (title, artist, album) inline in the top bar
  • Icon modes: album art, app icon, playback status icon, custom image, or none for a text-only label
  • Auto-hides when no media is playing or playback is stopped
  • Configurable icon size, spacing, text separator, and max label width

Rich Popup

Click the indicator to open a media popup with:

  • Album art preserving the original aspect ratio (square album covers and 16:9 video thumbnails like YouTube) — click to raise/focus the player window
  • App icon badge overlaid on the album art, toggleable in settings
  • Track title, artist, and album name
  • Live progress bar with elapsed and total time (updates every second)
  • Click or drag anywhere on the progress bar to seek (a thumb appears on hover when the player supports seeking)
  • Playback controls — shuffle, previous, play/pause, next, repeat (off / track / playlist) — with greyed-out state when unavailable
  • Customizable popup colors (primary text, secondary accent, and background)
  • Dynamic background — optionally extract the dominant color from album art and use it as the popup background, with adjustable intensity to control brightness
  • Music visualizer — optional animated bars next to the track info that react to playback (bars collapse to dots when paused)

Multi-Source View

When multiple media players are active, the popup switches to a compact list view showing each player with:

  • Album art thumbnail (click to focus the player)
  • Track title and artist/album
  • Per-source play/pause and next-track controls
  • Expandable rows — choose whether a compact row reveals full controls on hover, on click, or stays compact (off)

Album Art Caching

  • Downloaded cover art (e.g. Spotify) is cached on disk to avoid re-fetching
  • Configurable cache size limit; least-recently-used art is evicted when the limit is hit

Mouse & Scroll Actions

Each mouse button (left, middle, right) and scroll direction (up, down) can be independently configured to:

  • Do nothing
  • Open the popup
  • Play / Pause
  • Open extension settings
  • Skip to next track / previous track
  • Raise the player window
  • Volume up / Volume down (scroll only, via Gvc mixer)

Panel Placement

  • Place the indicator in the left, center, or right section of the top bar
  • Set a position index to control ordering within that section

Default Notification Hiding

  • Optionally suppress GNOME's built-in media notification while the panel indicator is shown

MPRIS Auto-detection

  • Automatically detects all running MPRIS-compatible media players
  • Prefers actively Playing sources; falls back to Paused ones
  • Reacts instantly when players start, stop, or change tracks

Source Blocking

  • Block specific media sources so only real players show up in the panel and popup
  • The Media sources list (Behaviour page) shows every running player with a toggle — turn one off to block it
  • Ideal for silencing browser-tab autoplay (YouTube previews, etc.): block your browser and only proper media players remain
  • Blocked sources are ignored entirely and persist across restarts; unblocking makes them reappear instantly

Enhanced PWA Support

  • Optional advanced detection to match the active PWA window and show the correct app icon for web apps (YouTube Music, etc.)

Requirements

  • GNOME Shell 45 – 50
  • An MPRIS-compatible media player (Spotify, VLC, Firefox, Rhythmbox, mpv, etc.)

Installation

From extensions.gnome.org

Install directly from extensions.gnome.org/medialine.

From GitHub Releases

Download the latest medialine@funinkina.co.in.zip from the Releases page, then install it:

gnome-extensions install --force medialine@funinkina.co.in.zip
gnome-extensions enable medialine@funinkina.co.in

Log out and back in (or restart GNOME Shell on X11 with Alt+F2r) for the extension to appear.

Manual

git clone https://github.com/funinkina/medialine
cd medialine
make install
make enable

Then log out and back in (or restart GNOME Shell on X11 with Alt+F2r).

Other make targets

Command Description
make Compile GSettings schemas and translation files
make install Compile schemas and translations, copy extension to ~/.local/share/gnome-shell/extensions/
make uninstall Remove the extension from the install directory
make enable Enable the extension via gnome-extensions
make disable Disable the extension via gnome-extensions
make pack Create a distributable zip in dist/ for extensions.gnome.org
make clean Remove compiled schema, translations, and dist/
make pot Regenerate the .pot translation template from source files
make update-po Merge new strings from .pot into all existing .po files
make locale Compile all .po translation files to binary .mo files

Configuration

Open the extension preferences via:

  • GNOME Extensions app
  • Right-clicking the indicator → Settings
  • Configuring a mouse button to Open settings and clicking

Preferences are split across three pages: Top Bar, Popup, and Behaviour.

Top Bar page

Panel placement

Setting Description
Panel section Left, Center, or Right
Position index Order within the section (0 = first)

Icon

Setting Description
Icon source App icon / Album art / Playing status / Custom image / None
Custom image File picker (PNG/JPEG/SVG/WebP), shown when source is Custom image
Icon size Size in pixels (8–64)
Icon spacing Gap between icon and text (0–32 px)

Label

Setting Description
Show title / artist / album Toggle each field independently
Separator String placed between title, artist, album
Max text width Clip long labels in pixels (0 = unlimited)

Popup page

Colors

Setting Description
Primary color Text and control color in the popup (with reset)
Secondary color Background and accent color in the popup (with reset)
Background color Custom background for the popup, also used as fallback for dynamic bg
Dynamic background Extract the dominant color from album art as the popup background
Background intensity How bright or dark the dynamic background appears (0 = dark, 100 = bright)

Display

Setting Description
Music visualizer Animated bars next to the track info; dots when paused
App icon on album art Overlay the player's app icon badge on the art
Expand compact layout on Off / Hover / Click — how multi-source rows reveal full controls

Behaviour page

Click actions — assign an action to left, middle, and right click (Nothing, Open popup, Play/Pause, Open settings, Next track, Previous track, Raise player).

Scroll actions — assign an action to scroll up and scroll down (same as click, plus Volume up / Volume down).

Setting Description
Hide default notification Suppress GNOME's built-in media notification
Media sources Toggle detected players off to block them (e.g. hide browser tabs)
Enhanced PWA support Advanced detection of the active PWA window for the correct icon
Cache size limit Max disk space for cached album art in megabytes (5–2000)

License

MIT — see LICENSE.

About

A GNOME Shell extension that shows the currently playing media track in the top bar via MPRIS.

Topics

Resources

Stars

Watchers

Forks

Releases

Contributors

Languages