polybar / polybar

A fast and easy-to-use status bar
https://polybar.github.io
MIT License
14.04k stars 703 forks source link

Tray rendering issues #1436

Closed fishman closed 5 years ago

fishman commented 5 years ago

Describe the issue

I'm having rendering artifacts in my polybar systray.

It seems to be especially bad for QT icons. But even things such as the nm-applet have these artifacts. It's seems like when it draws it will draw over the previous state. So when nm renders a loading waiting circle it will stay there with the rest of the icon.

Easiest way for me to trigger it is reloading the polybar config with pkill -USR1 polybar.

I use a settings daemon with 115 DPI. I don't have any hidpi autoscaling enabled either.

To Reproduce

tray-maxsize = 33 tray-position = right tray-padding = 2 tray-background = ${root.background}

Environment:

polybar 3.2.0-25-ga2ab469

Features: +alsa +curl -i3 +mpd +network +pulseaudio +xkeyboard                                               

X extensions: +randr (+monitors) -render -damage -sync -composite +xkb +xrm +xcursor                         

Build type: RelWithDebInfo
Compiler: /usr/bin/c++
Compiler flags: -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -Wall -Wextra -Werror -Wno-noexcept-type -O2 -pedantic -pedantic-errors
Linker flags: -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now                                              

img-2018-09-20-223453

fishman commented 5 years ago

I didn't notice https://github.com/jaagr/polybar/issues/1143

I can confirm that https://github.com/jaagr/polybar/pull/1415 makes it a little better, but things like networkmanager still get garbled up after a while.

patrick96 commented 5 years ago

I'm closing this then as a Duplicate of #1143.

The tray will be replaced in the future and we weren't able to find the cause for this issue in the current implementation.

fishman commented 5 years ago

@patrick96 is there any known configuration where this doesn't happen? I'd just switch to that in the meantime.

patrick96 commented 5 years ago

I don't think so. The only sure way is to not use the tray in polybar and use another dedicated tray program and place it where the polybar tray would be.