[Bug]: internal/xworkspaces ignores `label-visible` and may hide a visible workspace on another monitor
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.
- I have followed the debugging guide to narrow down the problem to a minimal config.
Steps to reproduce
- Use Polybar with XMonad in a multi-monitor X11 setup.
- Configure
internal/xworkspaceswithpin-workspaces = true. - Set
label-visible = [%name%]. - Hide empty workspaces with
label-empty =. - Put workspace
1on monitor 1 and workspace4on monitor 2. - Focus monitor 1.
Minimal config
[bar/example]
width = 100%
height = 26
monitor = ${env:MONITOR:}
modules-left = xworkspaces
[module/xworkspaces]
type = internal/xworkspaces
pin-workspaces = true
label-active = [%name%]
label-active-padding = 1
label-visible = [%name%]
label-visible-padding = 1
label-occupied = %name%
label-occupied-padding = 1
label-empty =
label-empty-padding = 0Polybar log
No relevant warnings or errors were printed while reproducing the issue.
Expected behavior
The workspace that is currently visible on monitor 2 should still be shown on the Polybar instance attached to monitor 2, even when monitor 1 is focused. In this example, workspace 4 should remain visible on monitor 2 and should use label-visible.
Actual behavior
Workspace 4 disappears from the bar on monitor 2 unless that monitor is focused. In this setup, label-visible does not appear to affect how that workspace is rendered.
Window Manager and Version
XMonad 0.18.0 (xmonad-contrib 0.18.1), EWMH enabled
Linux Distribution
Fedora 43
Polybar version
polybar 3.7.2-dev
Features: +alsa +curl -i3 +mpd +network(libnl) +pulseaudio +xkeyboard
X extensions: +randr (+monitors) +composite +xkb +xrm +xcursor
Build type: Release
Compiler: /usr/lib64/ccache/c++
Compiler flags: -O3 -DNDEBUG -Wall -Wextra -Wpedantic -Wdeprecated-copy-dtor -Wsuggest-override
Linker flags: -Wall -Wextra -Wpedantic -Wdeprecated-copy-dtor -Wsuggest-override -Wall -Wextra -Wpedantic -Wdeprecated-copy-dtor -Wsuggest-overrideAdditional Context / Screenshots
This happens consistently for me with XMonad + EWMH in a multi-monitor setup when pin-workspaces = true and label-empty is blank.
Potentially related: #2693, #950, #2603, but this report focuses specifically on how a workspace that is visible on another monitor is rendered when label-visible is configured.
Source: polybar/polybar