# Window Behavior

In the upper part of this control module you can see several tabs: Focus, Titlebar Actions, Window Actions, Moving and Advanced. In the Focus panel you can configure how windows gain or lose focus, &ie; become active or inactive. Using Titlebar Actions and Window Actions you can configure how titlebars and windows react to mouse clicks. Moving allows you to configure how windows move and place themselves when started. The Advanced options cover some specialized options involving moving windows between desktops and window shading.

Please note that the configuration in this module will not take effect if you do not use &kde;'s native window manager, &kwin;. If you do use a different window manager, please refer to its documentation for how to customize window behavior.

### Focus

The focus of the desktop refers to the window which the user is currently working on. The window with focus is often referred to as the active window.

Focus does not necessarily mean the window is the one at the front — this is referred to as raised, and although this is configured here as well, focus and raising of windows are configured independently.

#### Focus stealing prevention level

This option specifies how much KWin will try to prevent unwanted focus stealing caused by unexpected activation of new windows.

This feature does not work with the Focus Under Mouse or Focus Strictly Under Mouse focus policies.

None

- Prevention is turned off and new windows always become activated.

Low

- Prevention is enabled; when some window does not have support for the underlying mechanism and KWin cannot reliably decide whether to activate the window or not, it will be activated. This setting may have both worse and better results than the medium level, depending on the applications.

Medium

- Prevention is enabled.

High

- New windows get activated only if no window is currently active or if they belong to the currently active application. This setting is probably not really usable when not using mouse focus policy.

Extreme

- All windows must be explicitly activated by the user.

Windows that are prevented from stealing focus are marked as demanding attention, which by default means their taskbar entry will be highlighted. This can be changed in the Notifications control module.

#### Focus Policy

There are four methods &kde; can use to determine the current focus:

Click to Focus

- A window becomes active when you click into it.

Focus Follows Mouse

- Moving the mouse pointer actively over a normal window activates it. New windows such as the mini command line invoked with &Alt;F2 will receive the focus, without you having to point the mouse at them explicitly.

  In other window managers, this is sometimes known as Sloppy focus follows mouse.

Focus Under Mouse

- The window that happens to be under the mouse pointer becomes active. If the mouse is not over a window (for instance, it's on the desktop) the last window that was under the mouse has focus. New windows such as the mini command line invoked with &Alt;F2 will not receive the focus, you must move the mouse over them to type.

Focus Strictly Under Mouse

- Similar to Focus Under Mouse, but even more strict with its interpretation. Only the window under the mouse pointer is active. If the mouse pointer is not over a window, no window has focus. New windows such as the mini command line invoked with &Alt;F2 will not receive the focus, you must move the mouse over them to type.

  Note that Focus Under Mouse and Focus Strictly Under Mouse prevent certain features, such as the &Alt; walk-through-windows dialog, from working properly.

Once you have determined the focus policy, there are the window raising options.

By placing a mark in front of Raise, with the following delay, &kde; can bring a window to the front if the mouse is over that window for a specified period of time. When Delay focus by is enabled, there will be a delay after which the window the mouse pointer is over will become active (receive focus). This is very useful with the Focus Follows Mouse option. You can determine the delay for both options by using the spin box controls.

Setting the delay too short will cause a rapid fire changing of windows, which can be quite distracting. Most people will like a delay of 100-300 ms. This is responsive, but it will let you slide over the corners of a window on your way to your destination without bringing that window to the front.

If you do not use auto raise, make sure the Click raise active window option has a mark in front of it. You will not be happy with both auto raise and Click raise active window disabled, the net effect is that windows are not raised at all.

### Titlebar Actions

In this panel you can configure what happens to windows when a mousebutton is clicked on their titlebars.

#### Titlebar double-click

In this drop down box you can select either Shade, several variations of Maximize or Lower.

Selecting Maximize causes &kde; to maximize the window whenever you doubleclick on the titlebar. You can further choose to maximize windows only horizontally or only vertically.

Shade, on the other hand, causes the window to be reduced to simply the titlebar. Double clicking on the titlebar again, restores the window to its normal size.

You can have windows automatically unshade when you simply place the mouse over their shaded titlebar. Just check the Enable hover check box in the Advanced tab of this module. This is a great way to reclaim desktop space when you are cutting and pasting between a lot of windows, for example.

#### Titlebar & Frame

This section allows you to determine what happens when you single click on the titlebar or frame of a window. Notice that you can have different actions associated with the same click depending on whether the window is active or not.

For each combination of mousebuttons, modifiers, Active and Inactive, you can select the most appropriate choice. The actions are as follows:

Activate

- Make this window active.

Lower

- Will move this window to the bottom of the display. This will get the window out of the way.

Nothing

- Just like it says. Nothing happens.

Operations Menu

- Will bring up a small submenu, where you can choose window related commands (&ie; Maximize, Minimize, Close, &etc;).

Raise

- Will bring the window to the top of the display. All other windows which overlap with this one, will be hidden below it.

Toggle Raise & Lower

- This will raise windows which are not on top, and lower windows which are already on top.

#### Maximize Button

This section allows you to determine the behavior of the three mouse buttons onto the maximize button. You have the choice between vertical only, horizontal only or both directions.

### Window Actions

#### Inactive Inner Window

This part of the module, allows you to configure what happens when you click on an inactive window, with any of the three mouse buttons.

Your choices are as follows:

Activate, Raise & Pass Click

- This makes the clicked window active, raises it to the top of the display, and passes a mouse click to the application within the window.

Activate & Pass Click

- This makes the clicked window active and passes a mouse click to the application within the window.

Activate

- This simply makes the clicked window active. The mouse click is not passed on to the application within the window.

Activate & Raise

- This makes the clicked window active and raises the window to the top of the display. The mouse click is not passed on to the application within the window.

#### Inner Window, Titlebar & Frame

This bottom section, allows you to configure additional actions, when a modifier key (by default &Alt;) is pressed, and a mouse click is made on a window.

Once again, you can select different actions for Left, Middle and Right button clicks and the Mouse wheel.

Your choices are:

Lower

- Will move this window to the bottom of the display. This will get the window out of the way.

Move

- Allows you to drag the selected window around the desktop.

Nothing

- Just like it says. Nothing happens.

Raise

- Will bring the window to the top of the display. All other windows which overlap with this one, will be hidden below it.

Resize

- Allows you to change the size of the selected window.

Toggle Raise & Lower

- This will raise windows which are not on top, and lower windows which are already on top.

### Moving

#### Windows

The options here determine how windows appear on screen when you are moving them. Most of these options exact a price in performance, so if you want to streamline your desktop, you should turn them off. However, if you have a fast computer, they may make your day a little more pleasant, so leave them on.

Display content in moving windows

- Enable this option if you want a window's content to be fully shown while moving it, instead of just showing a window skeleton. The result may not be satisfying on slow computers without graphic acceleration.

Display content in resizing windows

- Enable this option if you want a window's content to be shown while resizing it, instead of just showing a window skeleton. The result, again, may not be satisfying on slower computers.

Display window geometry when moving or resizing

- Enable this option if you want a popup tooltip to tell you the size in pixels of a window as you resize it.

Display borders on maximized windows

- When enabled, this feature activates the border of maximized windows, and allows you to move or resize them just as you can normal windows.

#### Snap Zones

The rest of this page allows you to configure the Snap Zones. These are like a magnetic field along the side of the desktop and each window, which will make windows snap alongside when moved near.

Border snap zone:

- Here you can set the snap zone for screen borders. Moving a window within the configured distance will make it snap to the edge of the desktop.

Window snap zone:

- Here you can set the snap zone for windows. As with screen borders, moving a window near to another will make it snap to the edge as if the windows were magnetized.

Center snap zone:

- Here you can set the snap zone for the screen center, &ie; the strength of the magnetic field which will make windows snap to the center of the screen when moved near it.

Snap windows only when overlapping

- If checked, windows will not snap together if they are only near each other, they must be overlapping, by the configured amount or less.

### Advanced

In the Advanced panel you can do more advanced fine tuning to the window behavior.

### Shading

Enable hover

- If this option is enabled, a shaded window will un-shade automatically when the mouse pointer has been over the titlebar for some time. Use the slider to configure the delay un-shading.

### Window Tabbing

When turned on attempt to automatically detect when a newly opened window is related to an existing one and place them in the same window group.

Switch to automatically grouped windows immediately

- When turned on immediately switch to any new window tabs that were automatically added to the current group.

Placement

- The placement policy determines where a new window will appear on the desktop. Smart will try to achieve a minimum overlap of windows, Cascade will cascade the windows, and Random will use a random position. Centered will open all new windows in the center of the screen, and Zero-Cornered will open all windows with their top left corner in the top left corner of the screen.

Hide utility windows for inactive applications

- When turned on, utility windows (tool windows, torn-off menus,...) of inactive applications will be hidden and will be shown only when the application becomes active. Note that applications have to mark the windows with the proper window type for this feature to work.

### Tiling

Enable Tiling

- A tiling window manager lays out all the windows in a non-overlapping manner. This way all windows are always visible.

Default Tiling Layout

- Select Spiral, Columns (Two-column horizontal tiling layout) or Floating (Floating layout, windows are not tiled at all) as default here.

Floating Windows Raising

- The window raising policy determines how floating windows are stacked. Raise/Lower floating windows all will raise all floating windows when a floating window is activated. Raise/Lower current window only will raise only the current window. Floating windows are always on top keep floating windows on top, even when a tiled window is activated.