-
-
Notifications
You must be signed in to change notification settings - Fork 694
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
3.7.1 bars under 100% width will have repeating empty bars next to the working bars that have output #3060
Comments
Clarifying question: Are you using a compositor in these screenshots? I have narrowed it down to d743a22 triggering this issue. The rendering changes in that commit normally wouldn't have an effect, but because polybar treats its window smaller than it is. The contents of the first rendering get duplicated to fill out the remainder of the window. |
Without override-redirect, i3 will not allow you to have a non-full-width bar. But polybar simply ignores that request and continues to render the user-requested width instead of the width i3 has configured the window to be. With the 3.7 release, we started setting the window's backing pixmap to the rendering pixmap. In the case above, the pixmap would only be allocted for the smaller width and when i3 maps the window, it repeats the backing pixmap to fill the entire window. At the point where i3 maps the window, the pixmap contains an initial render of the bar without module content and that render is then duplicated. Reverting back to the old approach of simply copying over the pixmap after each render does not have that problem and the remainder of the bar is black (or fully transparent with a compositor). Fixes polybar#3060
Without override-redirect, i3 will not allow you to have a non-full-width bar. But polybar simply ignores that request and continues to render the user-requested width instead of the width i3 has configured the window to be. With the 3.7 release, we started setting the window's backing pixmap to the rendering pixmap. In the case above, the pixmap would only be allocted for the smaller width and when i3 maps the window, it repeats the backing pixmap to fill the entire window. At the point where i3 maps the window, the pixmap contains an initial render of the bar without module content and that render is then duplicated. Reverting back to the old approach of simply copying over the pixmap after each render does not have that problem and the remainder of the bar is black (or fully transparent with a compositor). Ideally, polybar would respect the width i3 configures for it, but that would break many existing setups that rely on non-full-width bars in i3 Fixes polybar#3060
I reverted the rendering change in #3091. Please try it out to see if it fixes your issue (it did work for me) |
Without override-redirect, i3 will not allow you to have a non-full-width bar. But polybar simply ignores that request and continues to render the user-requested width instead of the width i3 has configured the window to be. With the 3.7 release, we started setting the window's backing pixmap to the rendering pixmap. In the case above, the pixmap would only be allocted for the smaller width and when i3 maps the window, it repeats the backing pixmap to fill the entire window. At the point where i3 maps the window, the pixmap contains an initial render of the bar without module content and that render is then duplicated. Reverting back to the old approach of simply copying over the pixmap after each render does not have that problem and the remainder of the bar is black (or fully transparent with a compositor). Ideally, polybar would respect the width i3 configures for it, but that would break many existing setups that rely on non-full-width bars in i3 Fixes #3060
Hey, sorry to respond so late to this but yes I was using a compositor (picom) when I had this issue happen to me. I'll update polybar when I get a chance and I'll let you know if it resolved my issue. |
Checklist
Steps to reproduce
Have a bar under 100% width on the far left side of the screen.
Minimal config
Polybar log
Expected behavior
I want the bars under 100% width to only display once with output and to have no extra bars next to them. Only my desktop should be visible in the space that the empty bars are occupying. This screenshot is with polybar 3.6.3
Actual behavior
My under 100% width bars have empty bars repeating next to the bars that have output.
This screenshot is with 3.7.1
Window Manager and Version
i3 version 4.23
Linux Distribution
Linux 6.6.3-arch1-1
Polybar version
Additional Context / Screenshots
No response
The text was updated successfully, but these errors were encountered: