Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: version 3.7.0 is has a pixelation bug #3041

Open
5 tasks done
mikeboiko opened this issue Nov 11, 2023 · 27 comments
Open
5 tasks done

[Bug]: version 3.7.0 is has a pixelation bug #3041

mikeboiko opened this issue Nov 11, 2023 · 27 comments

Comments

@mikeboiko
Copy link

mikeboiko commented Nov 11, 2023

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. I simply launched my standard polybar after upgrading from 3.6.3 -> 3.7.0 and it became surrounded with colourful pixels like this:
    image

Note, that I'm running Arch Linux with i3 on an asus laptop with an intel video card through a Dell WD19TB dock connected to 2 external monitors.
The issue wasn't there when I disconnected the dock and only used my laptop screen.

I tried downgrading polybar back to 3.6.3 and the issue was immediately fixed.

For anyone on arch, you can downgrade to your cached version by running something like:
sudo pacman -U file:///var/cache/pacman/pkg/polybar-3.6.3-3-x86_64.pkg.tar.zst

Minimal config

I tested without any custom configuration and the issue was there.

Polybar log

No response

Expected behavior

I wasn't expecting to see any colorful pixels.

Actual behavior

My polybars, on all 3 screens, were surrounded by colorful pixels.

Window Manager and Version

i3 version 4.23

Linux Distribution

Arch Linux

Polybar version

polybar 3.7.0

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 -g -ffile-prefix-map=/build/polybar/src=/usr/src/debug/polybar -flto=auto -O3 -DNDEBUG -Wall -Wextra -Wpedantic -Wdeprecated-copy-dtor -Wsuggest-override
Linker flags: -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -flto=auto -Wall -Wextra -Wpedantic -Wdeprecated-copy-dtor -Wsuggest-override  -Wall -Wextra -Wpedantic -Wdeprecated-copy-dtor -Wsuggest-override

Additional Context / Screenshots

I should also note that I repeated this test on 2 different laptops and 2 different Thunderbolt docking stations, and the bug persisted in all cases.

@patrick96
Copy link
Member

I can't reproduce this at all unfortunately.

Can you post the terminal output when you run polybar?

Also, please post your config, you are not using an unmodified default config.

@mikeboiko
Copy link
Author

@patrick96 , I upgraded to 3.7.0 again and repeated the test.

You're right, my initial screenshot was with my custom config. However, I did try removing all my config and running the stock polybar and the the issue was still there. Here is the screenshot from this scenario:

image

These are the logs

╭─mike@asus ~
╰─➤  polybar --version
polybar 3.7.0

Features: +alsa +curl +i3 +mpd +network(libnl) +pulseaudio +xkeyboard
╭─mike@asus ~
╰─➤  polybar                                                                                                                                                              1 ↵
notice: Parsing config file: /etc/polybar/config.ini
notice: Listening for IPC messages (PID: 2332131)
notice: Loading module 'xworkspaces' of type 'internal/xworkspaces'
notice: Loading module 'xwindow' of type 'internal/xwindow'
notice: Loading module 'filesystem' of type 'internal/fs'
notice: Loading module 'pulseaudio' of type 'internal/pulseaudio'
notice: pulseaudio: using default sink alsa_output.usb-Generic_USB_Audio_200901010001-00.pro-output-0
notice: Loading module 'xkeyboard' of type 'internal/xkeyboard'
notice: Loading module 'memory' of type 'internal/memory'
notice: Loading module 'cpu' of type 'internal/cpu'
notice: Loading module 'wlan' of type 'internal/network'
notice: module/wlan: Discovered wireless interface wlan0
notice: Loading module 'eth' of type 'internal/network'
notice: module/eth: Discovered wired interface enp46s0u2u4
notice: Loading module 'date' of type 'internal/date'
notice: Loaded 10 modules
notice: Loaded font "monospace" (name=Noto Sans Mono, offset=2, file=/usr/share/fonts/noto/NotoSansMono-Regular.ttf)
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ local ● 2 polybar'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ local ● 2 polybar'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ local ● 2 polybar'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ local ● 2 polybar'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ local ● 2 polybar'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ local ● 2 polybar'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ local ● 2 polybar'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 1 nvim'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 nvim'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 nvim'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 nvim'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 zsh'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 zsh'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 polybar'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 polybar'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 zsh'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 zsh'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 zsh'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 zsh'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 zsh'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 zsh'
notice: randr_screen_change_notify (4873x2160)... reloading
notice: Termination signal received, shutting down...
notice: Parsing config file: /etc/polybar/config.ini
notice: Listening for IPC messages (PID: 2332131)
notice: Loading module 'xworkspaces' of type 'internal/xworkspaces'
notice: Loading module 'xwindow' of type 'internal/xwindow'
notice: Loading module 'filesystem' of type 'internal/fs'
notice: Loading module 'pulseaudio' of type 'internal/pulseaudio'
notice: pulseaudio: using default sink alsa_output.usb-Generic_USB_Audio_200901010001-00.pro-output-0
notice: Loading module 'xkeyboard' of type 'internal/xkeyboard'
notice: Loading module 'memory' of type 'internal/memory'
notice: Loading module 'cpu' of type 'internal/cpu'
notice: Loading module 'wlan' of type 'internal/network'
notice: module/wlan: Discovered wireless interface wlan0
notice: Loading module 'eth' of type 'internal/network'
notice: module/eth: Discovered wired interface enp46s0u2u4
notice: Loading module 'date' of type 'internal/date'
notice: Loaded 10 modules
notice: Loaded font "monospace" (name=Noto Sans Mono, offset=2, file=/usr/share/fonts/noto/NotoSansMono-Regular.ttf)
notice: randr_screen_change_notify (4873x2160)... reloading
notice: Termination signal received, shutting down...
notice: Parsing config file: /etc/polybar/config.ini
notice: Listening for IPC messages (PID: 2332131)
notice: Loading module 'xworkspaces' of type 'internal/xworkspaces'
notice: Loading module 'xwindow' of type 'internal/xwindow'
notice: Loading module 'filesystem' of type 'internal/fs'
notice: Loading module 'pulseaudio' of type 'internal/pulseaudio'
notice: pulseaudio: using default sink alsa_output.usb-Generic_USB_Audio_200901010001-00.pro-output-0
notice: Loading module 'xkeyboard' of type 'internal/xkeyboard'
notice: Loading module 'memory' of type 'internal/memory'
notice: Loading module 'cpu' of type 'internal/cpu'
notice: Loading module 'wlan' of type 'internal/network'
notice: module/wlan: Discovered wireless interface wlan0
notice: Loading module 'eth' of type 'internal/network'
notice: module/eth: Discovered wired interface enp46s0u2u4
notice: Loading module 'date' of type 'internal/date'
notice: Loaded 10 modules
notice: Loaded font "monospace" (name=Noto Sans Mono, offset=2, file=/usr/share/fonts/noto/NotoSansMono-Regular.ttf)
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ local ● 2 polybar'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ local ● 2 polybar'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 zsh'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 zsh'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 zsh'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 zsh'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 zsh'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 zsh'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 zsh'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 zsh'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 zsh'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 zsh'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 zsh'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 zsh'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 zsh'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ remote ● 2 zsh'
warn: Dropping unmatched character '❐' (U+2750) in ' asus ❐ local ● 2 polybar'
notice: Received signal(2): Interrupt
notice: Termination signal received, shutting down...

These are the logs (with no custom config) after downgrading back to 3.6.3. No issues with this version.

╭─mike@asus ~
╰─➤  polybar --version
polybar 3.6.3

Features: +alsa +curl +i3 +mpd +network(libnl) +pulseaudio +xkeyboard
╭─mike@asus ~
╰─➤  polybar
notice: Parsing config file: /etc/polybar/config.ini
notice: Listening for IPC messages (PID: 2342295)
notice: Loading module 'xworkspaces' of type 'internal/xworkspaces'
notice: Loading module 'xwindow' of type 'internal/xwindow'
notice: Loading module 'filesystem' of type 'internal/fs'
notice: Loading module 'pulseaudio' of type 'internal/pulseaudio'
notice: pulseaudio: using default sink alsa_output.usb-Generic_USB_Audio_200901010001-00.pro-output-0
notice: Loading module 'xkeyboard' of type 'internal/xkeyboard'
notice: Loading module 'memory' of type 'internal/memory'
notice: Loading module 'cpu' of type 'internal/cpu'
notice: Loading module 'wlan' of type 'internal/network'
notice: module/wlan: Discovered wireless interface wlan0
notice: Loading module 'eth' of type 'internal/network'
notice: module/eth: Discovered wired interface enp46s0u2u4
notice: Loading module 'date' of type 'internal/date'
notice: Loaded 10 modules
notice: Loaded font "monospace" (name=Noto Sans Mono, offset=2, file=/usr/share/fonts/noto/NotoSansMono-Regular.ttf)
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 polybar'
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 polybar'
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 polybar'
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 [tmux]'
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 [tmux]'
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 polybar'

@patrick96
Copy link
Member

I played around with this some more and I still can't reproduce this.

Are you running a compositor?

@mikeboiko
Copy link
Author

mikeboiko commented Nov 27, 2023

No, I am not, just standard i3.
Just to confirm, did you try with a Thunderbolt dock? I don't get this issue when I'm running my laptop on its own. Only when docked.
I should also mention that I'm running the built-in laptop Intel GPU on both laptops that I tested on.

@patrick96
Copy link
Member

Just to confirm, did you try with a Thunderbolt dock?

I unfortunately don't have a Thunderbolt dock available, so I can't exactly replicate your setup.

