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:

KDE 3.2/3.2.1/3.2.2 port of the patch that gives KWin the ability to put a shadow, halo, or other hazy-with-roughly-the-same-shape type object, of any colour, under any window.

Now with an experimental addition that sort-of-kind-of allows windows to update other windows' shadows when something changes! Specifically, when a Qt/KDE app's window's content is scrolled.

Good fun for all the family, unless you happen to live completely in the dark, in which case shadows might be a frightening and alien concept.
Last changelog:

16 years ago

0.8.0
- add DCOP interface for other programs to interact with shadows (many thanks to Thomas Lübking for implementing this):
- setShadowed(unsigned long window, bool shadowed):
- activates or deactivates a specific window's shadow
- updateOverlappingWindows(unsigned long window):
- redraws all shadows covering a specific window
- experimental patch for KStyle to make drop shadows update when a window (that isn't on top) is scrolled
- fix needless redraw of all shadows when desktop is focused
- fix needless redraw of shadow when Meta- or Alt-clicking in a window that's already active and raised
- add patch KDE 3.2.2

0.7.2
- fix undisable-able shadow
- fix loading of shadow enabled/disabled setting from session info
- fix top menu's disappearence

0.7.1
- fix problems related to Focus Follows Mouse mode:
- fix visual artifacts caused by deactivated window's shadow overlapping active window's shadow when a window is activated but not raised
- fix outdated shadows of windows overlapping the active window when a window is activated but not raised
- fix outdated shadow when a window that was activated but not raised, is raised
- fix outdated shadow when a transient window's parent is unshaded behind the transient window

0.7.0
- forward port to KDE 3.2
- move Shadow window option into Advanced submenu
- erm... I forget? :P Had to change a lot of small details to make it work with
KDE 3.2, so I'm really not keen on recalling it all...

inckie

13 years ago

Is it possible to release a patch for KDE 3.5.3? I happen to have an ATI graphics card, which doesn't like Xorg... >:^(

Report

LhRt

14 years ago

I would like to know if a Mandriva RPM file is available for this patch. I tried many many time and i have always a error when i install this one.

Report

zuxez

15 years ago

hey guys (and girls ;)

the patch for kde3.3.0-final will be released this weekend - at least i think so. well, i've fixed some minor shadow glitches and needless redraws. but there's still an glitch which is reproducible all the time. the good news: i know whats causing the glitch - the bad news: fixing this would cause more redraws/performance or it would need checking the order of the clients :/ (maybe i'll think about that more intensive, tomorrow)
i tried to give a more complete shadow-updating in kstyle, but QScrollView updates in applications aren't recognized and forwarded as they should :/

one more 'bad' news. this could be the last patch for kwin utilizing these shadows. the reason will be explained with the release.

i'm going to sleep now... good night :)

Report

moriarty

15 years ago

Hi everybody,
Can somebody help me to setup this patch, i'm newer and i don't know how to setup a patch, thanks in advance

Report

zuxez

15 years ago

1. get yourself a matching source-package of kdebase (and if you want the click-through-shadow-feature you need kdelibs too)
2. unpack 'em
3. cd into kdebase-x.x.x and do:
patch -p0 < kdebase.kwin.patch
(and for kdelibs: cd kdelibs-x.x.x/kdefx
and do patch -p0 < kdelibs.kwin.patch
4. configure, make, make install etc.
(i think kdelibs needs to be completely recompiled, but kdebase can be done by cd kwin && make && make install after ./configure)

hmm i missed to put the readme into the patch-archive :/
but in the file on this side here there is an readme/install describing the install procedure. you can have a look at this...

and please, do a click on [good] at the vote for this project. thanks :)

Report

moriarty

15 years ago

THanks for the quick answer, I'm getting the kde source right now, it's the 3.2.3, i hope not to crash any think :-) .
thnks zuxez nice job

Report

zuxez

15 years ago

well, you'll need the sources of the same version as the kde already installed. otherwise, there
might be corruptions. but you can replace kde completely by a newer version. 3.3.0 final should be
released in the next 7 days (can't remember the actual date)

and you have to take the patch for kde-3.2.3. the link should be some posts before or just click
here:

http://mitglied.lycos.de/waitandbleed/kdebase.kwin-kwin_shadow-3.2.3.patch
thats only the kwin-patch. the kdefx-patch is located in the file from deciare himself (with the
readme and the whole other stuff)

note: with the final release of kde 3.3 (and me being back in berlin) i will do a new content-page containg at least actual 3.3-patches and maybe 3.2.3 too

Report

zuxez

15 years ago

for 3.3.0_rc2 take this one:

http://mitglied.lycos.de/waitandbleed/kde.kwin_shadow-3.3.0_rc2.tar.bz2

they've only f**ked up the ruleswidgetbase.ui and two other lines of code ;)

patch should apply without ANY fuzz/offset/error message :)
atleast it does so here ;)

ok i'm on vacation for on and a half or two weeks, so don't expect much interactivity from my side...but i'll have a look

in the meanwhile i will continue coding on this:

http://mitglied.lycos.de/waitandbleed/current_work.jpg

yeah i know, not the best (i'm a design misstalent ;), but i like it, and its my first kwindeco :)

hey guys, please vote with a good for this project here. we wanna stay no 1, don't we? :)

Report

guppetto

15 years ago

I know exactly how to apply this patch if I build KDE myself, but I've installed Mandrake 10 and the default kde directory setup is located in /usr. That being said, urpmf kdefx provides the following:

libkdecore4:/usr/lib/libkdefx.la
libkdecore4:/usr/lib/libkdefx.so.4
libkdecore4:/usr/lib/libkdefx.so.4.2.0
libkdecore4-devel:/usr/lib/libkdefx.so

and

(/usr/lib:$)-> ls | grep kwin*

libkdeinit_kwin.la*
libkdeinit_kwin.so*

provides the following. Am I going to have to compile the Standard KDE lib source files to get the patch to work. I dont wont to install them on top of Mandrake 10. I would rather patch Mandrakes version of the KDE libs (they like to modify the files a bit), but I'm not sure where to find the source files with Mandrake. Does anyone have any suggestions.

Repeat. How do I apply this patch to Mandrake 10?

Report

zuxez

15 years ago

open the mandrake control center (i can't remember the name of it) an then go to software and then on install packages (maybe install/remove). and search for 'kde' and then look for a kdelibs- and kdebase-devel package.
these need to be installed, and then patched with this patch. should be installed in $KDEDIR/include

a little note: you don't need the kdelibs-patch if you don't want to use it. it just enables the click-through-the-shadow feature. but its very useful, especially when you use thik shadows (they cover a lot of useful clickarea :(

Report

guppetto

15 years ago

Thanks for the quick responce.

Report

zuxez

15 years ago

no problem. i'm glad that i could help :)

did it work?

Report

zuxez

15 years ago

sorry, posted the wrong link to the patch :(

here's the real one:
http://mitglied.lycos.de/waitandbleed/kde.kwin_shadow-3.3.0_beta2.tar.bz2

question: should an active shadow always be larger than an inactive? i'm asking, becaus if you scroll your wheel through an inactive shadowed window, it gets the active shadow but is _not_ raised. therefor its nearer to the desk than the inactive window on top...i think it looks kinda strange...what do you think?

and by the way: sorry for my english, that s**ks real hard ;)

Report

zuxez

15 years ago

this release includes:

*fix of the annoying bug (apply->nothing happens)
*added user-adjustable shadowdelay-time
*added kwin-rules support
(look at the screenshot for more on this)

the screenshot
http://mitglied.lycos.de/waitandbleed/features.jpg
the patch:
http://mitglied.lycos.de/waitandbleed/kde.kwin-kwin_shadow-3.3.0_beta2.patch.tar.bz2

enjoy :)

Report

zuxez

15 years ago

well lets summarize:

i've fixed the 'change-shadow-parameters-and-hit-the-apply-button-and-then-nothing-happens'-bug, but there's a new (?) problem: the kdelibs-patch seems to be broken, cause passing events to lower clients through the shadow doesn't work anymore :/
but lets see, if we can fix this too ;)

Report

nbensa

15 years ago

Yes, yes... I know it's a hack, but why can't kde devs apply this patch until xorg can draw "real" shadows?

Report

zuxez

15 years ago

cause the patch doesn't provide a clean api, an is kinda 'broken' at the moment (kde 3.3) theres need to fix some things which changed from kde 3.2 to kde3.3. and i don't think the kdedevs want to have a unfinished/not fully functional patch included...
but i'll have a look at the patch this week, but for now i need a rest...exams suck ;)

Report

zuxez

15 years ago

here we go:

http://mitglied.lycos.de/waitandbleed/kde.kwin-kwin_shadow-3.3.0_beta2.patch.tar.bz2

Report

wwwonka

15 years ago

What I haven't seen yet is a permanent shadow even when moving the focused window (as in the MacOSX shadows). You move a window now and the shadow disappears and gets redrawn when done moving.

Kind of annoying to the eye.

Report

zuxez

15 years ago

thats right, but the problem is, that the shadows and their transparency are totally faked, because the xserver doesn't support alpha-transparency (yet?). the macos thingy supports that, so everything there is done by opengl and hardware-accel...shadows, menus, transparency...so macos supports 'real' transparency while all transparencies on the xserver are faked by taking a part of the background, tint/fade/style/etc it and put it in the app...

i thought about using opengl-shadows, but i don#t think i would work very well...but let#s see ;)

Report

zuxez

15 years ago

sorry, i've forgotten a bit: our problem is, that taking the wallpaper cutting the part out we need for the shadow and update the shadow, takes a lot of cpu-time. when we would let the shadows stay there all the time, we would have two possibilities: old shadow-content when moving and update on halt, or continous updating while moving, which would have a large cpu-overhead - who want's that?

i hope freedesktop's xserver will be ready in a while, that one supports transparency from the server-side and therefor cool shadows :) but the thingy is not running over here :/

take a look:
http://www.freedesktop.org/Software/xserver
http://freedesktop.org/~keithp/screenshots/

Report

zuxez

16 years ago

it's enough to make this:

tar jxf kdebase-x.x.x.tar.bz2
cd kdebase-x.x.x/kwin
patch -p0 -s <
cd ..
./configure --your-famous-args
cd kwin
make
su -c make install

so there's no need to recompile kdebase completely (i hope so *g* ;)

Report

zuxez

16 years ago

it's working over here...
the only thing thats buggin' me, is that we need to move a window around after changing the shadow-properties, because the shadows aren't redrawn...i'll have a closer look on that after my exams...hopefully ;)

so try it out if you want:
http://mitglied.lycos.de/waitandbleed/kde.kwin.dropshadow.patch-3.3.0_beta1.tar.bz2

thanx to the author for that great piece of code :)

Report

is0

16 years ago

Patch for KDe 3.3 Beta1:

http://is.actus.ru/patches/kdebase.kwin-kwin_shadow-0.8-3.3.beta1.patch
(~120Kb, sorry I can not host binaries)

It has small bug(as described above):
if you click on desktop shadow of prev active windows disappears (even if you turn on shadows for nonactive windows).

But it usable and cool. :)

