
KWin drop shadow patches
Source (link to git-repo or to original if based on someone elses unmodified work):
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.
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? 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...
Ratings & Comments
131 Comments
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... >:^(
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.
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 :)
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
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 :)
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
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
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? :)
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?
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 :(
Thanks for the quick responce.
no problem. i'm glad that i could help :) did it work?
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 ;)
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 :)
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 ;)
Yes, yes... I know it's a hack, but why can't kde devs apply this patch until xorg can draw "real" shadows?
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 ;)
here we go: http://mitglied.lycos.de/waitandbleed/kde.kwin-kwin_shadow-3.3.0_beta2.patch.tar.bz2
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.
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 ;)
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/
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* ;)
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 :)
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?
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 :)