{"id":58,"date":"2025-11-28T15:01:59","date_gmt":"2025-11-28T14:01:59","guid":{"rendered":"https:\/\/linuxundich.de\/en\/?p=58"},"modified":"2026-10-03T21:49:53","modified_gmt":"2026-10-03T19:49:53","slug":"spotify-on-gnome-how-to-fix-the-blue-window-border","status":"publish","type":"post","link":"https:\/\/linuxundich.de\/en\/gnu-linux\/spotify-on-gnome-how-to-fix-the-blue-window-border\/","title":{"rendered":"Spotify on GNOME: How to Fix the Blue Window Border"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">If you use Spotify on Linux with <a href=\"https:\/\/linuxundich.de\/tag\/gnome\/\" data-type=\"post_tag\" data-id=\"1734\">GNOME<\/a>, you may have noticed an ugly blue border around the app window over the last few days. I&#8217;m seeing the problem here on my machine under <a href=\"https:\/\/linuxundich.de\/tag\/arch\/\" data-type=\"post_tag\" data-id=\"1762\">Arch Linux<\/a>, but it should affect all distributions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The culprit is an update to the official Electron-based Linux client that messed up the GTK-style window decoration. <a href=\"https:\/\/linuxundich.de\/tag\/spotify\/\" data-type=\"post_tag\" data-id=\"1480\">Spotify<\/a> itself works just as before, but visually it looks anything but nice.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac183d3a2688&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac183d3a2688\" class=\"wp-block-image wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/linuxundich.de\/wp-content\/uploads\/2025\/11\/spotify-aur-blue-1280x780.webp\" alt=\"Spotify with a blue border. An update to the Linux client broke the GTK-style window decoration, so the window is framed in an ugly blue and isn't displayed correctly.\" style=\"width:100%\"\/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Spotify with a blue border. An update to the Linux client broke the GTK-style window decoration, so the window is framed in an ugly blue and isn&#8217;t displayed correctly.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Solutions for Spotify<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">There are two easy ways to fix the problem. The most convenient one is to install Spotify as a <a href=\"https:\/\/flathub.org\/en\/apps\/com.spotify.Client\">Flatpak<\/a>. The Flatpak version doesn&#8217;t show the blue frame, and you don&#8217;t have to worry about anything. No configuration changes are needed.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac183d3a2acc&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac183d3a2acc\" class=\"wp-block-image wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/linuxundich.de\/wp-content\/uploads\/2025\/11\/spotify-flatpak-1280x780.webp\" alt=\"The Flatpak version of Spotify doesn't show the blue frame. The GTK-style window decoration is rendered correctly, and after installation the window looks normal and error-free.\" style=\"width:100%\"\/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">The Flatpak version of Spotify doesn&#8217;t show the blue frame. The GTK-style window decoration is rendered correctly, and after installation the window looks normal and error-free.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If you installed Spotify via the <a href=\"https:\/\/github.com\/kpcyrd\/spotify-launcher\">Spotify Launcher<\/a> (the <em>spotify-launcher<\/em> package from Arch&#8217;s extra repository) or directly from the <a href=\"https:\/\/aur.archlinux.org\/packages\/spotify\">AUR<\/a> (the <em>spotify<\/em> entry), you need to set the launch flag <code>--ozone-platform=x11<\/code> instead. That makes the GTK decoration show up correctly. Depending on how you installed it, add the flag like this:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>For AUR Spotify<\/strong> in the file <code>~\/.config\/spotify-flags.conf<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>--ozone-platform=x11<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>For Spotify Launcher<\/strong> in <code>~\/.config\/spotify-launcher.conf<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&amp;#91;spotify]\nextra_arguments = &amp;#91;&quot;--ozone-platform=x11&quot;]<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You may have to create these files first. After restarting Spotify, the blue frame should be gone and everything should look normal again.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac183d3a3007&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac183d3a3007\" class=\"wp-block-image wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/linuxundich.de\/wp-content\/uploads\/2025\/11\/spotify-ozone-platform.webp\" alt=\"The configuration files under ~\/.config. You may have to create them first. You only need the file that matches your installation method, not both at the same time.\" style=\"width:100%\"\/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">The configuration files under ~\/.config. You may have to create them first. You only need the file that matches your installation method, not both at the same time.<\/figcaption><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac183d3a32de&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac183d3a32de\" class=\"wp-block-image wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/linuxundich.de\/wp-content\/uploads\/2025\/11\/spotify-flatpak-flags-1280x780.webp\" alt=\"Alternatively, you can set the flag --ozone-platform=x11 if you installed Spotify from the AUR. The window frame is then displayed correctly and normally again.\" style=\"width:100%\"\/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Alternatively, you can set the flag &#8211;ozone-platform=x11 if you installed Spotify from the AUR. The window frame is then displayed correctly and normally again.<\/figcaption><\/figure>\n\n\n\n<p class=\"has-pale-cyan-blue-background-color has-background wp-block-paragraph\"><strong>Correction from <a href=\"https:\/\/social.anoxinon.de\/@fabiscafe@mstdn.social\/115627842495268735\">Fabian on Mastodon<\/a>:<\/strong> That&#8217;s not quite right. This is solely down to Spotify running natively on Wayland, where under GNOME it needs a client-side decoration (CSD), which it provides through that blue one. Forcing it back to X11 might cause real problems, like blurry fonts, bad (or no) scaling and so on. Also, Spotify isn&#8217;t Electron, it&#8217;s the Chromium Embedded Framework (CEF).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sure, it&#8217;s a crutch, but one that helps right now. And you can undo the change quickly, too. The other options would be to run GNOME under X11 or to make friends with the blue frames. To me, neither is exactly ideal. So for now this is a workaround, and of course you shouldn&#8217;t forget about it in case Spotify starts acting up again at some point.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A blue frame around Spotify on GNOME ruins the look, even though everything still works as it should. On Arch Linux, the fix is easy: either go through Flatpak or use a launch flag for the client from the AUR.<\/p>\n","protected":false},"author":2,"featured_media":57,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"lui_source_id":45241,"lui_source_hash":"46d6fea6688712aad9fe1c729e2d715a81587bcc4d41aee9581d997fea1bd554","lui_source_translated":"2026-10-03","lui_source_reviewed":true,"lui_via_url":"","lui_via_label":"","lui_source_url":"","lui_source_label":"","footnotes":""},"categories":[2],"tags":[],"class_list":["post-58","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gnu-linux"],"_links":{"self":[{"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/posts\/58","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/comments?post=58"}],"version-history":[{"count":1,"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/posts\/58\/revisions"}],"predecessor-version":[{"id":81,"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/posts\/58\/revisions\/81"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/media\/57"}],"wp:attachment":[{"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/media?parent=58"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/categories?post=58"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linuxundich.de\/en\/wp-json\/wp\/v2\/tags?post=58"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}