Bug 199869 - Plasma cannot paint wallpaper in rgba since 4.3
Summary: Plasma cannot paint wallpaper in rgba since 4.3
Status: RESOLVED UNMAINTAINED
Alias: None
Product: plasma4
Classification: Plasma
Component: wallpaper-image (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR wishlist
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-07-12 14:22 UTC by Nathanael Schilling
Modified: 2018-06-08 20:23 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Adds an hidden option to set translucent background for desktopview (patch against kdebase-workspace-4.3.1) (2.51 KB, patch)
2009-10-01 18:35 UTC, WEARENOTALONE
Details
Adds an hidden option to set translucent background for desktopview (patch against trunk rev1027876) (2.55 KB, patch)
2009-10-01 18:37 UTC, WEARENOTALONE
Details
Adds an hidden option to set translucent background for desktopview (patch against kdebase-workspace-4.3.1) (2.51 KB, patch)
2009-10-01 18:38 UTC, WEARENOTALONE
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nathanael Schilling 2009-07-12 14:22:02 UTC
Version:           Plasma Workspace: 0.3 (using KDE 4.2.95)
OS:                Linux
Installed from:    Ubuntu Packages

In kde 4.1 and 4.2, it was possible to specify the wallpaper color to 0,0,0,0 in plasma-appletsrc which mean that plasma painted a transparent wallpaper. This made it possible to use an alternative application to plasma to paint the wallpaper. This was especially useful to compiz users because it meant they could use the "Wallpaper" plugin in Compiz to paint a separate wallpaper per viewport. In 4.1 and 4.2 (since trunk revision #786352) this worked very well (see http://forum.compiz-fusion.org/showthread.php?t=7519&page=1 for examples), but in 4.3 it is no longer possible, as setting the wallpaper color to 0,0,0,0 causes plasma to paint a black background. wallpaperrendederthread.cc in kdelibs/plasma/private/ still seems to use rgba which leads me to assume that the problem might be somewhere between reading the configuration files and actually rendering the wallpaper, though I could very well be wrong.

To Reproduce: 
1)startup plasma with a fresh configuration.
2) set the wallpaper to be a color, and use an arbitary color.
3) quit plasma
4) replace all recurrences of the color in the plasma config files with 0,0,0,0
5) start plasma and compiz
6)
Comment 1 Nathanael Schilling 2009-07-12 14:25:16 UTC
(Sorry, pressing space somehow submitted the bug even though I didn't finish the bug report)

6) load the Wallpaper plugin in compiz, and set multiple wallpapers.

Expected result : The Wallpaper drawn by compiz is seen
Actual result : The Wallpaper is not seen
Comment 2 WEARENOTALONE 2009-09-25 20:42:06 UTC
Hello,
after searching the whole day, but finally i found workaround and the reason for this bug. You have to revert this little patch: http://websvn.kde.org/?view=revision&revision=928340

At Debian Squeeze you can find this file in the kdebase-workspace-4.3.1 package under plasma/shells/desktop/desktopview.cpp (http://packages.debian.org/squeeze/kdebase-workspace-bin).

Please give me some feedback on this.

Sincerely yours,
WANA
Comment 3 Marco Martin 2009-09-27 19:39:59 UTC
setting the desktop window as ARGB makes plasma a bit slower, because triggers more copying around of pixmaps
Comment 4 WEARENOTALONE 2009-09-28 17:43:56 UTC
Maybe this could be implemented as an option in a configfile like the wallpapercolor=0,0,0,0 option (default: speed => no background transparency). Would the kde developers accept this?
Comment 5 Beat Wolf 2009-09-28 20:42:05 UTC
i suppose if you develop it as a hidden option that does not affect at all the rest of plasma, you have probably quite a good chance to get it accepted (and it should actually not be that hard to develop)
Comment 6 Nathanael Schilling 2009-09-29 18:50:49 UTC
I haven't looked at the actual code involved, but would it be (theoretically) possibly to integrate this into a plasma wallpaper plugin?
Comment 7 WEARENOTALONE 2009-10-01 18:35:31 UTC
Created attachment 37300 [details]
Adds an hidden option to set translucent background for desktopview (patch against kdebase-workspace-4.3.1)
Comment 8 WEARENOTALONE 2009-10-01 18:35:58 UTC
I implemented it as an hidden option named "translucentBackground" (because of Qt::WA_TranslucentBackground) in ~/.kde/share/config/plasma-desktoprc (example) :

...
[PlasmaViews][34]
DashboardContainment=0
translucentBackground=true
...

The default value of translucentBackground is false, because this is the default behavior at the moment. Attached to this comment are two patches, one against the Debian kdebase-workspace-4.3.1 source package and one against trunk (revision 1027876). The patch against kdebase-workspace-4.3.1 works fine for me, but the patch against trunk is untested!

Feel free to give me some constructive criticism :)

Best Regards,
WANA
Comment 9 WEARENOTALONE 2009-10-01 18:37:37 UTC
Created attachment 37301 [details]
Adds an hidden option to set translucent background for desktopview (patch against trunk rev1027876)
Comment 10 WEARENOTALONE 2009-10-01 18:38:21 UTC
Created attachment 37302 [details]
Adds an hidden option to set translucent background for desktopview (patch against kdebase-workspace-4.3.1)
Comment 11 Beat Wolf 2009-10-01 18:42:36 UTC
could you please submitt this patch on reviewboard.kde.org ? please also mention this bugnumber there.

Nice work by the way
Comment 12 Beat Wolf 2009-10-01 18:45:56 UTC
and i forgot, please mention if you have or don't have a svn account on reviewboard.
Comment 13 WEARENOTALONE 2009-10-01 20:11:18 UTC
You can find my review request here: http://reviewboard.kde.org/r/1755/

I just created a new regular account at reviewboard.kde.org, but i dont know if it is also a svn account (dont think so).
Comment 14 Nate Graham 2018-06-08 20:23:14 UTC
Hello!

This feature request was filed for KDE Plasma 4, which reached end-of-support status in August 2015. KDE Plasma 5's desktop shell has been almost completely rewritten for better performance and usability, so it is likely that this feature request is already implemented in Plasma 5, or is no longer applicable.

Accordingly, we hope you understand why we must close this feature request. If the requested feature is still desired but not implemented in KDE Plasma 5.12 or later, please feel free to open a new ticket in the "plasmashell" product after reading https://community.kde.org/Get_Involved/Bug_Reporting

If you would like to get involved in KDE's bug triaging effort so that future mass bug closes like this are less likely, please read https://community.kde.org/Get_Involved#Bug_Triaging

Thanks for your understanding!

Nate Graham