PS. Can somebody update content or we have to add new?

Report

zuxez

16 years ago

do you have the kdelibs.kdefx-patch applied as well? i thought it would be the cause for the bug...so your answer could save me a kdelibs-recompile :)

Report

16 years ago

0.8.0
- add DCOP interface for other programs to interact with shadows (many thanks to Thomas Lübking for implementing this):
- setShadowed(unsigned long window, bool shadowed):
- activates or deactivates a specific window's shadow
- updateOverlappingWindows(unsigned long window):
- redraws all shadows covering a specific window
- experimental patch for KStyle to make drop shadows update when a window (that isn't on top) is scrolled
- fix needless redraw of all shadows when desktop is focused
- fix needless redraw of shadow when Meta- or Alt-clicking in a window that's already active and raised
- add patch KDE 3.2.2

0.7.2
- fix undisable-able shadow
- fix loading of shadow enabled/disabled setting from session info
- fix top menu's disappearence

0.7.1
- fix problems related to Focus Follows Mouse mode:
- fix visual artifacts caused by deactivated window's shadow overlapping active window's shadow when a window is activated but not raised
- fix outdated shadows of windows overlapping the active window when a window is activated but not raised
- fix outdated shadow when a window that was activated but not raised, is raised
- fix outdated shadow when a transient window's parent is unshaded behind the transient window

0.7.0
- forward port to KDE 3.2
- move Shadow window option into Advanced submenu
- erm... I forget? :P Had to change a lot of small details to make it work with
KDE 3.2, so I'm really not keen on recalling it all...

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.8.0
updated Apr 29 2004
added Feb 06 2004
downloads 24h
0
mediaviews 24h 0
pageviews 24h 0