2003-09-16 19:41:07 +00:00
|
|
|
Just a checklist for now, maybe a full HOWTO later.
|
|
|
|
|
|
|
|
porting:
|
|
|
|
- note that decorations are ported from HEAD, not from the branch - HEAD may have fixes that are not in the branch
|
2003-09-17 14:23:53 +00:00
|
|
|
- Makefile.am - LDFLAGS, LIBADD, kwin_ -> kwin3_, if in kdebase, add INCLUDES for libkdecorations before $(all_includes)
|
2003-09-16 19:41:07 +00:00
|
|
|
- .desktop - kwin_ -> kwin3_
|
|
|
|
- KWinButton -> QButton + QToolTip
|
|
|
|
- #include qbutton.h, kdecoration.h, kdecorationfactory.h
|
|
|
|
- Client* -> MyClient* in button class, pass parent->widget() to QButton
|
|
|
|
- inherit from KDecoration instead of Client
|
|
|
|
- no internal kwin #include, no namespace KWinInternal
|
|
|
|
- ctor takes KDecorationBridge* and KDecorationFactory*
|
|
|
|
- WResizeNoErase atd -> pass to createMainWidget()
|
|
|
|
- ctor is empty, all initialization done in init()
|
|
|
|
- createMainWidget() as the fist thing in init(), and widget()->installEventFilter( this )
|
|
|
|
- implement eventFilter()
|
|
|
|
- maximize changes - to flip a value, use maximize( maximizeMode() ^ XYZ ), for full maximize flip
|
|
|
|
use maximizeMode() == MaximizeFull ? maximize( MaximizeRestore ) : maximize( MaximizeFull )
|
|
|
|
- Sticky -> OnAllDesktops
|
|
|
|
- iconify -> minimize
|
|
|
|
- ther's no signal resetClients(), use KDecorationFactory::reset(), KDecorationFactory::resetDecorations(), KDecoration::reset()
|
|
|
|
- often this -> widget() , or prepend widget()-> , sometimes it may be handy to create wrapper functions for e.g. width()
|
2003-09-17 15:47:27 +00:00
|
|
|
- layout is created in init(), so call createLayout() directly there (if it's implemented)
|
2003-09-16 19:41:07 +00:00
|
|
|
- options -> options()
|
|
|
|
- no calls to Client::XYZ()
|
|
|
|
- titlebarDblClickOperation() for doubleclick on titlebar
|
|
|
|
- use extern "C" create_factory() returning your KDecorationFactory
|
|
|
|
- init(), deinit(), reset(), create()/allocate() -> KDecorationFactory
|
|
|
|
- reset() - instead of resetAllClients() return true, use argument for change detection, use resetDecorations()
|
|
|
|
for reseting decorations if not requesting recreating of decoration by returning true
|
|
|
|
- activeChange(bool) -> activeChange() + isActive(), etc.
|
|
|
|
- minimumSize()
|
|
|
|
- borders()
|
|
|
|
- contextHelp() -> showContextHelp()
|
|
|
|
- color setting values - prepend Color
|
|
|
|
- windowWrapperShowEvent() is gone
|
|
|
|
- animateIconifyOrDeiconify() -> animateMinimize() - just drop it if it's empty
|
2003-09-17 15:47:27 +00:00
|
|
|
- pay special attention to SLOT() names and cases where you need to use 'widget()' instead of 'this'
|
2003-09-19 11:11:07 +00:00
|
|
|
- buttons should use setCursor() if they don't want cursor set by mousePosition()
|
2003-12-04 13:54:10 +00:00
|
|
|
- X(un)GrabServer() -> (un)grabXServer()
|