There is not really much I can do on my side.
But if you or anyone else that experiences this problem have the time and the expertise to do a git bisect between versions 3.6.0 and 3.7.0 to see which commit introduced this regression, it would already be extremely helpful.

You may have trouble compiling older versions. Cherry picking 16102c2 and 432e19d fixed the build issues for me (the second commit will have a merge conflict, for which you can just do git add CHANGELOG.md to "resolve" it; the contents of the file are irrelevant for running polybar)

@mikeboiko
Copy link
Author

@patrick96, sure I can give it a shot!

@patrick96
Copy link
Member

That would be great, thanks! Let me know if you run into issues. Getting older versions to compile can be a pain

@mikeboiko
Copy link
Author

mikeboiko commented Dec 4, 2023

I'm able to build 3.7.0 successfully, but not 3.6.3.
These are the logs I get when I run ./build.sh -f on a962a265 (HEAD, tag: 3.6.3) Version 3.6.3

[ 77%] Building CXX object bin/CMakeFiles/poly.dir/x11/window.cpp.o
[ 78%] Building CXX object bin/CMakeFiles/poly.dir/x11/winspec.cpp.o
/home/mike/temp/polybar/src/x11/tray_manager.cpp: In member function ‘void polybar::tray_manager::setup(const polybar::bar_settings&)’:
/home/mike/temp/polybar/src/x11/tray_manager.cpp:70:17: warning: possibly dangling reference to a temporary [-Wdangling-reference]
   70 |   const config& conf = config::make();
      |                 ^~~~
/home/mike/temp/polybar/src/x11/tray_manager.cpp:70:36: note: the temporary was destroyed at the end of the full expression ‘polybar::config::make(std::__cxx11::basic_string<char>(((const char*)""), std::allocator<char>()), std::__cxx11::basic_string<char>(((const char*)""), std::allocator<char>()))’
   70 |   const config& conf = config::make();
      |                        ~~~~~~~~~~~~^~
[ 79%] Building CXX object bin/CMakeFiles/poly.dir/x11/xembed.cpp.o
[ 80%] Building CXX object bin/CMakeFiles/poly.dir/adapters/alsa/control.cpp.o
[ 80%] Building CXX object bin/CMakeFiles/poly.dir/adapters/alsa/mixer.cpp.o
[ 81%] Building CXX object bin/CMakeFiles/poly.dir/modules/alsa.cpp.o
In file included from /home/mike/temp/polybar/include/adapters/alsa/generic.hpp:37,
                 from /home/mike/temp/polybar/src/adapters/alsa/mixer.cpp:3:
/usr/include/alsa/control.h:417:47: error: ‘snd_ump_endpoint_info_t’ has not been declared
  417 | int snd_ctl_ump_endpoint_info(snd_ctl_t *ctl, snd_ump_endpoint_info_t *info);
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/alsa/control.h:418:44: error: ‘snd_ump_block_info_t’ has not been declared
  418 | int snd_ctl_ump_block_info(snd_ctl_t *ctl, snd_ump_block_info_t *info);
      |                                            ^~~~~~~~~~~~~~~~~~~~
In file included from /home/mike/temp/polybar/include/adapters/alsa/generic.hpp:37,
                 from /home/mike/temp/polybar/src/adapters/alsa/control.cpp:2:
/usr/include/alsa/control.h:417:47: error: ‘snd_ump_endpoint_info_t’ has not been declared
  417 | int snd_ctl_ump_endpoint_info(snd_ctl_t *ctl, snd_ump_endpoint_info_t *info);
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/alsa/control.h:418:44: error: ‘snd_ump_block_info_t’ has not been declared
  418 | int snd_ctl_ump_block_info(snd_ctl_t *ctl, snd_ump_block_info_t *info);
      |                                            ^~~~~~~~~~~~~~~~~~~~
