You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
1.5 KiB
29 lines
1.5 KiB
This document lists changed needed for porting KWin decoration clients from KDE3 to KDE4: |
|
|
|
- the client needs to be ported to KDE4/Qt4 (obviously) |
|
- KCommonDecoration no longer inherits KDecoration, it only has the same API (it is |
|
source-compatible) - this means that generally there should not be any changes related |
|
to this needed, with the exception of converting from KCommonDecoration* to KDecoration* |
|
(most notably in createDecoration()) - call decoration() to do the conversion; |
|
for example, change |
|
" |
|
KDecoration* YourClientHandler::createDecoration( KDecorationBridge* bridge ) |
|
{ |
|
return new YourClientClient( bridge, this ); |
|
} |
|
" |
|
to |
|
" |
|
KDecoration* YourClientHandler::createDecoration( KDecorationBridge* bridge ) |
|
{ |
|
return ( new YourClientClient( bridge, this ))->decoration(); |
|
} |
|
" |
|
- KDecoration::workspaceWidget() has been removed, for drawing outlines in drawbound(), |
|
use code similar to example in the documentation for KDecoration::drawbound() |
|
- KDecoration::animateMinimize() and KDecoration::helperShowHide() have been removed, |
|
animations are now implemented only by KWin's compositing code |
|
- there are new AbilityColor* abilities you should add to supports() |
|
- Qt::WA_PaintOnScreen attribute is enabled for KDecoration::widget() in order to avoid |
|
extensive and unnecessary memory usage caused by the backing store. Double-buffer |
|
manually if necessary using a temporary QPixmap in paintEvent().
|
|
|