-
-
Notifications
You must be signed in to change notification settings - Fork 593
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
corrupted desktop background when root background is a pixmap with RetainTemporary #1081
Comments
does this happen with picom built from 7fc9436? |
I think this picom was built from dd85c3e. |
according to your picom version, yes. can you build it from 7fc9436 and check if the issue persists? |
|
This bug was also present in the version from |
is it possible to reproduce this behavior with |
No idea. The way that icewm restarts may create the proper conditions for this bug to occur? |
i tried one more time but i'm still unable to reproduce this issue. the only thing i could think of that could cause the described behavior is that under certain conditions icewmbg frees the pixmap the |
No, not with Did you try with a released icewm, like 3.4.0 or 3.3.5? |
Apparently a similar problem happens with Awesome WM (awesomeWM/awesome#3843 — the issue there is closed, but the problematic behavior can still be reproduced). And the problem is not related with how Awesome WM sets the root background (actually it happens when the Awesome WM configuration does not contain any wallpaper-related parts, so the WM does not try to change the root background during restart). In the Awesome WM case the problem happens when I first set the root background using either Also running |
Also I can reproduce this on NixOS with the 10.2 release (from
|
@sigprof hi i tried your steps on awesome, ( i do have |
The default screen.connect_signal("request::wallpaper", function(s)
awful.wallpaper {
screen = s,
widget = {
{
image = beautiful.wallpaper,
upscale = true,
downscale = true,
widget = wibox.widget.imagebox,
},
valign = "center",
halign = "center",
tiled = false,
widget = wibox.container.tile,
}
}
end) (Setting the wallpaper this way hides the problem, apparently because the |
@sigprof ok i see it now. |
my current guess is that, if a window is mapped and unmapped right away, its window is not added to damage. |
See code comments for details. Fixes #1081 Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
See code comments for details. Fixes #1081 Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
Yes, #1215 seems to work for me (with |
Environment
icewm window manager version 3.something on Linux.
picom version
vgit-dd85c
Diagnostics
**Version:** vgit-dd85cExtensions:
Misc:
(Another compositor is already running)
Drivers (inaccurate):
modesetting
Backend: glx
Backend: egl
[ 06/19/23 10:59:29.155 egl_init ERROR ] EGL version too old, need at least 1.5.
Cannot initialize this backend
Configuration:
Steps of reproduction
DesktopBackgroundImage="/path/to/same/background.jpg"
Alpha=1
Expected behavior
The desktop background should be identical to the background.jpg image.
Current Behavior
The desktop background is corrupted with partial areas of application windows. They disappear by moving a window over the corrupted areas.
When picom is not running this problem doesn't occur.
By setting a single background image, the icewmbg process install a root pixmap with the background image using
XSetCloseDownMode(display(), RetainTemporary);
and exits.The text was updated successfully, but these errors were encountered: