Skip to content

Header controls overlap the search bar at smaller window sizes #624

Description

@oo7kc

Spotifast version and how you installed it

Spotifast: 0.11.1 Installed via: deb package

Operating system

Linux

System details

Ubuntu 26.04 GNOME Shell 50.1 Wayland

Spotify plan

Premium

What did you do, and what happened instead?

When continuously resizing the Spotifast window to a smaller width, the top navigation initially scales normally.

However, once the search field reaches what appears to be its minimum width, the rest of the header continues to compress. The controls beside the search field then begin to overlap/pack together instead of the layout adapting to the reduced available space.

Steps to reproduce

  1. Launch Spotifast 0.11.1.
  2. Start with the window maximized or at a relatively large width.
  3. Continuously resize the window horizontally to make it narrower.
  4. Continue resizing until the search field can no longer shrink.
  5. Observe the top navigation/header.

Actual behaviour

Once the search field reaches its minimum width, the controls around it begin overlapping and become tightly packed together.

The issue occurs dynamically while resizing the window.

[attach smaller-window screenshot]

Expected behaviour

Once the available width becomes too small for the full header layout, the UI should adapt instead of allowing the controls to overlap.

For example, Spotifast could:

  • reduce or remove spacing between header elements;
  • hide/collapse lower-priority controls at a breakpoint;
  • replace some controls with a compact menu;
  • or otherwise switch to a narrower header layout.

At larger/maximized window sizes, the header renders correctly.

[attach maximized-window screenshot]

Additional observation

The issue seems to begin specifically after the search field reaches its minimum width. This suggests that the search field itself may be respecting a minimum width while the parent/header layout does not have a responsive fallback for widths below that point.

spotifast.log

[2026-09-30T22:01:59Z INFO spotifast] Starting spotifast 0.11.0 on linux (x86_64)
[2026-09-30T22:01:59Z WARN sctk_adwaita::buttons] Ignoring unknown button type: 
[2026-09-30T22:01:59Z INFO spotifast::entrypoint] OpenGL renderer: AMD Radeon Graphics (radeonsi, renoir, ACO, DRM 3.64, 7.0.0-34-generic); vendor: AMD; version: 4.6 (Core Profile) Mesa 26.0.8-1ubuntu0.3
[2026-09-30T22:01:59Z INFO fastframe_fonts::system] han fallback: Noto Sans CJK SC (/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc, face 2), scale 1.00, baseline -0.072 em
[2026-09-30T22:01:59Z INFO fastframe_fonts::system] arabic fallback: Noto Sans Arabic (/usr/share/fonts/truetype/noto/NotoSansArabic-Regular.ttf, face 0), scale 1.16, baseline +0.046 em
[2026-09-30T22:01:59Z INFO fastframe_fonts::system] hebrew fallback: Noto Sans Hebrew (/usr/share/fonts/truetype/noto/NotoSansHebrew-Regular.ttf, face 0), scale 1.00, baseline -0.024 em
[2026-09-30T22:01:59Z INFO fastframe_fonts::system] thai fallback: Noto Sans Thai (/usr/share/fonts/truetype/noto/NotoSansThai-Regular.ttf, face 0), scale 1.00, baseline +0.058 em
[2026-09-30T22:01:59Z INFO fastframe_fonts::system] lao fallback: Noto Sans Lao (/usr/share/fonts/truetype/noto/NotoSansLao-Regular.ttf, face 0), scale 1.00, baseline +0.003 em
[2026-09-30T22:01:59Z INFO fastframe_fonts::system] khmer fallback: Noto Sans Khmer (/usr/share/fonts/truetype/noto/NotoSansKhmer-Regular.ttf, face 0), scale 1.00, baseline -0.024 em
[2026-09-30T22:01:59Z INFO fastframe_fonts::system] myanmar fallback: Noto Sans Myanmar (/usr/share/fonts/truetype/noto/NotoSansMyanmar-Regular.ttf, face 0), scale 1.00, baseline +0.132 em
[2026-09-30T22:01:59Z INFO fastframe_fonts::system] devanagari fallback: Noto Sans Devanagari (/usr/share/fonts/truetype/noto/NotoSansDevanagari-Regular.ttf, face 0), scale 1.00, baseline +0.120 em
[2026-09-30T22:01:59Z INFO fastframe_fonts::system] bengali fallback: Noto Sans Bengali (/usr/share/fonts/truetype/noto/NotoSansBengali-Regular.ttf, face 0), scale 1.00, baseline +0.109 em
[2026-09-30T22:01:59Z INFO fastframe_fonts::system] gurmukhi fallback: Noto Sans Gurmukhi (/usr/share/fonts/truetype/noto/NotoSansGurmukhi-Regular.ttf, face 0), scale 1.00, baseline +0.120 em
[2026-09-30T22:01:59Z INFO fastframe_fonts::system] gujarati fallback: Noto Sans Gujarati (/usr/share/fonts/truetype/noto/NotoSansGujarati-Regular.ttf, face 0), scale 1.00, baseline +0.120 em
[2026-09-30T22:01:59Z INFO fastframe_fonts::system] tamil fallback: Noto Sans Tamil (/usr/share/fonts/truetype/noto/NotoSansTamil-Regular.ttf, face 0), scale 1.00, baseline +0.114 em
[2026-09-30T22:01:59Z INFO fastframe_fonts::system] telugu fallback: Noto Sans Telugu (/usr/share/fonts/truetype/noto/NotoSansTelugu-Regular.ttf, face 0), scale 1.00, baseline +0.171 em
[2026-09-30T22:01:59Z INFO fastframe_fonts::system] kannada fallback: Noto Sans Kannada (/usr/share/fonts/truetype/noto/NotoSansKannada-Regular.ttf, face 0), scale 1.00, baseline +0.229 em
[2026-09-30T22:01:59Z INFO fastframe_fonts::system] malayalam fallback: Noto Sans Malayalam (/usr/share/fonts/truetype/noto/NotoSansMalayalam-Regular.ttf, face 0), scale 1.00, baseline +0.123 em
[2026-09-30T22:01:59Z INFO fastframe_fonts::system] sinhala fallback: Noto Sans Sinhala (/usr/share/fonts/truetype/noto/NotoSansSinhala-Regular.ttf, face 0), scale 1.00, baseline +0.005 em
[2026-09-30T22:01:59Z INFO fastframe_fonts::system] armenian fallback: Noto Sans Armenian (/usr/share/fonts/truetype/noto/NotoSansArmenian-Regular.ttf, face 0), scale 1.00, baseline -0.024 em
[2026-09-30T22:01:59Z INFO fastframe_fonts::system] georgian fallback: Noto Sans Georgian (/usr/share/fonts/truetype/noto/NotoSansGeorgian-Regular.ttf, face 0), scale 1.00, baseline -0.024 em
[2026-09-30T22:01:59Z INFO fastframe_fonts::system] ethiopic fallback: Noto Sans Ethiopic (/usr/share/fonts/truetype/noto/NotoSansEthiopic-Regular.ttf, face 0), scale 1.00, baseline -0.024 em
[2026-09-30T22:01:59Z INFO fastframe_fonts::system] cherokee fallback: Noto Sans Cherokee (/usr/share/fonts/truetype/noto/NotoSansCherokee-Regular.ttf, face 0), scale 1.00, baseline -0.024 em
[2026-09-30T22:01:59Z INFO fastframe_fonts::system] yi fallback: Noto Sans Yi (/usr/share/fonts/truetype/noto/NotoSansYi-Regular.ttf, face 0), scale 1.00, baseline -0.024 em
[2026-09-30T22:01:59Z INFO fastframe_fonts::system] javanese fallback: Noto Sans Javanese (/usr/share/fonts/truetype/noto/NotoSansJavanese-Regular.ttf, face 0), scale 1.00, baseline +0.262 em
[2026-09-30T22:01:59Z INFO fastframe_fonts::system] math fallback: Noto Sans Math (/usr/share/fonts/truetype/noto/NotoSansMath-Regular.ttf, face 0), scale 1.00, baseline +0.041 em
[2026-09-30T22:01:59Z INFO fastframe_fonts::system] enclosed fallback: Noto Sans Symbols (/usr/share/fonts/truetype/noto/NotoSansSymbols-Regular.ttf, face 0), scale 1.00, baseline -0.091 em
[2026-09-30T22:01:59Z INFO fastframe_fonts::system] symbols fallback: Noto Sans Symbols2 (/usr/share/fonts/truetype/noto/NotoSansSymbols2-Regular.ttf, face 0), scale 1.00, baseline +0.144 em
[2026-09-30T22:02:00Z WARN spotifast::api::client] Spotify rate limit source=shared wait=9s
[2026-09-30T22:02:00Z INFO spotifast::api::client] Spotify cooldown source=shared duration_ms=9000
[2026-09-30T22:02:48Z WARN librespot_connect::state::context] couldn't load context info because: context is not available. type: Default
[2026-09-30T22:02:48Z WARN librespot_connect::state::context] couldn't load context info because: context is not available. type: Default
[2026-09-30T22:02:51Z WARN librespot_connect::spirc] SpircCommand::Activate will be ignored while already active
[2026-09-30T22:02:58Z WARN librespot_audio::fetch::receive] Time to first byte 2064 ms exceeds maximum 1500, setting to maximum
[2026-09-30T22:04:58Z WARN librespot_connect::spirc] SpircCommand::Activate will be ignored while already active
[2026-09-30T22:04:58Z WARN librespot_connect::state::context] couldn't load context info because: context is not available. type: Default
[2026-09-30T22:12:34Z WARN librespot_core::dealer] Websocket connection failed: WebSocket protocol error: Remote sent after having closed
[2026-09-30T22:12:34Z WARN librespot_core::dealer] Error while closing websocket: WebSocket protocol error: Sending after closing is not allowed
[2026-09-30T22:24:46Z ERROR librespot_connect::spirc] Client specified an invalid argument { Response status code: 400 Bad Request }
[2026-09-30T22:27:06Z WARN winit::platform_impl::linux::wayland::window] Unminimizing is ignored on Wayland.
[2026-09-30T22:27:08Z WARN winit::platform_impl::linux::wayland::window] Unminimizing is ignored on Wayland.
[2026-09-30T22:27:27Z WARN sctk_adwaita::buttons] Ignoring unknown button type: 
[2026-09-30T22:27:27Z INFO spotifast::entrypoint] OpenGL renderer: AMD Radeon Graphics (radeonsi, renoir, ACO, DRM 3.64, 7.0.0-34-generic); vendor: AMD; version: 4.6 (Core Profile) Mesa 26.0.8-1ubuntu0.3
[2026-09-30T22:27:41Z WARN sctk_adwaita::buttons] Ignoring unknown button type: 
[2026-09-30T22:27:41Z INFO spotifast::entrypoint] OpenGL renderer: AMD Radeon Graphics (radeonsi, renoir, ACO, DRM 3.64, 7.0.0-34-generic); vendor: AMD; version: 4.6 (Core Profile) Mesa 26.0.8-1ubuntu0.3
[2026-09-30T22:28:29Z ERROR librespot_connect::spirc] Client specified an invalid argument { Response status code: 400 Bad Request }

Activity

  1. added a commit that references this issue on Oct 2, 2026
    e18b1b2
  2. crmne commented on Oct 2, 2026

    @crmne
    Owner

    Fixed in e18b1b2. When the window gets narrow, the Library and Queue or Lyrics panels now give up width so the top bar always has room, and your panel widths come back when the window widens. While Queue or Lyrics is open, the window's smallest width grows to fit them. Released in 0.12.0.

  3. added a commit that references this issue on Oct 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions