Package: waybar
Version: 0.15.0-1
Severity: important
Tags: upstream
X-Debbugs-Cc: [email protected]

On a system with three or more monitors, waybar creates its bars and then loses 
some of
them about a second later. The bar is briefly visible and then disappears, and 
tiled
clients expand into the space it had reserved. waybar logs one "Timed out 
waiting for
initial .configure" per lost bar, while still logging "Bar configured (...) for 
output:
<name>" for those same surfaces, so the log gives no hint that anything failed.

This is a known upstream bug caused by gtk-layer-shell 0.10.1, reported as
https://github.com/Alexays/Waybar/issues/4978 and fixed by
https://github.com/Alexays/Waybar/pull/4984, merged 2026-07-03. The fix changes 
waybar to
accumulate outputs and create all bars in one batch from an idle callback, 
rather than
creating each bar as its monitor is discovered.

The reason I am reporting it here rather than only upstream is that neither 
Debian package
is wrong on its own, but the combination the archive currently ships produces 
the bug:

  waybar               0.15.0-1   (released 2025-02, predates the fix)
  libgtk-layer-shell0  0.10.1-1   (the version that triggers it)

Upstream has not made a release containing the fix, so the archive cannot get 
it by a
version bump. Would you consider cherry-picking PR #4984 into debian/patches 
for a 0.15.0-2
upload? It is a self-contained change to the bar creation path, and the package 
already
carries one quilt patch so the machinery is in place.

Reproduced on:
  Debian forky/sid, Hyprland 0.56.2
  three outputs: 1920x1200, 2560x1440, 3440x1440, all scale 1
  two bar definitions in one config array, neither pinned to an output

Six surfaces are expected, two per output. waybar reports all six as 
configured, two time
out, and the compositor's layer list shows only four. Which outputs lose their 
bars varies
between runs. Setting an explicit width, and removing the tray module, made no 
difference.

This is how I addressed it locally until you have time to catch up with the 
maintained
package, in case it is useful to anyone else who lands on this bug in the 
meantime. I
rebuilt current upstream main against the existing debian/ directory:

    sudo apt build-dep waybar
    mkdir -p ~/src/deb && cd ~/src/deb
    apt source waybar                            # gives waybar-0.15.0/ with 
debian/
    git clone https://github.com/Alexays/Waybar.git waybar-git
    cd waybar-git && git log -1 --format=%h      # note the short sha, use it 
below
    cp -a ../waybar-0.15.0/debian .
    dch -v 0.15.0+git20260826.<sha>-1 "Local build of upstream main for #4978."
    dpkg-buildpackage -us -uc -b
    sudo apt install ../waybar_0.15.0+git20260826.<sha>-1_amd64.deb

The 0.15.0+git... version sorts above 0.15.0-1 so it installs over the archive 
package, and
below both 0.15.1 and 0.16.0, so whatever you upload next replaces it 
automatically with no
pinning needed at this end. The existing quilt patch applied to main unchanged. 
All six
surfaces now come up on all three monitors with no timeouts.

Note on the version reported below: the waybar currently installed here is that 
local
rebuild, so the system information will show 0.15.0+git..., not the archive 
version. The
bug is against 0.15.0-1 as shipped.


-- System Information:
Debian Release: forky/sid
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'testing'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 7.1.8+deb14.1-amd64 (SMP w/16 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_WARN, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=sv_SE.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Reply via email to