BeShadowed

Various KDE 1.-4. Improvements

Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net

10
7 .7
Description:

*** THIS IS COMPLETELY OUTDATED ***

Current versions of KWin have a dfferent shadow system since 4.7
This is only kept for legacy reasons.

DO NOT USE IT ON THOSE.


Since the Oxygen decoration paints it's own shadows, the shadow plugin got pretty stepchilded.

a) it's horribly imperformant (if I play a video it's causing ~2/3 of the kwin cpu load...)
b) it's broken with XRender & translucency
c) it could use some more options ;-)
d) The heavy exponential shadow is maybe nice, but neither realistic (real shdows cast rather sharp borders), nor effective (most of the HUGE shadow is so much translucent that you can hardly see anything of it...)

So I started to work on it.
Not much of a help for oxygen, but most other decorations (QtCurve has deco shadows as well), consistent and (hopefully) less artefact prone ;-P

Ultimately this should go back upstream but testing outside the release cycle won't hurt - i assume :)

Version 0.1 performance is up to decoration shadows for one window (heavy repaints in a video) but doesn't scale as good, there also might be artefacts left (didn't see any though) but good enough for a first version, i hopefully can speed up things even more
Last changelog:

9 years ago

0.8a
----
- git master GL support, nothing else (notice that kwin 4.7 will have a revamped shadow system anyway)

0.8
----
- fix popup clipping when no desktop window is in use (corner case)
- fix XRender shadows for tiny windows

0.7
---
- add property support to force shadows
- add launcher script to run chromium with this property
- add flag for translucent decorations (aurorae, oxygen) to fix "corner" artefact (will be autodetected with 4.5, but not "implemented" yet)

0.6
---
- fix skip conditions (override property, undecorated ARBG windows)

0.5
---
- fix remaining artefact (with fading windows that exceed the screenarea)
- avoid some useless shadow paints with translucent windows (though quite a corner case)
- add new shot to show off tronhalo mode ;-)

0.4
---
- fix tiny window shadows better ;-)
- fix property system*
- optionally skip maximized windows (on by default, makes sense depending on your desktop setup)
- skip fullscreen windows (e.g. when not redirecting)

* the shadows are supposed to support a _KDE_SHADOW_OVERRIDE property - but they didn't ;-P
set with e.g.:
xprop -f _KDE_SHADOW_OVERRIDE 32a -set _KDE_SHADOW_OVERRIDE 1
unset with:
xprop -f _KDE_SHADOW_OVERRIDE 32a -remove _KDE_SHADOW_OVERRIDE

0.3
----
- even more performance ;-)
- Halo mode
- "fixed" shadow painting for tiny windows and large fuzzyness

0.2
----
++performance;
--artefacts;
* custom colors for active windows (but using plain QPalette::Shadow as default for both and the moment - we'll have to use sth. like additive painting for _real_ halos -> 0.3 ;-)

C

thomas12777

10 years ago

errr stunning...
seems libGL was not propagated to ldconfig
if there was an installation problem, you can run "sudo ldconfig" to update cache & database

in doubt, just replace "GL" at the end of CMakeLists.txt:20 by "/usr/lib/libGL.so" that should do, but propagating GL to ld is the more "proper" solution...

Report

linuxfever

10 years ago

thanks, doing "sudo ldconfig" did not help.

I changed the "GL" to "/usr/lib/libGL.so.1" and it worked. Thanks again!

Report

linuxfever

10 years ago

by the way, could you please tell me the names of thw widgets on the second screenshot?

Report

C

thomas12777

10 years ago

Humm?
The clock is BeClock (kwin plugin) and the sysinfo thing is conky - i don't use plasma :-)

Report

MountainX

10 years ago

Thanks for all your great work. I would not want to use KDE without Bespin and shadow effects. :)

Report

Atermoon

10 years ago

This looks really promising, and even more considering how slow the kwin shadow plugin is, however I can't get it to compile on KDE 4.5.

Here's the output: http://pastebin.com/EDq9RcDQ

Thanks.

Report

C

thomas12777

10 years ago

