Skip to content

[Bug]: _NET_DESKTOP_VIEWPORT causes workspace order to change when using multiple monitors (xworkspaces) #2603

@scaramangado

Description

@scaramangado

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

  1. `MONITOR=DisplayPort-0 polybar -c polybar_config primary
  2. `MONITOR=DisplayPort-1 polybar -c polybar_config secondary
  3. Switch workspaces on second screen

Minimal config

[bar/primary]
monitor = DisplayPort-0
override-redirect = true
modules-left = ewmh
enable-ipc = true

[bar/secondary]
monitor = DisplayPort-1
override-redirect = true
modules-left = ewmh
enable-ipc = true

[module/ewmh]
type = internal/xworkspaces
icon-0 = 1;1
icon-1 = 2;2
icon-2 = 3;3
icon-default =
format = <label-state>

label-active = %icon%
label-urgent = %icon%
label-occupied = %icon%
label-empty = %icon%

Polybar log

No response

Expected behavior

Setup: qtile with three workspaces. On launch workspace 1 is displayed on the primary screen, workspace 2 on the secondary screen.

I expect the order of workspaces in my polybar to be constant [1, 2, 3].

Actual behavior

The order of workspace at launch is [1, 3, 2] and changes depending on which workspaces are visible. (The workspace displayed on the secondary screen is always last.)

Window Manager and Version

qtile 0.20.0

Linux Distribution

Arch Linux

Polybar version

polybar 3.5.7

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

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

Build type: Release
Compiler: /usr/bin/c++
Compiler flags: -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Wextra -Wpedantic -O3 -DNDEBUG
Linker flags: -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now

Additional Context / Screenshots

This did not happen with qtile 0.19, the qtile devs believe this comes down to the _NET_DESKTOP_VIEWPORT hint being used since the latest version (I opened an issue in their repo, but they directed me here. See qtile/qtile#3375)

If the current behaviour is intended and not a bug, I think there should be at least an option to disable it.

Using pin-workspaces is not desirable here, since the bar on my second screen will only show the currently displayed workspace, while the other ones are on my main screen. However any workspace can be displayed on either screen.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions