From 179e08c148d15053e0d61d34cdb56d4879f2ec9b Mon Sep 17 00:00:00 2001 From: Julien Maille Date: Sun, 15 Feb 2026 21:30:24 +0100 Subject: [PATCH] FIX: one last try to fix media keys on linux --- js/app.js | 14 ++++++++++++++ public/neutralino_loader.html | 6 ++++++ 2 files changed, 20 insertions(+) diff --git a/js/app.js b/js/app.js index 12f7427..7b54c69 100644 --- a/js/app.js +++ b/js/app.js @@ -315,6 +315,20 @@ document.addEventListener('DOMContentLoaded', async () => { // Initialize tracker initTracker(player); + // Linux Media Keys Fix + if (window.NL_MODE) { + import('./desktop/neutralino-bridge.js').then(({ events }) => { + events.on('mediaNext', () => player.playNext()); + events.on('mediaPrevious', () => player.playPrev()); + events.on('mediaPlayPause', () => player.handlePlayPause()); + events.on('mediaStop', () => { + player.audio.pause(); + player.audio.currentTime = 0; + }); + console.log('Media keys initialized via bridge'); + }); + } + // Initialize desktop features if in Neutralino mode if ( typeof window !== 'undefined' && diff --git a/public/neutralino_loader.html b/public/neutralino_loader.html index bdca7ae..e91542c 100644 --- a/public/neutralino_loader.html +++ b/public/neutralino_loader.html @@ -135,6 +135,12 @@ Neutralino.events.on('windowFocus', () => forwardEvent('windowFocus')); Neutralino.events.on('windowBlur', () => forwardEvent('windowBlur')); + // Media Key Events (Linux Fix) + Neutralino.events.on('mediaNext', () => forwardEvent('mediaNext')); + Neutralino.events.on('mediaPrevious', () => forwardEvent('mediaPrevious')); + Neutralino.events.on('mediaPlayPause', () => forwardEvent('mediaPlayPause')); + Neutralino.events.on('mediaStop', () => forwardEvent('mediaStop')); + // Handle commands from the Iframe (via Bridge) window.addEventListener('message', async (event) => { const { type, eventName, data, extensionId } = event.data;