make[2]: *** [bin/CMakeFiles/poly.dir/build.make:1126: bin/CMakeFiles/poly.dir/adapters/alsa/control.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [bin/CMakeFiles/poly.dir/build.make:1140: bin/CMakeFiles/poly.dir/adapters/alsa/mixer.cpp.o] Error 1
In file included from /home/mike/temp/polybar/include/adapters/alsa/generic.hpp:37,
                 from /home/mike/temp/polybar/src/modules/alsa.cpp:4:
/usr/include/alsa/control.h:417:47: error: ‘snd_ump_endpoint_info_t’ has not been declared
  417 | int snd_ctl_ump_endpoint_info(snd_ctl_t *ctl, snd_ump_endpoint_info_t *info);
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/alsa/control.h:418:44: error: ‘snd_ump_block_info_t’ has not been declared
  418 | int snd_ctl_ump_block_info(snd_ctl_t *ctl, snd_ump_block_info_t *info);
      |                                            ^~~~~~~~~~~~~~~~~~~~
In file included from /home/mike/temp/polybar/include/modules/meta/event_module.hpp:3,
                 from /home/mike/temp/polybar/include/modules/alsa.hpp:3,
                 from /home/mike/temp/polybar/src/modules/alsa.cpp:1:
/home/mike/temp/polybar/include/modules/meta/base.inl: In instantiation of ‘polybar::modules::module<Impl>::module(const polybar::bar_settings&, std::string) [with Impl = polybar::modules::alsa_module; std::string = std::__cxx11::basic_string<char>]’:
/home/mike/temp/polybar/src/modules/alsa.cpp:18:18:   required from here
/home/mike/temp/polybar/include/modules/meta/base.hpp:202:19: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  202 |     const config& m_conf;
      |                   ^~~~~~
In file included from /home/mike/temp/polybar/src/modules/alsa.cpp:9:
/home/mike/temp/polybar/include/modules/meta/base.inl:22:28: note: the temporary was destroyed at the end of the full expression ‘polybar::config::make(std::__cxx11::basic_string<char>(((const char*)""), std::allocator<char>()), std::__cxx11::basic_string<char>(((const char*)""), std::allocator<char>()))’
   22 |       , m_conf(config::make())
      |                ~~~~~~~~~~~~^~
make[2]: *** [bin/CMakeFiles/poly.dir/build.make:1154: bin/CMakeFiles/poly.dir/modules/alsa.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:520: bin/CMakeFiles/poly.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
** Failed to build project

Also, I selected y for all the prompts in the build script.
Since then, I've also tried running ./build.sh -f --auto.

@patrick96
Copy link
Member

For older commits, you need to cherry-pick these two commits to fix some build issues: 16102c2 and 432e19d

@mikeboiko
Copy link
Author

Ahh ok. Sorry, I misunderstood that part initially.
I have now cherry-picked these 2 commits:

* 2023-12-04 f8ffc485 (HEAD) build: Add missing headers in common.hpp (patrick96)
* 2023-12-04 7ba2c146 alsa: include asoundlib.h instead of all alsa headers (patrick96)
*   2022-05-04 7a1824a9 Merge remote-tracking branch 'origin/hotfix/3.6.3' (patrick96)
|\  
| * 2022-05-04 a962a265 (tag: 3.6.3) Version 3.6.3 (patrick96)

However, I'm still getting the following build error:

/home/mike/temp/polybar/src/modules/battery.cpp:202:18: error: reference to type 'const inotify_event' could not bind to an rvalue of type 'std::nullptr_t'
        on_event(nullptr);
                 ^~~~~~~
/home/mike/temp/polybar/include/modules/battery.hpp:54:40: note: passing argument to parameter 'event' here
    bool on_event(const inotify_event& event);
                                       ^
In file included from /home/mike/temp/polybar/src/modules/battery.cpp:3:
In file included from /home/mike/temp/polybar/include/drawtypes/animation.hpp:7:
...
93 warnings and 1 error generated.
make[2]: *** [bin/CMakeFiles/poly.dir/build.make:440: bin/CMakeFiles/poly.dir/modules/battery.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:473: bin/CMakeFiles/poly.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
** Failed to build project

Any ideas?

@patrick96
Copy link
Member

In battery.cpp replace on_event(nullptr); with on_event({});. Or just skip with git bisect skip

@mikeboiko
Copy link
Author

Thanks for your help, @patrick96.
I was able to track down the problematic commit with git bisect!
ea5ffdd6b18ffc822b0fcb0fc5f2364661bd5d37 is the first bad commit

@patrick96
Copy link
Member

Thank you so much for tracking down the exact commit, this already helps a lot.

In that commit I rewrote a lot of our handling around pseudo-transparency. To confirm the pseudo-transparency is the issue, can you try each of the following two things independently?

  • Under [settings], set pseudo-transparency = false
  • Under [bar/example], set border-color = #000000

In both cases, I expect the pixelation to be gone

And finally, could you, again with the stock default config, run polybar with -l trace to produce very verbose log messages.
I will have to comb through my changes and where I'm doing something wrong and the extra output will help to confirm (or refute) assumptions I have made in the code.

@mikeboiko
Copy link
Author

Glad to help :)

BTW, my original border-color was set to #00000000. I guess it should be a 6 digit hex value instead of an 8 digit hex value.

Ok, these are the test results on the ea5ffdd6 build.

Test Case 1

pseudo-transparency = true
border-color = #00000000

These are my original settings. The problem exists:
image

Test Case 2

pseudo-transparency = true
border-color = #000000

image

The problem is mostly fixed, but there are still a few sus pixels at the left/right edges of the bar.

Test Case 3

pseudo-transparency = false
border-color = #00000000

The problem is fixed
image

Test Case 4

pseudo-transparency = false
border-color = #000000

Just like Test Case 3, the problem is fixed.

Stock Polybar Logs

I spawned up 1 stock polybar. It looked ok
image

Then, I spawned up a 2nd stock polybar and got the pixel issue:
image

Polybar 1 logs:

notice: Parsing config file: /etc/polybar/config.ini
- config_parser: Parsing /etc/polybar/config.ini
- config: Inheriting keys from "network-base" in "module/eth"
- config: Inheriting keys from "network-base" in "module/wlan"
* Created legacy ipc fifo at '/tmp/polybar_mqueue.2455189'
* Opening ipc socket at '/run/user/1000/polybar/ipc.2455189.sock'
notice: Listening for IPC messages (PID: 2455189)
* Loaded monitor DP-2-2 (1920x1080+2953+0)
* Configured DPI = 96x96
* Bar geometry: 1920x42+2953+0; Borders: 5,5,5,5
- bar: Attach X event sink
- bar: Attach signal receiver
- controller: Setup user-defined modules
notice: Loading module 'xworkspaces' of type 'internal/xworkspaces'
notice: Loading module 'xwindow' of type 'internal/xwindow'
notice: Loading module 'filesystem' of type 'internal/fs'
notice: Loading module 'pulseaudio' of type 'internal/pulseaudio'
error: Disabling module "pulseaudio" (reason: No built-in support for 'internal/pulseaudio')
notice: Loading module 'xkeyboard' of type 'internal/xkeyboard'
notice: Loading module 'memory' of type 'internal/memory'
notice: Loading module 'cpu' of type 'internal/cpu'
notice: Loading module 'wlan' of type 'internal/network'
error: Disabling module "wlan" (reason: No built-in support for 'internal/network')
notice: Loading module 'eth' of type 'internal/network'
error: Disabling module "eth" (reason: No built-in support for 'internal/network')
notice: Loading module 'date' of type 'internal/date'
notice: Loaded 7 modules
* Starting application
- controller: Main thread id = 1
* Entering event loop (thread-id=1)
- bar: Create renderer
- renderer: Get TrueColor visual
* renderer: Using 32-bit TrueColor visual
- renderer: Allocate colormap
- renderer: Allocate output window
- renderer: Allocate window pixmaps
- renderer: Allocate graphic contexts
- renderer: Allocate alignment blocks
- renderer: Allocate cairo components
- renderer: Load fonts
notice: Loaded font "monospace" (name=Noto Sans Mono, offset=2, file=/usr/share/fonts/noto/NotoSansMono-Regular.ttf)
- Activate root background manager
- background_manager: root pixmap (0x600001:24) 1920x1080+0+0
- background_manager: Allocating pixmap
- background_manager: Allocating graphics context
- background_manager: Allocating cairo surface
- background_manager: Copying from root pixmap (0x600001:24) 0x42+1920+0
* Bar window: 0x4c00002
- bar: Reconfigure window
- bar: Set window WM_NAME
- bar: Set window _NET_WM_WINDOW_TYPE
- bar: Set window _NET_WM_STATE
- bar: Set window _NET_WM_DESKTOP
- bar: Set window _NET_WM_PID
- bar: Map window
- background_manager: update_geometry
- background_manager: root pixmap (0x600001:24) 1920x1080+0+0
- background_manager: Copying from root pixmap (0x600001:24) 1920x42+0+0
- bar: Draw empty bar
- bar: Setup tray manager
* Starting module/xworkspaces
* Starting module/xwindow
* Starting module/filesystem
* Starting module/xkeyboard
* Starting module/memory
* Starting module/cpu
* Starting module/date
* module/xworkspaces: Rebuilding cache
* module/xwindow: Rebuilding cache
* module/filesystem: Rebuilding cache
* module/xkeyboard: Rebuilding cache
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* module/date: Rebuilding cache
- bar: Force update
* Redrawing bar window
- module/filesystem: Thread id = 2
- module/memory: Thread id = 3
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 polybar'
- module/cpu: Thread id = 4
- module/date: Thread id = 5
- renderer: flush(1 geom=590x32+0+0, falloff=0)
- renderer: flush(3 geom=570x32+1340+0, falloff=0)
* module/filesystem: Rebuilding cache
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* module/date: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 polybar'
- renderer: flush(1 geom=590x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 polybar'
- renderer: flush(1 geom=590x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
- bar: Ignoring update (unchanged)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 polybar'
- renderer: flush(1 geom=590x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
- bar: Ignoring update (unchanged)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 polybar'
- renderer: flush(1 geom=590x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
- bar: Ignoring update (unchanged)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 polybar'
- renderer: flush(1 geom=590x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 polybar'
- renderer: flush(1 geom=590x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/filesystem: Rebuilding cache
- bar: Ignoring update (unchanged)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
- bar: Ignoring update (unchanged)
- bar: Received expose event
- background_manager: update_geometry
- background_manager: root pixmap (0x600001:24) 1920x1080+0+0
- background_manager: Copying from root pixmap (0x600001:24) 0x42+1920+0
- background_manager: update_geometry
- background_manager: root pixmap (0x600001:24) 1920x1080+0+0
- background_manager: Copying from root pixmap (0x600001:24) 0x42+1920+0
* module/xworkspaces: Rebuilding cache
* module/xwindow: Rebuilding cache
* module/xkeyboard: Rebuilding cache
- bar: Force update
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 polybar'
- renderer: flush(1 geom=590x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/xworkspaces: Rebuilding cache
- bar: Ignoring update (unchanged)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 polybar'
- renderer: flush(1 geom=590x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 polybar'
- renderer: flush(1 geom=590x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
- bar: Ignoring update (unchanged)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 polybar'
- renderer: flush(1 geom=590x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 polybar'
- renderer: flush(1 geom=590x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 polybar'
- renderer: flush(1 geom=590x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 polybar'
- renderer: flush(1 geom=590x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/date: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 polybar'
- renderer: flush(1 geom=590x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 polybar'
- renderer: flush(1 geom=590x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/xworkspaces: Rebuilding cache
* module/xwindow: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
- bar: Ignoring update (unchanged)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/filesystem: Rebuilding cache
- bar: Ignoring update (unchanged)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/xworkspaces: Rebuilding cache
* module/xwindow: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ remote ● 2 zsh'
- renderer: flush(1 geom=560x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/xworkspaces: Rebuilding cache
- bar: Ignoring update (unchanged)
* module/xworkspaces: Rebuilding cache
- bar: Ignoring update (unchanged)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ remote ● 2 zsh'
- renderer: flush(1 geom=560x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
- bar: Ignoring update (unchanged)
* module/xwindow: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ remote ● 2 polybar'
- renderer: flush(1 geom=600x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/xworkspaces: Rebuilding cache
- bar: Ignoring update (unchanged)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ remote ● 2 polybar'
- renderer: flush(1 geom=600x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ remote ● 2 polybar'
- renderer: flush(1 geom=600x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
- bar: Ignoring update (unchanged)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ remote ● 2 polybar'
- renderer: flush(1 geom=600x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ remote ● 2 polybar'
- renderer: flush(1 geom=600x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ remote ● 2 polybar'
- renderer: flush(1 geom=600x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ remote ● 2 polybar'
- renderer: flush(1 geom=600x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/xworkspaces: Rebuilding cache
- bar: Ignoring update (unchanged)
* module/xworkspaces: Rebuilding cache
* module/xwindow: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
- bar: Ignoring update (unchanged)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
- bar: Detected motion: 0 at pos(284, 33)
- bar: Detected motion: 0 at pos(318, 23)
- bar: Detected motion: 0 at pos(348, 13)
- No matching cursor area found
- bar: Detected motion: 0 at pos(376, 5)
- No matching cursor area found
- bar: Detected motion: 0 at pos(402, 0)
- No matching cursor area found
- bar: Detected motion: 0 at pos(426, 0)
- No matching cursor area found
- bar: Detected motion: 0 at pos(448, 0)
- No matching cursor area found
- bar: Detected motion: 0 at pos(466, 0)
- No matching cursor area found
- bar: Detected motion: 0 at pos(484, 0)
- No matching cursor area found
- bar: Detected motion: 0 at pos(498, 0)
- No matching cursor area found
- bar: Detected motion: 0 at pos(512, 0)
- No matching cursor area found
- bar: Detected motion: 0 at pos(524, 0)
- No matching cursor area found
- bar: Detected motion: 0 at pos(534, 0)
- No matching cursor area found
- bar: Detected motion: 0 at pos(542, 0)
- No matching cursor area found
- bar: Detected motion: 0 at pos(548, 0)
- No matching cursor area found
- bar: Detected motion: 0 at pos(551, 0)
- No matching cursor area found
- bar: Detected motion: 0 at pos(552, 0)
- No matching cursor area found
- bar: Detected motion: 0 at pos(553, 0)
- No matching cursor area found
- bar: Detected motion: 0 at pos(553, 0)
- No matching cursor area found
- bar: Detected motion: 0 at pos(553, 0)
- No matching cursor area found
- bar: Detected motion: 0 at pos(553, 0)
- No matching cursor area found
- bar: Detected motion: 0 at pos(552, 0)
- No matching cursor area found
- bar: Detected motion: 0 at pos(550, 0)
- No matching cursor area found
- bar: Detected motion: 0 at pos(549, 0)
- No matching cursor area found
- bar: Detected motion: 0 at pos(548, 0)
- No matching cursor area found
- bar: Detected motion: 0 at pos(547, 0)
- No matching cursor area found
- bar: Detected motion: 0 at pos(547, 0)
- No matching cursor area found
- bar: Detected motion: 0 at pos(547, 1)
- No matching cursor area found
- bar: Detected motion: 0 at pos(547, 3)
- No matching cursor area found
- bar: Detected motion: 0 at pos(547, 6)
- No matching cursor area found
- bar: Detected motion: 0 at pos(547, 8)
- No matching cursor area found
- bar: Detected motion: 0 at pos(548, 10)
- No matching cursor area found
- bar: Detected motion: 0 at pos(548, 14)
- No matching cursor area found
- bar: Detected motion: 0 at pos(549, 17)
- No matching cursor area found
- bar: Detected motion: 0 at pos(551, 20)
- No matching cursor area found
- bar: Detected motion: 0 at pos(554, 25)
- No matching cursor area found
- bar: Detected motion: 0 at pos(558, 31)
- No matching cursor area found
- bar: Detected motion: 0 at pos(563, 37)
- No matching cursor area found
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/filesystem: Rebuilding cache
- bar: Ignoring update (unchanged)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
- bar: Ignoring update (unchanged)
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
- bar: Ignoring update (unchanged)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
- bar: Ignoring update (unchanged)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
- bar: Ignoring update (unchanged)
* module/xworkspaces: Rebuilding cache
* module/xwindow: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 polybar'
- renderer: flush(1 geom=590x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
notice: Received signal(2): Interrupt
* Eventloop finished
notice: Termination signal received, shutting down...
- controller: Detach signal receiver
- controller: Stop modules
* module/xworkspaces: Stopping
- module/xworkspaces: Release sleep lock
* Deconstruction of module/xworkspaces took 0 ms.
* module/xwindow: Stopping
- module/xwindow: Release sleep lock
* Deconstruction of module/xwindow took 0 ms.
* module/filesystem: Stopping
- module/filesystem: Release sleep lock
* Deconstruction of module/filesystem took 0 ms.
* module/xkeyboard: Stopping
- module/xkeyboard: Release sleep lock
* Deconstruction of module/xkeyboard took 0 ms.
* module/memory: Stopping
- module/memory: Release sleep lock
* Deconstruction of module/memory took 0 ms.
* module/cpu: Stopping
- module/cpu: Release sleep lock
* Deconstruction of module/cpu took 0 ms.
* module/date: Stopping
- module/date: Release sleep lock
* Deconstruction of module/date took 0 ms.
- module/filesystem: Deconstructing
- module/xkeyboard: Deconstructing
- module/memory: Deconstructing
- module/cpu: Deconstructing
- module/date: Deconstructing
- module/xworkspaces: Deconstructing
- module/xwindow: Deconstructing
- ipc: Removing named pipe at: /tmp/polybar_mqueue.2455189
* Waiting for spawned processes to end
* Reached end of application...

Polybar 2 logs:

notice: Parsing config file: /etc/polybar/config.ini
- config_parser: Parsing /etc/polybar/config.ini
- config: Inheriting keys from "network-base" in "module/eth"
- config: Inheriting keys from "network-base" in "module/wlan"
* Created legacy ipc fifo at '/tmp/polybar_mqueue.2456763'
* Opening ipc socket at '/run/user/1000/polybar/ipc.2456763.sock'
notice: Listening for IPC messages (PID: 2456763)
* Loaded monitor DP-2-2 (1920x1080+2953+0)
* Configured DPI = 96x96
* Bar geometry: 1920x42+2953+0; Borders: 5,5,5,5
- bar: Attach X event sink
- bar: Attach signal receiver
- controller: Setup user-defined modules
notice: Loading module 'xworkspaces' of type 'internal/xworkspaces'
notice: Loading module 'xwindow' of type 'internal/xwindow'
notice: Loading module 'filesystem' of type 'internal/fs'
notice: Loading module 'pulseaudio' of type 'internal/pulseaudio'
error: Disabling module "pulseaudio" (reason: No built-in support for 'internal/pulseaudio')
notice: Loading module 'xkeyboard' of type 'internal/xkeyboard'
notice: Loading module 'memory' of type 'internal/memory'
notice: Loading module 'cpu' of type 'internal/cpu'
notice: Loading module 'wlan' of type 'internal/network'
error: Disabling module "wlan" (reason: No built-in support for 'internal/network')
notice: Loading module 'eth' of type 'internal/network'
error: Disabling module "eth" (reason: No built-in support for 'internal/network')
notice: Loading module 'date' of type 'internal/date'
notice: Loaded 7 modules
* Starting application
- controller: Main thread id = 1
* Entering event loop (thread-id=1)
- bar: Create renderer
- renderer: Get TrueColor visual
* renderer: Using 32-bit TrueColor visual
- renderer: Allocate colormap
- renderer: Allocate output window
- renderer: Allocate window pixmaps
- renderer: Allocate graphic contexts
- renderer: Allocate alignment blocks
- renderer: Allocate cairo components
- renderer: Load fonts
notice: Loaded font "monospace" (name=Noto Sans Mono, offset=2, file=/usr/share/fonts/noto/NotoSansMono-Regular.ttf)
- Activate root background manager
- background_manager: root pixmap (0x600001:24) 1920x1080+0+0
- background_manager: Allocating pixmap
- background_manager: Allocating graphics context
- background_manager: Allocating cairo surface
- background_manager: Copying from root pixmap (0x600001:24) 0x42+1920+0
* Bar window: 0x5600002
- bar: Reconfigure window
- bar: Set window WM_NAME
- bar: Set window _NET_WM_WINDOW_TYPE
- bar: Set window _NET_WM_STATE
- bar: Set window _NET_WM_DESKTOP
- bar: Set window _NET_WM_PID
- bar: Map window
- background_manager: update_geometry
- background_manager: root pixmap (0x600001:24) 1920x1080+0+0
- background_manager: Copying from root pixmap (0x600001:24) 0x42+1920+0
- bar: Draw empty bar
- bar: Setup tray manager
* Starting module/xworkspaces
* Starting module/xwindow
* Starting module/filesystem
* Starting module/xkeyboard
* Starting module/memory
* Starting module/cpu
* Starting module/date
* module/xworkspaces: Rebuilding cache
- module/cpu: Thread id = 3
* module/xwindow: Rebuilding cache
* module/filesystem: Rebuilding cache
* module/xkeyboard: Rebuilding cache
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* module/date: Rebuilding cache
- bar: Force update
- module/memory: Thread id = 4
* Redrawing bar window
- module/filesystem: Thread id = 2
- module/date: Thread id = 5
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ remote ● 2 polybar'
- renderer: flush(1 geom=600x32+0+0, falloff=0)
- renderer: flush(3 geom=570x32+1340+0, falloff=0)
* module/filesystem: Rebuilding cache
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* module/date: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ remote ● 2 polybar'
- renderer: flush(1 geom=600x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
- bar: Received expose event
- background_manager: update_geometry
- background_manager: root pixmap (0x600001:24) 1920x1080+0+0
- background_manager: Copying from root pixmap (0x600001:24) 0x42+1920+42
- background_manager: update_geometry
- background_manager: root pixmap (0x600001:24) 1920x1080+0+0
- background_manager: Copying from root pixmap (0x600001:24) 0x42+1920+42
* module/xworkspaces: Rebuilding cache
* module/xwindow: Rebuilding cache
* module/xkeyboard: Rebuilding cache
- bar: Force update
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ remote ● 2 polybar'
- renderer: flush(1 geom=600x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ remote ● 2 polybar'
- renderer: flush(1 geom=600x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ remote ● 2 polybar'
- renderer: flush(1 geom=600x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
- bar: Ignoring update (unchanged)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ remote ● 2 polybar'
- renderer: flush(1 geom=600x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ remote ● 2 polybar'
- renderer: flush(1 geom=600x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ remote ● 2 polybar'
- renderer: flush(1 geom=600x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/cpu: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ remote ● 2 polybar'
- renderer: flush(1 geom=600x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/xworkspaces: Rebuilding cache
- bar: Ignoring update (unchanged)
* module/xworkspaces: Rebuilding cache
* module/xwindow: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
- bar: Detected motion: 0 at pos(138, 35)
- bar: Detected motion: 0 at pos(178, 23)
- bar: Detected motion: 0 at pos(216, 11)
- bar: Detected motion: 0 at pos(250, 1)
- bar: Detected motion: 0 at pos(567, 2)
- No matching cursor area found
- bar: Detected motion: 0 at pos(573, 11)
- No matching cursor area found
- bar: Detected motion: 0 at pos(579, 21)
- No matching cursor area found
- bar: Detected motion: 0 at pos(587, 31)
- No matching cursor area found
- bar: Detected motion: 0 at pos(593, 41)
- No matching cursor area found
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/filesystem: Rebuilding cache
- bar: Ignoring update (unchanged)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
- bar: Ignoring update (unchanged)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
- bar: Ignoring update (unchanged)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
- bar: Ignoring update (unchanged)
- bar: Detected motion: 0 at pos(42, 20)
- bar: Detected motion: 0 at pos(40, 20)
- bar: Detected motion: 0 at pos(37, 21)
- bar: Detected motion: 0 at pos(35, 22)
- bar: Detected motion: 0 at pos(33, 22)
- bar: Detected motion: 0 at pos(30, 23)
- bar: Detected motion: 0 at pos(29, 24)
- bar: Detected motion: 0 at pos(26, 27)
- bar: Detected motion: 0 at pos(23, 29)
- bar: Detected motion: 0 at pos(19, 32)
- bar: Detected motion: 0 at pos(14, 35)
- bar: Detected motion: 0 at pos(8, 38)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=990x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
- bar: Ignoring update (unchanged)
* module/xworkspaces: Rebuilding cache
* module/xwindow: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 polybar'
- renderer: flush(1 geom=590x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
- background_manager: update_geometry
- background_manager: root pixmap (0x600001:24) 1920x1080+0+0
- background_manager: Copying from root pixmap (0x600001:24) 0x42+1920+0
* module/xworkspaces: Rebuilding cache
- bar: Force update
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 polybar'
- renderer: flush(1 geom=590x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/xwindow: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 zsh'
- renderer: flush(1 geom=550x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ local ● 2 zsh'
- renderer: flush(1 geom=550x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/xworkspaces: Rebuilding cache
* module/xwindow: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ remote ● 2 polybar'
- renderer: flush(1 geom=600x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/xworkspaces: Rebuilding cache
- bar: Ignoring update (unchanged)
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character ❐ (U+2750) in ' asus ❐ remote ● 2 polybar'
- renderer: flush(1 geom=600x32+0+0, falloff=0)
- renderer: flush(3 geom=390x32+1520+0, falloff=0)
* module/xworkspaces: Rebuilding cache
- bar: Ignoring update (unchanged)
notice: Received signal(2): Interrupt
* Eventloop finished
notice: Termination signal received, shutting down...
- controller: Detach signal receiver
- controller: Stop modules
* module/xworkspaces: Stopping
- module/xworkspaces: Release sleep lock
* Deconstruction of module/xworkspaces took 0 ms.
* module/xwindow: Stopping
- module/xwindow: Release sleep lock
* Deconstruction of module/xwindow took 0 ms.
* module/filesystem: Stopping
- module/filesystem: Release sleep lock
* Deconstruction of module/filesystem took 0 ms.
* module/xkeyboard: Stopping
- module/xkeyboard: Release sleep lock
* Deconstruction of module/xkeyboard took 0 ms.
* module/memory: Stopping
- module/memory: Release sleep lock
* Deconstruction of module/memory took 0 ms.
* module/cpu: Stopping
- module/cpu: Release sleep lock
* Deconstruction of module/cpu took 0 ms.
* module/date: Stopping
- module/date: Release sleep lock
* Deconstruction of module/date took 0 ms.
- module/filesystem: Deconstructing
- module/xkeyboard: Deconstructing
- module/memory: Deconstructing
- module/cpu: Deconstructing
- module/date: Deconstructing
- module/xworkspaces: Deconstructing
- module/xwindow: Deconstructing
- ipc: Removing named pipe at: /tmp/polybar_mqueue.2456763
* Waiting for spawned processes to end
* Reached end of application...

@mikeboiko
Copy link
Author

Also, I updated polybar to 3.7.1 and kept pseudo-transparency = false in my config.
Everything is looking good. Not 100% sure what this setting does, but it's a good enough patch for now!

@patrick96
Copy link
Member

Thanks a lot, your experiments have the expected results, it is indeed the pseudo-transparency (and only the pseudo-transparency) that causes this.
Finding the issue in the code will likely take some time, I'll let you know once I have something for you to test out.

BTW, my original border-color was set to #00000000. I guess it should be a 6 digit hex value instead of an 8 digit hex value.

This is on purpose. This is a fully transparent color (format AARRGGBB) to make it look like the bar is not flush with the edge of the screen (even though the window actually is and just has a transparent border).

Not 100% sure what this setting does, but it's a good enough patch for now!

Pseudo-transparency simulates transparency without needing a compositor. It takes your wallpaper and puts the bar on top of it. The transparent parts of the bar will show the wallpaper below, making it look like it's transparent.

@mikeboiko
Copy link
Author

Ahh, cool. Thanks for the explanation!

@patrick96 patrick96 added this to the 3.7.2 milestone Jan 16, 2024
@patrick96
Copy link
Member

Got some time to dig into this again. One thing that looks suspicious in your logs is this:

- background_manager: root pixmap (0x600001:24) 1920x1080+0+0
- background_manager: Copying from root pixmap (0x600001:24) 0x42+1920+0

This tells me that the root pixmap (the wallpaper) is a 1920 by 1080 rectangle.
But looking at where polybar is positioned (at x-coordinates 2953 and a width of 1920), your screen is at least 4873 pixels wide.

The second line tells me that we are copying a 0x42 rectangle from the wallpaper. This is of course an empty rectangle and likely the cause why you see these colorful pixels: since we are not copying anything, we never overwrite the contents of the buffer we use to store the wallpaper, so it just contains whatever random data was there in memory before; interpreted as colors those are various colored pixels.

I suspect this is something very specific to your setup. That's why I couldn't reproduce this myself.

If you are still running this setup, could you provide me with the following while you are connected to your docking station and have polybar running (no need to run a different config):

  • How exactly are you setting your wallpaper? It is weird that it only fills out a 1920 by 1080 rectangle when all your screens combined are clearly bigger than that
  • The output of polybar -M. This lists all monitors polybar detects and their positions
  • The output of xrandr --listmonitors. This also lists all monitors. Just to confirm polybar is producing the same information.
  • The output of xwininfo -root -tree | grep -B2 polybar. This prints information about all active polybar windows.

I also suspect there may be some weirdness with positioning polybar on the monitors. Polybar being positioned at x-coordinate 2953 is kind of weird

@mikeboiko
Copy link
Author

Sure, I can provide you all the details of my set up.

I'm using i3 and never set a wallpaper. If I switch to a blank window, I just see a black background.
I'm on arch Linux and using the following i3 version:

╭─mike@asus ~
╰─➤  i3 --version
i3 version 4.23 (2023-10-29) © 2009 Michael Stapelberg and contributors

These are the other outputs you requested:

╭─mike@asus ~
╰─➤  polybar -M
DP-2-2: 1920x1080+1920+0 (primary)
eDP-1: 1920x1080+0+1080
DP-4: 1920x1080+0+0
╭─mike@asus ~
╰─➤  xrandr --listmonitors
Monitors: 3
 0: +*DP-2-2 1920/597x1080/336+1920+0  DP-2-2
 1: +eDP-1 1920/309x1080/173+0+1080  eDP-1
 2: +DP-4 1920/597x1080/336+0+0  DP-4
╭─mike@asus ~
╰─➤  xwininfo -root -tree | grep -B2 polybar
     0x800101 "[i3 con] container around 0x605c9aaade00": ("i3-frame" "i3-frame")  1920x1050+0+30  +0+30
        1 child:
        0x220001a "[Bug]: version 3.7.0 is has a pixelation bug · Issue #3041 · polybar/polybar - Google Chrome": ("google-chrome" "Google-chrome")  1920x1050+0+0  +0+30
--
     0x8021b2 "[i3 con] container around 0x605c9aafa520": ("i3-frame" "i3-frame")  1920x30+0+0  +0+0
        1 child:
        0x1600002 "polybar-secondary_DP-4": ("polybar" "Polybar")  1920x30+0+0  +0+0
--
     0x8021ae "[i3 con] container around 0x605c9aa95180": ("i3-frame" "i3-frame")  1920x30+1920+0  +1920+0
        1 child:
        0x1400002 "polybar-primary_DP-2-2": ("polybar" "Polybar")  1920x30+0+0  +1920+0
--
     0x8021a8 "[i3 con] container around 0x605c9ab0c810": ("i3-frame" "i3-frame")  1920x30+0+1080  +0+1080
        1 child:
        0xe00002 "polybar-secondary_eDP-1": ("polybar" "Polybar")  1920x30+0+0  +0+1080

@mikeboiko
Copy link
Author

I just did some further testing, and it seems my lack of wallpaper was causing this issue.
I downloaded nitrogen, set a wallpaper, and then enabled pseudo-transparency.
Looks good now!
image

@mikeboiko
Copy link
Author

I did some more testing, which may or may not be helpful.
If I don't use nitrogen and just set a background colour via echo "*background: #262626" >> ~/.Xresources, the behaviour is the same as before.

With pseudo-transparency disabled:
image

With pseudo-transparency enabled:
image

@patrick96
Copy link
Member

Alright, now we're getting somewhere, I can finally reproduce on my own!

Steps:

  1. Turn off second monitor
  2. Set wallpaper feh --no-fehbg --bg-fill /path/to/image.
  3. Turn on second monitor and configure it to the right of the first one (below should also work)
  4. Run polybar on second monitor

Because in the second step, the wallpaper was set when only the first monitor was connected, the area defined for the wallpaper is only the area of the first monitor. When connecting the second monitor, the wallpaper image is simply tiled in all direction (I believe this is the expected behavior when the underlying image is smaller than the space it is intended to fill).

we never overwrite the contents of the buffer we use to store the wallpaper, so it just contains whatever random data was there in memory before; interpreted as colors those are various colored pixels.

This is indeed what's happening.

The correct behavior here should be that polybar prints an error message if this happens and displays as much of the wallpaper as possible while filling the rest with black.


@mikeboiko Thanks again for helping me debug this.

I think you have something somewhere that does set some kind of wallpaper, not sure what though. And when you then connect the external monitor, there is no wallpaper defined for that monitor and polybar basically renders garbage

@mikeboiko
Copy link
Author

Cool, glad you were able to reproduce the error and figure out what's going on!
Your explanation makes sense.

patrick96 added a commit to patrick96/polybar that referenced this issue Feb 18, 2024
If the root pixmap does not fully cover the bar window, some
pseudo-transparent areas were filled with unitialized data, causing
pixelation or other rendering artifacts.

Now, ovserved background slices are first filled with black to make sure
this does not happen and they print an error if not the full pixmap can
be filled.

Fixes polybar#3041
@patrick96
Copy link
Member

I have a fix in #3096

Please try it if it also fixes the issue on your end (it should simply show a black background and print an error message)

@mikeboiko
Copy link
Author

I clone your other repo and checked out fix/partial-wallpaper:

╭─mike@asus ~/temp/polybar_patrick  ‹fix/partial-wallpaper›
╰─➤  polybar --version
polybar 3.5.6-529-g1cbc6cc3

However, I'm still seeing the same issue on 2 of my screens.
image
image

I'm also not seeing that error you mentioned

╭─mike@asus ~/git/Linux/config/polybar  ‹master*›
╰─➤  ./launch.sh
eDP-1 secondary
DP-4 secondary
DP-2-2 primary
Polybar launched...
notice: Parsing config file: /home/mike/.config/polybar/config.ini
notice: Parsing config file: /home/mike/.config/polybar/config.ini
notice: Parsing config file: /home/mike/.config/polybar/config.ini
notice: Listening for IPC messages (PID: 989958)
notice: Listening for IPC messages (PID: 989959)
notice: Listening for IPC messages (PID: 989957)
notice: Loading module 'xworkspaces' of type 'internal/xworkspaces'
notice: Loading module 'xworkspaces' of type 'internal/xworkspaces'
notice: Loading module 'xworkspaces' of type 'internal/xworkspaces'
notice: Loading module 'xwindow' of type 'internal/xwindow'
notice: Loading module 'xwindow' of type 'internal/xwindow'
notice: Loading module 'eth' of type 'internal/network'
notice: module/eth: Discovered wired interface enp46s0u2u4
notice: Loading module 'spotidry' of type 'custom/script'
notice: Loading module 'info-tailscale' of type 'custom/script'
notice: Loading module 'filesystem' of type 'internal/fs'
notice: Loading module 'openweathermap' of type 'custom/script'
notice: Loading module 'xwindow' of type 'internal/xwindow'
notice: Loading module 'cpu' of type 'internal/cpu'
notice: Loading module 'pulseaudio' of type 'internal/pulseaudio'
notice: Loading module 'eth' of type 'internal/network'
notice: Loading module 'memory' of type 'internal/memory'
notice: Loading module 'date' of type 'internal/date'
notice: module/eth: Discovered wired interface enp46s0u2u4
notice: Loaded 8 modules
notice: Loading module 'info-tailscale' of type 'custom/script'
notice: Loading module 'filesystem' of type 'internal/fs'
notice: Loading module 'cpu' of type 'internal/cpu'
notice: Loading module 'memory' of type 'internal/memory'
notice: Loading module 'date' of type 'internal/date'
notice: Loaded 8 modules
notice: pulseaudio: using default sink alsa_output.usb-Generic_USB_Audio_200901010001-00.pro-output-0
notice: Loading module 'memory' of type 'internal/memory'
notice: Loading module 'date' of type 'internal/date'
notice: Loaded 7 modules
notice: Loaded font "DejaVuSansMono" (name=DejaVu Sans Mono, offset=3, file=/usr/share/fonts/TTF/DejaVuSansMono.ttf)
notice: Loaded font "DejaVuSansMono" (name=DejaVu Sans Mono, offset=3, file=/usr/share/fonts/TTF/DejaVuSansMono.ttf)
notice: Loaded font "WeatherIcons:size=12" (name=Weather Icons, offset=1, file=/usr/share/fonts/TTF/weathericons-regular-webfont.ttf)
notice: Loaded font "WeatherIcons:size=12" (name=Weather Icons, offset=1, file=/usr/share/fonts/TTF/weathericons-regular-webfont.ttf)
notice: Loaded font "Font Awesome 6 Free Solid:style=Solid" (name=Font Awesome 6 Free, offset=3, file=/usr/share/fonts/OTF/Font Awesome 6 Free-Solid-900.otf)
notice: Loaded font "Font Awesome 6 Free Solid:style=Solid" (name=Font Awesome 6 Free, offset=3, file=/usr/share/fonts/OTF/Font Awesome 6 Free-Solid-900.otf)
notice: Loaded font "DejaVuSansMono" (name=DejaVu Sans Mono, offset=3, file=/usr/share/fonts/TTF/DejaVuSansMono.ttf)
notice: Loaded font "WeatherIcons:size=12" (name=Weather Icons, offset=1, file=/usr/share/fonts/TTF/weathericons-regular-webfont.ttf)
notice: Loaded font "Font Awesome 6 Free Solid:style=Solid" (name=Font Awesome 6 Free, offset=3, file=/usr/share/fonts/OTF/Font Awesome 6 Free-Solid-900.otf)
warn: Dropping unmatched character '' (U+f1bc) in ' ⏹'
warn: Dropping unmatched character '' (U+f1bc) in ' ⏹'

Let me know if I need to do something different on my end.

@patrick96
Copy link
Member

Well that's not great 😕

Can you run with -l trace? Maybe I didn't account for some edge case

@mikeboiko
Copy link
Author

Sure, here are my logs with -l trace

╭─mike@asus ~/git/Linux/config/polybar  ‹master*›
╰─➤  ./launch.sh
eDP-1 secondary
DP-4 secondary
DP-2-2 primary
Polybar launched...
notice: Parsing config file: /home/mike/.config/polybar/config.ini
- config_parser: Parsing /home/mike/.config/polybar/config.ini
notice: Parsing config file: /home/mike/.config/polybar/config.ini
- config_parser: Parsing /home/mike/.config/polybar/config.ini
- config: Inheriting keys from "network-base" in "module/eth"
- config: Inheriting keys from "network-base" in "module/wlan"
* Created legacy ipc fifo at '/tmp/polybar_mqueue.1307204'
- config: Inheriting keys from "network-base" in "module/eth"
- config: Inheriting keys from "network-base" in "module/wlan"
* Opening ipc socket at '/run/user/1000/polybar/ipc.1307204.sock'
notice: Listening for IPC messages (PID: 1307204)
* Created legacy ipc fifo at '/tmp/polybar_mqueue.1307205'
notice: Parsing config file: /home/mike/.config/polybar/config.ini
- config_parser: Parsing /home/mike/.config/polybar/config.ini
- config: Inheriting keys from "network-base" in "module/eth"
* Opening ipc socket at '/run/user/1000/polybar/ipc.1307205.sock'
notice: Listening for IPC messages (PID: 1307205)
- config: Inheriting keys from "network-base" in "module/wlan"
* Created legacy ipc fifo at '/tmp/polybar_mqueue.1307203'
* Opening ipc socket at '/run/user/1000/polybar/ipc.1307203.sock'
notice: Listening for IPC messages (PID: 1307203)
* Environment var reference ${MONITOR} found (value=DP-4)
* Environment var reference ${MONITOR} found (value=eDP-1)
* Environment var reference ${MONITOR} found (value=DP-2-2)
* Loaded monitor DP-4 (1920x1080+0+0)
* Configured DPI = 96x96
* Bar geometry: 1920x30+0+0; Borders: 5,5,5,5
- bar: Attach X event sink
- bar: Attach signal receiver
- controller: Setup user-defined modules
notice: Loading module 'xworkspaces' of type 'internal/xworkspaces'
* Loaded monitor eDP-1 (1920x1080+0+1080)
* Configured DPI = 96x96
* Bar geometry: 1920x30+0+1080; Borders: 5,5,5,5
- bar: Attach X event sink
- bar: Attach signal receiver
- controller: Setup user-defined modules
notice: Loading module 'xworkspaces' of type 'internal/xworkspaces'
* Loaded monitor DP-2-2 (1920x1080+1920+0)
* Configured DPI = 96x96
* Bar geometry: 1920x30+1920+0; Borders: 5,5,5,5
- bar: Attach X event sink
- bar: Attach signal receiver
- controller: Setup user-defined modules
notice: Loading module 'xworkspaces' of type 'internal/xworkspaces'
notice: Loading module 'xwindow' of type 'internal/xwindow'
notice: Loading module 'spotidry' of type 'custom/script'
notice: Loading module 'xwindow' of type 'internal/xwindow'
notice: Loading module 'xwindow' of type 'internal/xwindow'
notice: Loading module 'openweathermap' of type 'custom/script'
notice: Loading module 'pulseaudio' of type 'internal/pulseaudio'
notice: Loading module 'eth' of type 'internal/network'
notice: Loading module 'eth' of type 'internal/network'
notice: module/eth: Discovered wired interface enp46s0u2u4
notice: module/eth: Discovered wired interface enp46s0u2u4
notice: Loading module 'info-tailscale' of type 'custom/script'
notice: Loading module 'info-tailscale' of type 'custom/script'
notice: Loading module 'filesystem' of type 'internal/fs'
notice: Loading module 'filesystem' of type 'internal/fs'
notice: Loading module 'cpu' of type 'internal/cpu'
notice: Loading module 'cpu' of type 'internal/cpu'
- pulseaudio: started mainloop
notice: Loading module 'memory' of type 'internal/memory'
notice: Loading module 'memory' of type 'internal/memory'
╭─mike@asus ~/git/Linux/config/polybar  ‹master*›
notice: Loading module 'date' of type 'internal/date'
notice: Loading module 'date' of type 'internal/date'
notice: Loaded 8 modules
* Starting application
- controller: Main thread id = 1
* Entering event loop (thread-id=1)
- bar: Create renderer
- renderer: Get TrueColor visual
* renderer: Using 32-bit TrueColor visual: 0xcb
- renderer: Allocate colormap
- renderer: Allocate output window
notice: Loaded 8 modules
* Starting application
- controller: Main thread id = 1
* Entering event loop (thread-id=1)
- bar: Create renderer
- renderer: Get TrueColor visual
* renderer: Using 32-bit TrueColor visual: 0xcb
- renderer: Allocate colormap
- renderer: Allocate output window
- renderer: Allocate window pixmaps
- renderer: Allocate graphic contexts
- renderer: Allocate alignment blocks
- renderer: Allocate cairo components
- renderer: Allocate window pixmaps
- renderer: Allocate graphic contexts
- renderer: Allocate alignment blocks
- renderer: Allocate cairo components
- renderer: Load fonts
- renderer: Load fonts
notice: pulseaudio: using default sink alsa_output.usb-Generic_USB_Audio_200901010001-00.pro-output-0
notice: Loading module 'memory' of type 'internal/memory'
notice: Loading module 'date' of type 'internal/date'
notice: Loaded 7 modules
* Starting application
- controller: Main thread id = 1
* Entering event loop (thread-id=1)
- bar: Create renderer
- renderer: Get TrueColor visual
* renderer: Using 32-bit TrueColor visual: 0xcb
- renderer: Allocate colormap
- renderer: Allocate output window
- renderer: Allocate window pixmaps
- renderer: Allocate graphic contexts
- renderer: Allocate alignment blocks
- renderer: Allocate cairo components
- renderer: Load fonts
notice: Loaded font "DejaVuSansMono" (name=DejaVu Sans Mono, offset=3, file=/usr/share/fonts/TTF/DejaVuSansMono.ttf)
notice: Loaded font "WeatherIcons:size=12" (name=Weather Icons, offset=1, file=/usr/share/fonts/TTF/weathericons-regular-webfont.ttf)
notice: Loaded font "DejaVuSansMono" (name=DejaVu Sans Mono, offset=3, file=/usr/share/fonts/TTF/DejaVuSansMono.ttf)
notice: Loaded font "Font Awesome 6 Free Solid:style=Solid" (name=Font Awesome 6 Free, offset=3, file=/usr/share/fonts/OTF/Font Awesome 6 Free-Solid-900.otf)
- Activate root background manager
- background_manager: root pixmap (0x600001:24) 1920x1080+0+0
- background_manager: Allocating pixmap
- background_manager: Allocating graphics context
- background_manager: Allocating cairo surface
- background_manager: Copying from root pixmap (0x600001:24) 1920x30+0+0
* Bar window: 0x1600002
- bar: Reconfigure window
- bar: Set window WM_NAME
- bar: Set window _NET_WM_WINDOW_TYPE
- bar: Set window _NET_WM_STATE
- bar: Set window _NET_WM_DESKTOP
- bar: Set window _NET_WM_PID
- bar: Map window
- background_manager: update_geometry
- background_manager: root pixmap (0x600001:24) 1920x1080+0+0
- background_manager: Copying from root pixmap (0x600001:24) 1920x30+0+0
- bar: Draw empty bar
notice: Loaded font "WeatherIcons:size=12" (name=Weather Icons, offset=1, file=/usr/share/fonts/TTF/weathericons-regular-webfont.ttf)
- bar: Setup tray manager
* Starting module/xworkspaces
* Starting module/xwindow
* Starting module/eth
* Starting module/info-tailscale
notice: Loaded font "Font Awesome 6 Free Solid:style=Solid" (name=Font Awesome 6 Free, offset=3, file=/usr/share/fonts/OTF/Font Awesome 6 Free-Solid-900.otf)
- Activate root background manager
- background_manager: root pixmap (0x600001:24) 1920x1080+0+0
- background_manager: Allocating pixmap
- background_manager: Allocating graphics context
- background_manager: Allocating cairo surface
- background_manager: Copying from root pixmap (0x600001:24) 1920x0+0+1080
* Starting module/filesystem
* Starting module/cpu
* Starting module/memory
* Starting module/date
* Bar window: 0x5800002
- bar: Reconfigure window
- module/eth: Thread id = 2
* script_runner: Invoking shell command: "~/git/Linux/bin/info-tailscale.sh"
notice: Loaded font "DejaVuSansMono" (name=DejaVu Sans Mono, offset=3, file=/usr/share/fonts/TTF/DejaVuSansMono.ttf)
notice: Loaded font "WeatherIcons:size=12" (name=Weather Icons, offset=1, file=/usr/share/fonts/TTF/weathericons-regular-webfont.ttf)
- module/cpu: Thread id = 3
notice: Loaded font "Font Awesome 6 Free Solid:style=Solid" (name=Font Awesome 6 Free, offset=3, file=/usr/share/fonts/OTF/Font Awesome 6 Free-Solid-900.otf)
- Activate root background manager
- module/filesystem: Thread id = 4
- bar: Set window WM_NAME
- bar: Set window _NET_WM_WINDOW_TYPE
- bar: Set window _NET_WM_STATE
- bar: Set window _NET_WM_DESKTOP
- bar: Set window _NET_WM_PID
- bar: Map window
- module/memory: Thread id = 6
- module/date: Thread id = 5
- background_manager: root pixmap (0x600001:24) 1920x1080+0+0
- background_manager: Allocating pixmap
- background_manager: Allocating graphics context
- background_manager: Allocating cairo surface
- bar: Received expose event
- background_manager: update_geometry
- background_manager: update_geometry
- background_manager: root pixmap (0x600001:24) 1920x1080+0+0
- background_manager: root pixmap (0x600001:24) 1920x1080+0+0
- background_manager: Copying from root pixmap (0x600001:24) 1920x0+0+1080
- bar: Draw empty bar
- bar: Setup tray manager
* Starting module/xworkspaces
* Starting module/xwindow
- background_manager: Copying from root pixmap (0x600001:24) 1920x30+0+0
- background_manager: update_geometry
- background_manager: Copying from root pixmap (0x600001:24) 0x30+1920+0
* Starting module/eth
* Starting module/info-tailscale
* Starting module/filesystem
* Starting module/cpu
* Bar window: 0x1800002
- bar: Reconfigure window
* Starting module/memory
* Starting module/date
- bar: Set window WM_NAME
- bar: Set window _NET_WM_WINDOW_TYPE
- bar: Set window _NET_WM_STATE
- bar: Set window _NET_WM_DESKTOP
- bar: Set window _NET_WM_PID
- bar: Map window
- background_manager: update_geometry
- background_manager: root pixmap (0x600001:24) 1920x1080+0+0
- module/eth: Thread id = 2
- background_manager: Copying from root pixmap (0x600001:24) 0x30+1920+0
- background_manager: root pixmap (0x600001:24) 1920x1080+0+0
- module/filesystem: Thread id = 3
* script_runner: Invoking shell command: "~/git/Linux/bin/info-tailscale.sh"
- module/cpu: Thread id = 4
- background_manager: Copying from root pixmap (0x600001:24) 1920x30+0+0
- bar: Draw empty bar
- bar: Setup tray manager
warn: tray: bar/primary.tray-position is deprecated, use the dedicated tray module to display the system tray
- tray: Find systray selection atom for the default screen
* Activating tray manager
- tray: Create tray window
* Tray window: 0x1800010
- tray: Restacking tray window
- module/date: Thread id = 5
- module/memory: Thread id = 6
error: tray: Failed to put tray above 0x1800002 in the stack (XCB_MATCH (8))
- bar: Set window WM_NAME / WM_CLASS
- tray: Set window WM_PROTOCOLS
- tray: Set window _NET_WM_WINDOW_TYPE
- tray: Set window _NET_WM_STATE
- tray: Set window _NET_WM_PID
- tray: Set window _NET_SYSTEM_TRAY_VISUAL
- tray: Set window _NET_SYSTEM_TRAY_ORIENTATION
- tray: Set _NET_SYSTEM_TRAY_COLORS to ffc5c8c6
- tray: Change selection owner to 0x1800010
- tray: visibility_change (state=0, activated=1, mapped=0, hidden=0)
* Starting module/xworkspaces
* Starting module/xwindow
* Starting module/spotidry
* Starting module/openweathermap
* Starting module/pulseaudio
* Starting module/memory
* Starting module/date
- module/pulseaudio: Thread id = 2
- module/memory: Thread id = 3
- module/date: Thread id = 4
* script_runner: Invoking shell command: "~/git/Linux/bin/openweathermap.sh"
- command: Waiting for pid 1307308 to finish...
* module/xworkspaces: Rebuilding cache
* module/xwindow: Rebuilding cache
* module/eth: Rebuilding cache
* module/info-tailscale: Rebuilding cache
* module/filesystem: Rebuilding cache
* module/cpu: Rebuilding cache
* module/memory: Rebuilding cache
* module/date: Rebuilding cache
- bar: Force update
* Redrawing bar window
- renderer: flush(1 geom=450x20+0+0, falloff=0)
- renderer: flush(3 geom=760x20+1150+0, falloff=0)
- command: Exited with status 0
* script_runner: Invoking shell command: "~/.local/bin/spotidry 2> /dev/null"
- bar: Received expose event
- background_manager: update_geometry
- background_manager: root pixmap (0x600001:24) 1920x1080+0+0
- background_manager: Copying from root pixmap (0x600001:24) 1920x0+0+1080
- background_manager: update_geometry
- background_manager: root pixmap (0x600001:24) 1920x1080+0+0
- background_manager: Copying from root pixmap (0x600001:24) 1920x0+0+1080
* module/xworkspaces: Rebuilding cache
* module/xwindow: Rebuilding cache
* module/eth: Rebuilding cache
* module/info-tailscale: Rebuilding cache
* module/filesystem: Rebuilding cache
* module/cpu: Rebuilding cache
* module/memory: Rebuilding cache
* module/date: Rebuilding cache
- bar: Force update
* Redrawing bar window
- renderer: flush(1 geom=320x20+0+0, falloff=0)
- renderer: flush(3 geom=760x20+1150+0, falloff=0)
- command: Waiting for pid 1307272 to finish...
- command: Exited with status 0
* module/info-tailscale: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=450x20+0+0, falloff=0)
- renderer: flush(3 geom=898x20+1012+0, falloff=0)
- tray: visibility_change (state=1, activated=1, mapped=0, hidden=1)
- tray: visibility_change (state=1, activated=1, mapped=0, hidden=0)
- bar: Received expose event
- background_manager: update_geometry
- background_manager: root pixmap (0x600001:24) 1920x1080+0+0
- background_manager: Copying from root pixmap (0x600001:24) 0x30+1920+0
* Redraw tray container (id=0x1800010)
- background_manager: update_geometry
- background_manager: root pixmap (0x600001:24) 1920x1080+0+0
- background_manager: Copying from root pixmap (0x600001:24) 0x30+1920+0
* Redraw tray container (id=0x1800010)
* module/xworkspaces: Rebuilding cache
* module/xwindow: Rebuilding cache
* module/spotidry: Rebuilding cache
* module/openweathermap: Rebuilding cache
* module/pulseaudio: Rebuilding cache
* module/memory: Rebuilding cache
* module/date: Rebuilding cache
- bar: Force update
* Redrawing bar window
- renderer: flush(1 geom=390x20+0+0, falloff=0)
- renderer: flush(3 geom=400x20+1510+0, falloff=0)
- command: Waiting for pid 1307292 to finish...
- command: Exited with status 0
* module/info-tailscale: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=320x20+0+0, falloff=0)
- renderer: flush(3 geom=898x20+1012+0, falloff=0)
* module/xwindow: Rebuilding cache
* Redrawing bar window
* module/xwindow: Rebuilding cache
* Redrawing bar window
* module/xwindow: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=310x20+0+0, falloff=0)
- renderer: flush(1 geom=440x20+0+0, falloff=0)
- renderer: flush(3 geom=898x20+1012+0, falloff=0)
- renderer: flush(3 geom=898x20+1012+0, falloff=0)
- renderer: flush(1 geom=380x20+0+0, falloff=0)
- renderer: flush(3 geom=400x20+1510+0, falloff=0)
- command: Waiting for pid 1307325 to finish...
- command: Exited with status 0
* module/spotidry: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character '' (U+f1bc) in ' ⏹'
- renderer: flush(1 geom=380x20+0+0, falloff=0)
- renderer: flush(3 geom=452x20+1458+0, falloff=0)
- command: Waiting for pid 1307301 to finish...
- command: Exited with status 0
* module/openweathermap: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character '' (U+f1bc) in ' ⏹'
- renderer: flush(1 geom=380x20+0+0, falloff=0)
- renderer: flush(3 geom=565x20+1345+0, falloff=0)
* Notifying pending tray clients
- tray: Received client_message
* Processing docking request from 'blueman' (0x50000fe)
- tray: xembed = true
- tray: version = 0x1, flags = 0x1, XEMBED_MAPPED = true
- tray: Update client window
- tray: Configure client size
- tray: Add client window to the save set
- tray: Reparent client
- tray: Send embbeded notification to client
- tray: Map client
- tray: Received client_message
* Processing docking request from 'flameshot' (0x60000bb)
- tray: xembed = true
- tray: version = 0x0, flags = 0x1, XEMBED_MAPPED = true
- tray: Update client window
- tray: Configure client size
- tray: Add client window to the save set
- tray: Reparent client
- tray: Send embbeded notification to client
- tray: Map client
- tray: Received client_message
* Processing docking request from 'teams-for-linux' (0x3a0019b)
- tray: xembed = true
- tray: version = 0x1, flags = 0x1, XEMBED_MAPPED = true
- tray: Update client window
- tray: Configure client size
- tray: Add client window to the save set
- tray: Reparent client
- tray: Send embbeded notification to client
- tray: Map client
- tray: Received map_notify
- tray: Set client mapped
- tray: Reconfigure clients
- tray: Reconfigure window (mapped=0, clients=3)
- tray: Reconfigure window / map
- tray: New window values, width=20, x=3779
- tray: Received map_notify
- tray: Set client mapped
- tray: Reconfigure clients
- tray: Reconfigure window (mapped=0, clients=3)
- tray: Reconfigure window / map
- tray: New window values, width=38, x=3779
- tray: Received map_notify
- tray: Set client mapped
- tray: Reconfigure clients
- tray: Reconfigure window (mapped=0, clients=3)
- tray: Reconfigure window / map
- tray: New window values, width=56, x=3779
- tray: Received map_notify
- tray: Update container mapped flag
* Redraw tray container (id=0x1800010)
- tray: Refreshing window
* Redraw tray container (id=0x1800010)
- tray: Refreshing window
* Redraw tray container (id=0x1800010)
- tray: Refreshing window
* Redraw tray container (id=0x1800010)
- tray: Refreshing window
* Redraw tray container (id=0x1800010)
- tray: Refreshing window
- bar: Force update
* Redrawing bar window
warn: Dropping unmatched character '' (U+f1bc) in ' ⏹'
- renderer: flush(1 geom=380x20+0+0, falloff=0)
- renderer: flush(3 geom=565x20+1289+0, falloff=0)
* module/cpu: Rebuilding cache
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
* module/memory: Rebuilding cache
* Redrawing bar window
* module/memory: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=310x20+0+0, falloff=0)
warn: Dropping unmatched character '' (U+f1bc) in ' ⏹'
- renderer: flush(3 geom=898x20+1012+0, falloff=0)
- renderer: flush(1 geom=440x20+0+0, falloff=0)
- renderer: flush(3 geom=898x20+1012+0, falloff=0)
- renderer: flush(1 geom=380x20+0+0, falloff=0)
- renderer: flush(3 geom=565x20+1289+0, falloff=0)
* module/eth: Rebuilding cache
- bar: Ignoring update (unchanged)
* module/eth: Rebuilding cache
- bar: Ignoring update (unchanged)
- command: Waiting for pid 1307430 to finish...
- command: Exited with status 0
* script_runner: Invoking shell command: "~/.local/bin/spotidry 2> /dev/null"
- command: Waiting for pid 1307431 to finish...
- command: Exited with status 0
- command: Waiting for pid 1307434 to finish...
- command: Exited with status 0
* script_runner: Invoking shell command: "~/.local/bin/spotidry 2> /dev/null"
- command: Waiting for pid 1307435 to finish...
- command: Exited with status 0
* module/cpu: Rebuilding cache
* module/cpu: Rebuilding cache
* module/memory: Rebuilding cache
* module/memory: Rebuilding cache
* Redrawing bar window
* Redrawing bar window
* module/memory: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character '' (U+f1bc) in ' ⏹'
- renderer: flush(1 geom=310x20+0+0, falloff=0)
- renderer: flush(3 geom=898x20+1012+0, falloff=0)
- renderer: flush(1 geom=440x20+0+0, falloff=0)
- renderer: flush(3 geom=898x20+1012+0, falloff=0)
- renderer: flush(1 geom=380x20+0+0, falloff=0)
- renderer: flush(3 geom=565x20+1289+0, falloff=0)
- command: Waiting for pid 1307437 to finish...
- command: Exited with status 0
* script_runner: Invoking shell command: "~/.local/bin/spotidry 2> /dev/null"
- command: Waiting for pid 1307438 to finish...
- command: Exited with status 0
* module/cpu: Rebuilding cache
* module/memory: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
* module/memory: Rebuilding cache
* Redrawing bar window
* module/memory: Rebuilding cache
* Redrawing bar window
warn: Dropping unmatched character '' (U+f1bc) in ' ⏹'
- renderer: flush(1 geom=310x20+0+0, falloff=0)
- renderer: flush(1 geom=440x20+0+0, falloff=0)
- renderer: flush(3 geom=898x20+1012+0, falloff=0)
- renderer: flush(3 geom=898x20+1012+0, falloff=0)
- bar: Ignoring update (unchanged)
- bar: Ignoring update (unchanged)
- renderer: flush(1 geom=380x20+0+0, falloff=0)
- renderer: flush(3 geom=565x20+1289+0, falloff=0)
- command: Waiting for pid 1307441 to finish...
- command: Exited with status 0
* script_runner: Invoking shell command: "~/.local/bin/spotidry 2> /dev/null"
- command: Waiting for pid 1307442 to finish...
- command: Exited with status 0
* module/eth: Rebuilding cache
- bar: Ignoring update (unchanged)
* module/eth: Rebuilding cache
- bar: Ignoring update (unchanged)

Not that I think it'll matter, but this is my launch.sh script:

#!/usr/bin/env bash

# Define which polybars go on which screens for each muli-monitor host
# If no external monitors are plugged in, the node falls ack to lean
HOST=`cat /etc/hostname`

default_profile="full"
declare -A monitor_map
if [ "$HOST" == "asus" ]; then
    monitor_map=( ["eDP-1"]="secondary" ["DP-4"]="secondary" ["DP-2-2"]="primary")
elif [ "$HOST" == "xps" ]; then
    monitor_map=( ["eDP-1"]="primary" ["DP-2-1"]="full" ["DP-2-2"]="full" ["DP-1-2-2"]="full" ["HDMI-1"]="full" ["HDMI-1-1"]="full")
fi

# Terminate currently running bar instances
killall -q polybar

if [[ $(xrandr --listactivemonitors | grep -v "Monitors" | cut -d" " -f4 | cut -d"+" -f2- | uniq | wc -l) == 1 ]]; then
    # One monitor only
    MONITOR=$(polybar --list-monitors | cut -d":" -f1) polybar --reload lean &
else
    for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
        if [ -z "${monitor_map[$m]}" ]
        then
            profile=$default_profile
        else
            profile="${monitor_map[$m]}"
        fi
        echo $m $profile
        MONITOR=$m polybar -l trace --reload $profile &
    done
fi

echo "Polybar launched..."

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants