Feature Overview

Stable and reliable

Compositing, 3D effects

Easy configuration

Improved efficiency

KWin (pronounced "kwin") is the window manager for the KDE Plasma Desktop. It gives you complete control over your windows, making sure they're not in the way but aid you in your task. It paints the window decoration, the bar on top of every window with (configurable) buttons like close, maximize and minimize. It also handles placing of windows and switching between them.

KWin supports compositing, which means using 3D effects for handling your windows. This can make window management smoother, easier, more efficient and more natural. It’s hardware requirements are very modest and pretty much every reasonably modern system since 2002 supports it. There are still some issues with certain hardware, more info about that can be found on techbase

Practical Features

Click with your right mouse button on a window decoration or use System Settings to access the new and easier configuration of KWin. Here you can enable effects to more efficiently manage your windows. You can for example use the Present Windows as the effect for window switching. Instead of showing you icons or very small previews of your applications, it arranges them in a grid so you can quickly choose the right one. Just use the Alt-Tab keysequence and keep the Alt key pressed. You can now use tab to switch through the windows or just activate the right one using the mouse. Hitting Alt-Tab keys quickly will show you the next window in the queue, just like it used to.

If your X server already supports compositing, switching it on is as easy as opening System Settings, opening the Desktop module, choosing Desktop Effects and enabling the checkbox Enable desktop effects. More advanced compositing settings (such as VSync operation, Direct rendering, compositing mode) are available through the Advanced dialog. Customising the behaviour of the KWin effects means opening the All effects tab, and choosing the plugins you want to use. Please note that only a subset of the plugins works with XRender-based compositing. For the full experience, you need to use OpenGL mode.

Employing motion physics, KWin provides your windows with a more natural feel. New desktop effects like the Cube desktop switcher and Magic Lamp minimize animation have been added. Improvements in the existing effects make window management smoother than ever. KWin has seen many performance improvements to enable these effects even on low-end hardware. Elaborate checks have been build in to ensure users with low-end hardware are not presented with an unusable setup. KWin detects the capabilities of the hardware and if needed gracefully scales its effects down. You can take control and disable these checks or change settings like the global animation speed to fine-tune your experience. When your computer is under heavy load, KWin will automatically disable the compositing temporarily to keep things running smoothly. It will notify you if it does so, and you can re-enable compositing by pressing Shift+Alt+F12. Finally, support for multiple screen handling has been improved in KWin using the new Kephal library. You can move maximized windows between Xinerama screens and the addition of external screens is handled correctly.

More information about what was introduced in KDE SC 4.2 can be found at the following link:

Tutorials

You want an application to launch in a specific size and position every time

Geometry Tab

Sometimes the screen position of an application is vital to your comfort, so use the flexibility of KWin to make sure it's always where you want it.

Position the window where you want it to open, then right-click on the title-bar, choosing Advanced -> Special Window Settings. This will open a settings window, with appropriate entries already made. All you need to do now is select the Geometry tab and check Position and Size. OK - you're finished!

Script the window manager from the command line

Customise the position of titlebar buttons

Configure Buttons

Take a look at System Settings -> Appearance -> Windows -> Buttons tab - and enable Use custom titlebar button positions. The options open to you may depend on your distribution or theme, and it's clear that there is more to come.

Perhaps you would like more space between the Close button and the Minimise/Maximise pair? So you will want to add a spacer - two if you wish.

To simply move things around you work with the speciman titlebar - that is the dark blue bar with a large KDE on it. Drag icons there and you will see them move in the preview window at the bottom of the screen.

You may find that you have other icons available to you. A circle indicates that the button will set that window on all desktops. Another icon that you may find useful is Shade - a toggle between rolled up (titlebar only visible) and normal view. These icons are added by dragging from the text description window onto the speciman title bar - just position them as you want to use them.

If you prefer a Classic, KDE3-style Desktop

Change to traditional desktop

Right-click on your desktop - select Desktop Settings (or Appearance Settings, in some distros). Change the Type: from Desktop to Folder View. The whole desktop is now a folderview, and another right-click on the desktop will allow you to select FolderView Settings. Set the folderview to the directory you want to use as your desktop.

Using with small screens (eg Netbooks)

Make the window decorations smaller

Using the default style (Oxygen), select Configure Decoration and set Button Size to Small and Border Size to Tiny

Select the Laptop

Both routes will give you slim and functional window titles and borders.

Change the base fonts

On many netbooks the screen is very clear, so that reading fonts much smaller than you expect is feasible. On my Acer Aspire One I find that 8 point is a good base settings.

Make Firefox use smaller fonts

Experimentation with about:config did not bring satisfactory results. Do this instead. Download and install gtk-chtheme from this website. Using that tool you can either set a specific font size, or better still, tell it to use your KDE desktop settings. This will work with Firefox as well as any gtk applications that you use.