that's not about KDE 4.5 - you lack two headers from Xorg (Xfixes.h & Xrender.h)

ensure you've installed the xorg-dev package and (in case you already had that) look out for possibly additional xorg related dev packages (like "xorg-extesions-dev" or whatever...)

Report

Atermoon

10 years ago

Wow, thanks for the fast reply! Installing xorg-dev did the trick. Got a couple of warnings but that was it, it works just perfect.

I'd like to give you some feedback but I just can't think of anything that can be improved right now - awesome job!

Thanks again :)

Report

AlejandroNova

10 years ago

Will you add KDE 4.5 support? Thanks in advance ;).

Report

C

thomas12777

10 years ago

hmm? my latest trunk compilation is slight older than the 4.5 beta, but beshadowed compiled w/o problems. (the effect API version increase, so you cannot use an effect compiled for 4.4 on 4.5)

please mail me a make output (make 2>&1 | tee make.log)

Report

AlejandroNova

10 years ago

It's short enough to be published here.


[ 0%] Built target kcm_kwin4_effect_beclock_automoc
[ 14%] Building CXX object CMakeFiles/kcm_kwin4_effect_beclock.dir/beclock_config.o
/home/faeris/Descargas/beclock-kwin-fx/beclock_config.cpp:28:28: error: kephal/screens.h: No such file or directory
/home/faeris/Descargas/beclock-kwin-fx/beclock_config.cpp: In constructor 'KWin::BeClockConfig::BeClockConfig(QWidget*, cons$
/home/faeris/Descargas/beclock-kwin-fx/beclock_config.cpp:88: error: 'Kephal' has not been declared
make[2]: *** [CMakeFiles/kcm_kwin4_effect_beclock.dir/beclock_config.o] Error 1
make[1]: *** [CMakeFiles/kcm_kwin4_effect_beclock.dir/all] Error 2
make: *** [all] Error 2

Report

C

thomas12777

10 years ago

that's a compile log from beclock.
in that case you're missing kephal headers (and library)

i don't see why it should not be present (unless you need to install some extra dev package, it's usually part of kdebase/workspace - just like kwin) but if you're not using several monitors, you could just skip it (i'll add a cmake flag for later versions)

Report

AlejandroNova

10 years ago

You must be right. Until recently BeShadowed was spitting similar error messages. But I now tried to compile BeShadowed and compiled with only a warning, so my bad.

I don't know why I don't have that file, because kdebase-workspace-devel was installed.

Thank you for your time! ;)

Report

alecs1

10 years ago

Installation on Debian Unstable doesn't work right away. You need change the installation prefix from /usr/local to /usr to get the plugin visible in systemsettings.

Report

C

thomas12777

10 years ago

did you use the configure "script"?
what does "kde4-config --prefix" reply?

Report

alecs1

10 years ago

Hi, no I didn't run the configure :) Just saw CMakeList.txt and never minded anything else.

kde4-config --prefix returns /usr

Thank you for the plugin.
Alex

Report

9

srog

10 years ago

When clicking the "dowload sources" button.

http://kde-apps.org/content/download.php?content=121607&id=1&tan=51992954

The sources are: 121607-beclock-kwin-fx-0.7.tbz.


Report

C

thomas12777

10 years ago

yes, fixed.
many thanks to you as well.

Report

bitcrazy

10 years ago

Hello Thomas,

looks like you've packaged beclock instead of beshadowed.

m0nk

Report

C

thomas12777

10 years ago

ehe... sorry. (just looked for the 0.7 - maybe i should clean up my source folder)

uploaded the proper file, many thanks for the notice.

Report

takanowaka

10 years ago

hi.. i tried beshadowed with aurorae (you have to turn aurorae shadows off in the first place) and there are some interesting* artefacts painted
see the screenshot http://img696.imageshack.us/img696/4643/snapshot13.png
*interesting because as you can see they are painted only when decoration/background is black and halo is white (firefox,bottom of systemsettings) but when deco is black and halo/background is white they are not there (upper part of systemsettings)
any idea where can be the problem? ;)

Report

C

thomas12777

10 years ago

