FluentFlyout-style media flyout for Zorin OS — album art, track info and controls pop up above your dock when music plays.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
EGO-A-004 warning
extension files should not contain excessive ungated console logging
File contains 10 ungated console.log/warn/error calls (threshold: 5).
extension.js:402
console.warn('[MediaFlyout] BlurEffect unavailable:', e.message)
extension.js:53
console.error('[MediaFlyout] D-Bus XML parse:', e)
extension.js:118
console.error('[MediaFlyout] watcher cb:', e)
extension.js:121
console.error('[MediaFlyout] startWatcher:', e)
extension.js:136
console.error('[MediaFlyout] scan:', e)
extension.js:158
console.error('[MediaFlyout] props-changed:', e)
extension.js:171
console.error('[MediaFlyout] addPlayer:', e)
extension.js:368
console.error('[MediaFlyout] placeMini:', e)
extension.js:535
console.error('[MediaFlyout] cmd:', e)
extension.js:553
console.error('[MediaFlyout] place:', e)
EGO-P-006 warning
unnecessary build and translation artifacts should not be shipped
Package contains files that often should not be shipped for review.
Don't include unnecessary files
install.sh
install.sh
EGO-L-002 warning
objects created by extension should be destroyed in disable()
Objects assigned in `enable()` are missing matching `.destroy()` calls in `disable()` or its helper methods.
extension.js:409
this._artBin = new St.Bin({ style_class: 'mf-art' })
extension.js:410
this._artIcon = new St.Icon({
icon_name: 'audio-x-generic-symbolic',
icon_size: 26,
style_class: 'mf-art-icon',
})
extension.js:266
this._miniArtBin = new St.Bin({ style_class: 'mf-mini-art' })
extension.js:267
this._miniArtIcon = new St.Icon({
icon_name: 'audio-x-generic-symbolic',
icon_size: 14,
style_class: 'mf-mini-art-icon',
})
extension.js:275
this._miniLbl = new St.Label({ style_class: 'mf-mini-label' })
extension.js:279
this._miniPlayBtn = new St.Button({
style_class: 'mf-mini-btn',
child: new St.Icon({
icon_name: 'media-playback-pause-symbolic',
icon_size: 13,
}),
})
EGO-L-005 warning
owned object references should be released in disable()
Owned references that are cleaned up in `disable()` should also be released with `null` or `undefined`.
extension.js:409
this._artBin = new St.Bin({ style_class: 'mf-art' })
extension.js:410
this._artIcon = new St.Icon({
icon_name: 'audio-x-generic-symbolic',
icon_size: 26,
style_class: 'mf-art-icon',
})
extension.js:266
this._miniArtBin = new St.Bin({ style_class: 'mf-mini-art' })
extension.js:267
this._miniArtIcon = new St.Icon({
icon_name: 'audio-x-generic-symbolic',
icon_size: 14,
style_class: 'mf-mini-art-icon',
})
extension.js:275
this._miniLbl = new St.Label({ style_class: 'mf-mini-label' })
extension.js:279
this._miniPlayBtn = new St.Button({
style_class: 'mf-mini-btn',
child: new St.Icon({
icon_name: 'media-playback-pause-symbolic',
icon_size: 13,
}),
})
EGO-L-003 warning
signals connected by extension should be disconnected in disable()
Signals assigned in `enable()` are missing matching disconnect calls in `disable()` or its helper methods.
extension.js:454
this._flyout.connect('notify::hover', () => {
try {
if (this._flyout?.hover) this._clearTimer();
else this._resetTimer(LINGER_MS);
} catch (_) {}
})
extension.js:286
this._miniPlayBtn.connect('clicked', (btn) => {
btn.stop_emission_by_name('clicked'); // don't bubble to pill click
try { this._cmd('PlayPause'); } catch (_) {}
})
extension.js:310
this._miniPlayer.connect('button-press-event', () => {
this._toggleFlyout();
return Clutter.EVENT_PROPAGATE;
})
extension.js:434
this._nextBtn.connect('clicked', () => { try { this._cmd('Next'); } catch (_) {} })
extension.js:433
this._playBtn.connect('clicked', () => { try { this._cmd('PlayPause'); } catch (_) {} })
extension.js:432
this._prevBtn.connect('clicked', () => { try { this._cmd('Previous'); } catch (_) {} })
EGO-L-004 warning
main loop sources should be removed in disable()
Main loop sources assigned in `enable()` are missing matching removals in `disable()` or its helper methods.
extension.js:542
GLib.idle_add(GLib.PRIORITY_DEFAULT_IDLE, () => {
if (!this._flyout || !this._enabled) return GLib.SOURCE_REMOVE;
try {
const mon = Main.layoutManager.primaryMonitor;
if (!mon) return GLib.SOURCE_REMOVE;
const w = Math.m
| Version | Status |
|---|---|
| 1 | Unreviewed |