polybar / polybar

A fast and easy-to-use status bar

Home Page:https://polybar.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Bug]: blinking between monitors

echolessowl opened this issue · comments

commented

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. Start Polybar
  2. Wait anywhere between a few seconds to a few minutes
  3. Witness bar blink off of my primary monitor, appear on my second monitor for a frame, then appear back on my primary monitor
  4. Repeat steps two and three indefinitely

Minimal config

[bar/example]
width = 100
height = 15pt
radius = 0

modules-left = xworkspaces xwindow
modules-right = cpu memory date

[module/xworkspaces]
type = internal/xworkspaces

label-active = %name%
label-active-background = ${colors.background-alt}
label-active-underline= ${colors.primary}
label-active-padding = 1

label-occupied = %name%
label-occupied-padding = 1
label-occupied-underline = ${colors.foreground}
label-occupied-foreground = ${colors.disabled}

label-urgent = %name%
label-urgent-background = ${colors.alert}
label-urgent-padding = 1

label-empty = %name%
label-empty-foreground = ${colors.disabled}
label-empty-padding = 1

[module/xwindow]
type = internal/xwindow
label = %title:0:60:...%

[module/memory]
type = internal/memory
interval = 2
format-prefix = "RAM "
format-prefix-foreground = ${colors.primary}
label = %percentage_used:2%%

[module/cpu]
type = internal/cpu
interval = 2
format-prefix = "CPU "
format-prefix-foreground = ${colors.primary}
label = %percentage:2%%

[module/date]
type = internal/date
interval = 1

date = %A, %d %B %Y %H:%M:%S

label = %date%
label-foreground = ${colors.primary}

[module/tray]
type= internal/tray

format-padding = 0
format-background = ${colors.background-light}
tray-background = ${colors.background-light}

[settings]
screenchange-reload = false
pseudo-transparency = false

Polybar log

Nothing is printed when the blink occurs.
The only error I get is when an emoji is trying to be displayed on the xwindow module
"Dropping unmatched character" 
but can't because a font doesn't support it, but i don't think that's the issue.

Expected behavior

for it to not blink

Actual behavior

it blinks

Window Manager and Version

bspwm 0.9.10-3

Linux Distribution

Arch Linux

Polybar version

polybar 3.6.3

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 -Wsuggest-override
Linker flags: -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -flto=auto -Wall -Wextra -Wpedantic -Wsuggest-override  -Wall -Wextra -Wpedantic -Wsuggest-override

Additional Context / Screenshots

No response

Hmm, never seen this before. It just switches screens for a few frames?

Can you run polybar with trace logging (-l trace) and post the output of that.

Are you doing anything to your monitor configuration when this happens?

commented

I don't believe there's any issue with my monitor configuration, it's pretty standard.

The output of -l trace is just a whole lot of this, constantly. I don't see any change when the bar decides to blink

- renderer: flush(3 geom=364x20+1464+0, falloff=0)
* module/memory: Rebuilding cache
- bar: Ignoring update (unchanged)
* module/date: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=336x20+0+0, falloff=0)
- renderer: flush(3 geom=364x20+1464+0, falloff=0)
* module/cpu: Rebuilding cache
* module/memory: Rebuilding cache
* module/date: Rebuilding cache
* Redrawing bar window ```
commented

To describe my monitor setup briefly, I have a primary DVI monitor with a drawing tablet to the left plugged in via HDMI. I only have polybar set up on my primary monitor

commented

After running PB using -l trace for a while, this error got thrown at me:

fish: Job 1, 'polybar -l trace' terminated by signal SIGSEGV (Address boundary error)

commented

Found out recently that polybar isn't actually doing anything wrong, but infact the Nvidia-535 drivers are just extremely buggy. Sorry for wasting your time.