Projects/KWin: Difference between revisions
No edit summary |
No edit summary |
||
Line 14: | Line 14: | ||
== Developer information == | == Developer information == | ||
===Hacking on KWin itself=== | |||
* [http://api.kde.org/4.x-api/ | |||
* [http:// | Refer to the [http://community.kde.org/KWin/ KWin section] of the KDE Community Wiki. | ||
* [http://api.kde.org/4.x-api/ | |||
* [[Development/Tutorials/KWin/Scripting | ===Creating Window Decorations=== | ||
The <tt>libkdecorations</tt> library shipped with KWin allows developing new third-party window decorations in C++. | |||
* [http://www.usermode.org/docs/kwintheme.html tutorial] ''(Based on KDE3.2 and as such slightly outdated, but still usable for newer versions. Note that new decorations should subclass <tt>KCommonDecoration</tt>, instead of using the <tt>KDecoration</tt> class directly like this tutorial does.)'' | |||
* [http://api.kde.org/4.x-api/kde-workspace-apidocs/kwin/libkdecorations/html/group__kdecoration.html API documentation] | |||
<br>A simpler (but less powerful) alternative is to create a theme for one of the existing themable decorations: | |||
* [http://kde-look.org/content/show.php?content=107158 Aurorae] - themable with SVG images ([[User:Mgraesslin/Aurorae|how-to]]) | |||
* [http://kde-look.org/content/show.php?content=87921 deKorator] - themable with pixmap images | |||
* [http://kde-look.org/content/show.php?content=125162 Smaragd] - themable with Emerald theme files (from Compiz/Beryl) | |||
===Creating Desktop Effects=== | |||
The <tt>libkwineffects</tt> library shipped with KWin allows developing new KWin compositing effects (known as "desktop effects" to users) in C++. | |||
* [http://blog.martin-graesslin.com/blog/2009/07/how-to-write-a-kwin-effect/ tutorial] | |||
* [http://api.kde.org/4.x-api/kde-workspace-apidocs/kwin/libkwineffects/html/group__kwineffects.html API documentation] | |||
* [https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/kwin/effects source code of existing effects] | |||
<br>There is also a limited API for developing effects in JavaScript... | |||
* [http://blog.martin-graesslin.com/blog/2012/01/kwin-effects-written-in-javascript/ introductory blog post] | |||
===Creating Window Switcher Layouts=== | |||
KWin's default <keycap>Alt + Tab</keycap> window switcher can be customized with new layouts written in QML. | |||
* [[Development/Tutorials/KWin/WindowSwitcher|tutorial]] | |||
===Scripting=== | |||
[[Image:Icon-kwin-scripting.png|right|128px]] | |||
KWin's scripting system allows customizing/automating the properties and behavior of windows through JavaScript or declarative QML. | |||
* [[Development/Tutorials/KWin/Scripting|tutorial]] | |||
* [[Development/Tutorials/KWin/Scripting/API|API reference]] ''([[Projects/KWin/Scripting_Update_Notes|upgrade notes]] from earlier versions to 4.9]])'' | |||
* [https://projects.kde.org/projects/kde/kdeexamples/repository/revisions/master/show/kwin/scripts examples] | |||
== Configuration == | == Configuration == | ||
* [https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/entry/kwin/CONFIGURING CONFIGURING ] - document on advanced KWin configuration (such as pre-configuring window-specific settings). | * [https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/entry/kwin/CONFIGURING CONFIGURING ] - document on advanced KWin configuration (such as pre-configuring window-specific settings). |
Revision as of 18:17, 16 September 2012
This is a starting page for all relevant KWin documentation, most of which is stored in SVN or on external WWW pages.
General information
- KWin mailing list
- IRC channel #kwin on freenode
- COMPLIANCE - a document on KWin's compliance to the window manager specifications ICCCM and EWMH (also known as NETWM).
- KDE4.0 release notes - information about changes and new features in KWin in KDE4.0
- KWin Build Options - documentation on the available build options for KWin.
Developer information
Hacking on KWin itself
Refer to the KWin section of the KDE Community Wiki.
Creating Window Decorations
The libkdecorations library shipped with KWin allows developing new third-party window decorations in C++.
- tutorial (Based on KDE3.2 and as such slightly outdated, but still usable for newer versions. Note that new decorations should subclass KCommonDecoration, instead of using the KDecoration class directly like this tutorial does.)
- API documentation
A simpler (but less powerful) alternative is to create a theme for one of the existing themable decorations:
- Aurorae - themable with SVG images (how-to)
- deKorator - themable with pixmap images
- Smaragd - themable with Emerald theme files (from Compiz/Beryl)
Creating Desktop Effects
The libkwineffects library shipped with KWin allows developing new KWin compositing effects (known as "desktop effects" to users) in C++.
There is also a limited API for developing effects in JavaScript...
Creating Window Switcher Layouts
KWin's default Alt + Tab window switcher can be customized with new layouts written in QML.
Scripting
KWin's scripting system allows customizing/automating the properties and behavior of windows through JavaScript or declarative QML.
- tutorial
- API reference (upgrade notes from earlier versions to 4.9]])
- examples
Configuration
- CONFIGURING - document on advanced KWin configuration (such as pre-configuring window-specific settings).