Skip to content

xworkspaces getting out of sync in 3.5.0 #2272

@vaygr

Description

@vaygr

Checklist

  • I have read the appropriate section in the contributing
    guidelines
  • I believe this issue is a problem with polybar itself and not a misconfiguration on my part.
  • I have searched for other open and closed issues that
    may have already reported this problem.
  • I have checked the known issues page for this problem.

Describe the bug

After bumping polybar to 3.5.0 (I actually tested this 2 weeks ago with just #882 integrated – same problem, so I believe this PR is the culprit) after a few switches between workspaces, polybar displays as active not the one you're actually on.

Expected behavior:

polybar highlights correct workspace as active.

Actual behavior:

After a few switches polybar highlights the previous workspace as active.

Was it working before?

Yes.

  • Did you also experience this bug in an earlier version of polybar (yes/no/don't know)?

No

  • If no, what was the last version where this worked correctly?

3.4.3

To Reproduce

The following is a partial config of 2 bars (top & bottom). To better understand what happens, there's a screenshot attached with 3 active bars:

  1. top bar running 3.4.3
  2. bottom bar running 3.4.3
  3. top bar running 3.5.0 on top of bar №1
[bar/top]
width = 100%
height = 25
fixed-center = true
…
ws-icon-0 = "▰ ▱ ▱;    Base   "
ws-icon-1 = " ▱ ▰ ▱ ;     Lab    "
ws-icon-2 = " ▱ ▱ ▰ ;   Factory  "

active-background = #3f3f3f
active-underline = #3f3f3f

[bar/bottom]
width = 100%
height = 25
offset-y = 25
fixed-center = true
…
ws-icon-0 = "▰ ▱ ▱;             "
ws-icon-1 = " ▱ ▰ ▱ ;              "
ws-icon-2 = " ▱ ▱ ▰ ;              "

active-background = #3f3f3f
active-underline = #ffffff[module/ewmh]
type = internal/xworkspaces

pin-workspaces = true

enable-click = true

enable-scroll = false

icon-0 = ${root.ws-icon-0}
icon-1 = ${root.ws-icon-1}
icon-2 = ${root.ws-icon-2}
icon-default = 

format = <label-state>

label-monitor = %name%

label-active = %icon%
label-active-foreground = #ffffff
label-active-background = ${root.active-background}
label-active-underline = ${root.active-underline}

label-occupied = %icon%

label-urgent = %icon%
label-urgent-foreground = #000000
label-urgent-background = #bd2c40

label-empty = %icon%
label-empty-foreground = #55

To reproduce you have to click between workspaces 1 → 2 → 3 → 2 → 1 and so on, and on the 3rd or 4th iteration after you click on the next workspace polybar highlighting doesn't change.

On the other hand, if I click on the bottom bar running 3.4.3 that doesn't happen no matter how many times I switch between workspaces.

Polybar Log

notice: Parsing config file: /home/user/.config/polybar/config

Screenshots

shot-2020-12-05_103531

Environment:

  • WM: Fluxbox 1.3.7
  • Distro: Source Mage stable
  • Output of polybar -vvv:
polybar 3.5.0

Features: +alsa +curl -i3 +mpd +network(libnl) +pulseaudio +xkeyboard

X extensions: +randr (+monitors) +composite +xkb +xrm +xcursor

Build type: Release
Compiler: /usr/bin/clang++
Compiler flags: -Wno-error=unused-command-line-argument -march=corei7-avx -fPIC -DPIC -pipe -Os -Wall -Wextra -Wpedantic -Wno-error=parentheses-equality -Wno-zero-length-array -stdlib=libc++ -Wno-error=unused-command-line-argument -march=corei7-avx -fPIC -DPIC -pipe -Os
Linker flags: -s -lc++ -lc++abi

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions