KWin drop shadow patches
Various KDE Extensions
Score 70%
Description:

These are patches against KDE CVS and KDE 3.1.3 to make KWin able to draw configurable drop shadows under any window--including windows with no window decoration, Noatun with K-Jofol skins, empty Karamba windows, you name it! Drop shadows for active and inactive windows can be configured separately. Drop shadows may also be enabled or disabled for each individual window.

The 0.6.x series is _much_ faster than the 0.5.x series, but still lags on windows with very complex shapes (like the Noatun skin in the 1st preview screenshot). Around 12 seconds on my PIII/800 in the worst case scenario (no cached shadow, low on memory, and CPU already under 100% load). Less than a quarter second in the best case.
Last changelog:

14 years ago

0.6.3a:
- don't show Shadow item in menu when shadows aren't enabled globally
- gray out Shadow item in window menu when shadows are enabled globally but not for that type of window (i.e. if shadows are enabled but not for override windows, the Alt+F3 menu in KNotes will show Shadow as a grayed out menu item). As confusing as that description sounded, it may clarify things in the long run

0.6.3:
- shadows can now be enabled or disabled for individual windows through the window menu (right-click on titlebar or Alt+F3)
- window-specific shadow enabled/disabled setting can be saved across sessions
- Client::setShadowed(bool) public function can be used to enable or disable shadows for individual windows
- fixed bug in KControl module where opacity may be shown as 1% less than what's in the config file
- slightly improved shadow gradient; very thin shadows are now more visible
- updated for KDE 3.1.3

Refer to the CHANGELOG file in the package for changes in older versions.

snakattak3

13 years ago

any chance of a new patch reflecting all the changes in kwin in kde-cvs. Right now i'm using 3.2 beta 1 from cvs, and the 0.6.3a patch isn't working.

Report

nbensa

13 years ago

Seconded. Please someone port this to 3.2

Report

crow

13 years ago

Hi.
I love the effect you created. However, I followed the instucts carefully, but the patch failed to apply properly. I had a lot of hunks fail. I'm running 3.1.4 compiled with konstruct. I applied the:
kdebase.kwin-kwin_shadow.patch to:
~/konstruct/kde/kdebase/work/kdebase-3.1.4/kwin
I'm wondering how I went wrong. Anyone have have any suggestions?

Report

ox2

13 years ago

First: Looks great! Nice job :)

It would be cool if the shadow got larger and weaker when you were dragging the window, as if you were lifting it up from the desktop.

Report

snakattak3

14 years ago

damn, I'm away from my computer for a week. I can't wait to get back home to try this new version out. I see you took my requests too from last time :) Hope they didn't give you too much trouble. Thanks again for the hard work and i'll let you know how it works, just in time too for kde 3.1.3 :)

Report

snakattak3

14 years ago

This is fantastic. I just patched kde 3.1.2 using your version 0.6.2 and it seems to work pretty good. I like how you fixed the rounded shadow corners on the bottoms of windows. A few other patches (maybe yours or someone elses) i've seen on kde-look had a wierd notch in the corners of the window shadows, looks excellent now. Keep up the good work. I can only suggest one thing, you should have an option for each window (ala right->click like to shade a window or place it always on top) that can disable or enable shadows. The reason i say this is because there are some karamba themes i'd like shadows for, and some not. Just a suggestion, keep up the excellent work. You are bringing more eye kandy to our favorite desktop :)

Report

Deciare

14 years ago

That's an interesting suggestion and shouldn't be difficult to implement, but how would you access the menu when there's no titlebar on Karamba windows?

You could use Alt+F3, but that's less than obvious.

I could make a context menu for right-clicking on a shadow, but that'd defeat the purpose of passing through clicks to the window underneath. Hmm...

Report

snakattak3

14 years ago

I guess i didn't think about karamba not having a tile bar. But maybe something along the lines of a hotkey or something to turn of window shadows when you click the window. It might be kinda hard to do somethimg like that though. Maybe talk with the karamba developers and find out what would be the simplest way to go at it from your perspective. Thanks again and keep u pthe good work.

Report

texstar

14 years ago

I got the patch this morning and patched it into kde 3.1.2 and it works perfect so far. Thank you for your good work on kde.

Report

ntesa

14 years ago

Hey texstar, could you post some patched KDE 3.1.2 Mandrake rpms on one of your mirrors, please? :) There's also another nice patch for desktop icon text shadows over here, if you wanna try to patch it to KDE 3.1.2:

http://www.kde-look.org/content/show.php?content=4750

Many thanks for all your great work.

Report

Deciare

14 years ago

In case you're wondering why the 2nd screenshot link doesn't work, replace the ".png" extension in the URL with a ".jpg" extension. I have no clue why it didn't update the filename properly.

