KWin drop shadow patches

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

0
Score 50.0%
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:

16 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

16 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

16 years ago

Seconded. Please someone port this to 3.2

Report

crow

16 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

16 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

16 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

16 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

C

Deciare

16 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

16 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

17 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

17 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

C

Deciare

17 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

17 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

17 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

Richardve

17 years ago

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

Report

C

Deciare

17 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

ntesa

17 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

C

Deciare

17 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

17 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

17 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

C

Deciare

17 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

17 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

17 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

17 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

C

Deciare

17 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

17 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

16 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.

12345678910
product-maker Base: 4 x 5.0 Ratings
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.6.3a
updated Aug 02 2003
added Apr 09 2003
downloads 24h
0
mediaviews 24h 0
pageviews 24h 8