you'll have to check "draw behind windows" as Arorae isn't masked and atm there's no alignment to ARGB deco content (i'm not even sure whether this is possible at all)

a possible solution might be to add support for a "deco roundness" value...

Report

takanowaka

10 years ago

hey.. i tried 0.7 with aurorae again but without results.. am i doing something wrong? ;) (btw i got it from repo.. dunno if this could affect anything)
http://img146.imageshack.us/img146/9804/snapshot16.png

Report

C

thomas12777

10 years ago

Hmmm, in case you didn't forget to restart kwin, this seems to be an Aurorae thing (like it paints fixed shadow parts to match the default shadows - i'd have to check it's code - or ask Martin ;-)

I wrote this to fix a bug report on Oxygen and tested with Bespin (disbaled masking locally) - both works, but i've actually never tested it against Aurorae :-\

Report

takanowaka

10 years ago

artefacts again (ktorrent & desktop settings main) i wouldn't mind this because i can only reproduce it when switching focus of two windows 5 times or so (and after that any action removes them) but it's with kwin deco.. crystal to be precise.. so maybe the reason behind those artefacts in aurorae is the same.. btw i can reproduce it with "deco uses translucency" enabled and disabled
http://img96.imageshack.us/img96/2241/snapshot17hu.png

Report

9 years ago

0.8a
----
- git master GL support, nothing else (notice that kwin 4.7 will have a revamped shadow system anyway)

0.8
----
- fix popup clipping when no desktop window is in use (corner case)
- fix XRender shadows for tiny windows

0.7
---
- add property support to force shadows
- add launcher script to run chromium with this property
- add flag for translucent decorations (aurorae, oxygen) to fix "corner" artefact (will be autodetected with 4.5, but not "implemented" yet)

0.6
---
- fix skip conditions (override property, undecorated ARBG windows)

0.5
---
- fix remaining artefact (with fading windows that exceed the screenarea)
- avoid some useless shadow paints with translucent windows (though quite a corner case)
- add new shot to show off tronhalo mode ;-)

0.4
---
- fix tiny window shadows better ;-)
- fix property system*
- optionally skip maximized windows (on by default, makes sense depending on your desktop setup)
- skip fullscreen windows (e.g. when not redirecting)

* the shadows are supposed to support a _KDE_SHADOW_OVERRIDE property - but they didn't ;-P
set with e.g.:
xprop -f _KDE_SHADOW_OVERRIDE 32a -set _KDE_SHADOW_OVERRIDE 1
unset with:
xprop -f _KDE_SHADOW_OVERRIDE 32a -remove _KDE_SHADOW_OVERRIDE

0.3
----
- even more performance ;-)
- Halo mode
- "fixed" shadow painting for tiny windows and large fuzzyness

0.2
----
++performance;
--artefacts;
* custom colors for active windows (but using plain QPalette::Shadow as default for both and the moment - we'll have to use sth. like additive painting for _real_ halos -> 0.3 ;-)

12345678910
8
product-maker deabru Jul 04 2011 9 excellent
product-maker axed May 16 2011 9 excellent
product-maker srog Feb 15 2011 9 excellent
product-maker juank202 Jan 31 2011 9 excellent
product-maker sxe Jan 30 2011 9 excellent
product-maker FSchulz Jan 28 2011 9 excellent
product-maker TommyCZ Jan 08 2011 9 excellent
product-maker TheRob Oct 17 2010 9 excellent
Be the first to comment
olegue
Sep 09 2011
axed
May 16 2011
marcotangaro
Jan 30 2011
AlejandroNova
Jun 07 2010
mbluethgen
May 04 2010
MoonBlossom
Apr 11 2010
squall38
Mar 25 2010
TheRob
Mar 16 2010
deabru
Mar 15 2010
lordlukas
Mar 15 2010
File (click to download) Version Description PackagetypeArchitecture Downloads Date Filesize DL OCS-Install MD5SUM
*Needs pling-store or ocs-url to install things
Pling
0 Affiliates
Details
license
version
0.8a
updated Feb 14 2011
added Mar 14 2010
downloads 24h
0
mediaviews 24h 0
pageviews 24h 1