Report

Gulliver

14 years ago

I'd like to use this patch, but it isn't available for kdebase-3.1.2 - Could you possibly do a new version of the patch?

Report

mriya3

14 years ago

TransluXent is an implementation of an X Server which uses OpenGL for what would be the graphics card driver. As such it can easily offer translucent windows.

http://rzstud1.rz.uni-karlsruhe.de/~unk6/transluxent/index.html

Report

Deciare

14 years ago

Yes, that looks very promising. I might use it, too, if I knew anything about drawing pixmaps without going through Qt's considerably-easier-than-Xlib functions. I guess I'll play with it a bit and see what comes up...

Report

Richardve

14 years ago

That was just an hack and it's already dead.

Report

ntesa

14 years ago

I really like your patch, but I was wondering about breaking binary compatibility. Would it break BC only with the kwin styles or with other parts of KDE as well? I'm running Mandrake 9.0 and KDE 3.1.0 and I was thinking just to apply this patch to the kdebase package, but I'm not sure what else I'd have to recompile if this patch breaks binary compatibility. Thanks.

Report

Deciare

14 years ago

An older version of the patch would have broken binary compatibility with kwin styles only. 0.6.1 doesn't break BC at all. ^_^

I don't think it'll apply cleanly against KDE 3.1.0, though.

Report

Richardve

14 years ago

You might want to try using XRender to speedup the drawing..

(the most used color formats are accelerated when using the official NVIDIA Linux driver (and experimental support for XRender is enabled))

Report

yagami

14 years ago

your shadows are really nice :)

but i would like to have shadows in all the windows ( active and inactive)

but the redraw ( even when shadows are configured equaly ) isnt very good when you change focus over a window

could you fix that you can change the focus of a window , but the shadows woundnt redraw ?!

( by focus i mean , active state and inactive state )

Report

Deciare

14 years ago

I agree completely, shadows shouldn't be redrawn for something as simple as changing the active window!

Unfortunately, not redrawing would mean painting a second shadow on top of the one that's already there, which would be far less attractive than a mild flicker.

I'm looking forward to real translucency in X like everyone else.

Report

manor

14 years ago

Very good job Deciare ! Your screenshots look a lot better than the in the last version :)

You reached a visual quality level that is at least equal as the mac shadow !

Wow ! Thanks a lot !

Report

nbensa

14 years ago

Next time, please, use unified diff (diff -urN old/ new/) That'll help me make an ebuild for Gentoo :-)

--- client.cpp.orig 2003-04-07 17:44:02.000000000 -0400
+++ client.cpp 2003-05-07 19:53:58.000000000 -0400
@@ -4,6 +4,7 @@

Thanks,
Norberto

Report

yf12s

14 years ago

I really like what you've done. Can you tell me if the KDE Core Developers are considering your code for inclusion in kdebase for version 3.2? I can't wait to see it merged. If they aren't, I want to write to them because this is really taking shape, even with your recent speed boosts.

Report

Deciare

14 years ago

I haven't asked on the KDE mailing lists, but from reading http://developer.kde.org/documentation/library/kdeqt/kde3arch/devel-binarycompatibility.html,
I don't think they're too keen on incorporating something that's broken binary compatibility 3 times over the past 3 months into the main KDE distro.

I'm reasonably confident that I won't have to break BC again, and I'll spend some time soon to see whether I can make it fully binary compatible with CVS HEAD (and, hopefully, the 3.1.x branch as well).

Report

jaasu

14 years ago

I think that there are some ways to
make it work better
Xfree supports some accelerated features
and for example very nice irc application
KVIrc http://www.kvirc.net/
seem to do transparency very fast.

Report

14 years ago

0.6.3a:
- don't show Shadow item in menu when shadows aren't enabled globally
- gray out Shadow item in window menu when shadows are enabled globally but not for that type of window (i.e. if shadows are enabled but not for override windows, the Alt+F3 menu in KNotes will show Shadow as a grayed out menu item). As confusing as that description sounded, it may clarify things in the long run

0.6.3:
- shadows can now be enabled or disabled for individual windows through the window menu (right-click on titlebar or Alt+F3)
- window-specific shadow enabled/disabled setting can be saved across sessions
- Client::setShadowed(bool) public function can be used to enable or disable shadows for individual windows
- fixed bug in KControl module where opacity may be shown as 1% less than what's in the config file
- slightly improved shadow gradient; very thin shadows are now more visible
- updated for KDE 3.1.3

Refer to the CHANGELOG file in the package for changes in older versions.

product-maker 66 165

File (click to download) Version Description Filetype Packagetype License Downloads Date Filesize OCS-Install DL
Details
version
0.6.3a
updated Aug 02 2003
added Apr 09 2003
downloads today
0
page views today 0