# Window Behavior

In the upper part of this control module you can see several tabs: Focus, Titlebar Actions, Window Actions, Movement 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. Movement allows you to configure how windows move and place themselves when started. The Advanced options cover some specialized options like window shading.

Please note that the configuration in this module will not take effect if you do not use &plasma;'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 workspace 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.

#### Windows activation policy

There are six methods &kwin; can use to determine the current focus:

Click to focus

- A window becomes active when you click into it. This behaviour is common on other operating systems and likely what you want.

Click to focus (mouse precedence)

- This is mostly the same as Click to focus. If an active window has to be chosen by the system (⪚ because the currently active one was closed) the window under the mouse is the preferred candidate. Unusual, but possible variant of Click to focus.

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. ⪚ windows randomly appearing under the mouse will not gain the focus. Focus stealing prevention takes place as usual. Think as Click to focus just without having to actually click.

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

Focus follows mouse (mouse precedence)

- This is mostly the same as Focus follows mouse. If an active window has to be chosen by the system (⪚ because the currently active one was closed) the window under the mouse is the preferred candidate. Choose this, if you want a hover controlled focus.

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 over the desktop wallpaper) 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 Focus stealing prevention and the &Alt; walk-through-windows dialog, from working properly.

#### Delay focus by

This is the delay after which the window the mouse pointer is over will automatically receive focus.

#### Focus stealing prevention

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

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.

#### Raising windows

Besides receiving focus, you can also control under which conditions windows get raised, &ie; brought to the front.

You should make sure that at least one of the raising options is enabled, otherwise windows will not be raised at all.

Click raises active window will bring a window to the front when it is clicked on. This is enabled by default with a click to focus policy.

By activating Raise on hover, delayed by you can alternatively bring a window to the front if the mouse pointer is over that window for a specified period of time. You can determine the delay for this option by using the spin box control. This auto-raising option is only available with a hover to focus policy.

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.

#### Multiscreen behavior

This controls the behavior of window focus with multiple screens. Note that these options appear only when more than one screen is currently connected.

Separate screen focus

- When this option is enabled, focus operations are limited only to the active screen. For instance, when you close a window, then the next window to receive focus will be a window on the active screen, even if there is a more recently used window on a different screen.

### Titlebar Actions

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

#### Titlebar Actions

This section allows you to determine what happens when you double-click or scroll the mouse wheel on the titlebar of a window.

The following actions are available for Double-click:

Maximize

- Resizes the window to fill the height and width of the screen.

Vertically maximize

- Resizes the window to the height of the screen.

Horizontally maximize

- Resizes the window to the width of the screen.

Minimize

- Hides the window into its minimized state, from which it can be restored ⪚ via the Task Manager or Task Switcher.

Shade

- Causes the window to be reduced to simply the titlebar. Double-clicking on the titlebar again restores the window to its normal size.

Close

- Closes the window.

Show on all desktops

- Makes the window be visible on all Virtual Desktops.

Do nothing

- Nothing happens on double-click.

The Mouse wheel can be used to trigger an action depending on whether it is scrolled up or down:

Raise/lower

- Scrolling up will move the window on top of other windows.

  Scrolling down will move the window below other windows.

Shade/unshade

- Scrolling up will collapse the window to just its titlebar.

  Scrolling down will restore the window to its normal size.

Maximize/restore

- Scrolling up will maximize the window to fill the whole screen.

  Scrolling down will restore it to its previous size.

Keep above/below

- Scrolling up will make the window stay on top, covering other windows.

  Scrolling down will make the window stay covered below other windows.

Move to previous/next desktop

- Scrolling up will move the window to the previous Virtual Desktop.

  Scrolling down will move the window to the next Virtual Desktop.

Change opacity

- Scrolling up will make the window less transparent.

  Scrolling down will make the window more transparent.

Do nothing

- Nothing happens when scrolling up or down on the window's titlebar.

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

#### Titlebar and Frame Actions

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, Active and Inactive, you can select the most appropriate choice. The actions are as follows:

Raise

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

Lower

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

Toggle raise and lower

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

Minimize

- Hides the window into its minimized state, from which it can be restored ⪚ via the Task Manager or Task Switcher.

Shade

- Causes the window to be reduced to simply the titlebar. Double-clicking on the titlebar again restores the window to its normal size.

Close

- Closes the window.

Window menu

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

Do nothing

- Nothing happens on click.

#### Maximize Button Actions

This section allows you to determine the behavior of the three mouse buttons onto the maximize button.

Maximize

- Resizes the window to the height and width of the screen.

Vertically maximize

- Resizes the window to the height of the screen.

Horizontally maximize

- Resizes the window to the width of the screen.

### 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 or use the mouse wheel.

Your choices are as follows:

Activate, raise and 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 and 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 and 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.

Your choices for Mouse wheel are as follows:

Scroll

- Just scrolls the content within the window.

Activate and scroll

- This makes the clicked window active and scrolls the content.

Activate, raise and scroll

- This makes the clicked window active, raises the window to the top of the display, and scrolls the content.

#### Inner Window, Titlebar and Frame

This bottom section allows you to configure additional actions when clicking on a window with a modifier key pressed.

As a Modifier key, you can select between Meta (default) or Alt.

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

Your choices for the mouse buttons are:

Move

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

Activate, raise and move

- This makes the clicked window active, raises it to the top of the window stack, and drags the window around the workspace.

Toggle raise and lower

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

Resize

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

Raise

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

Lower

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

Minimize

- Hides the window into its minimized state, from which it can be restored ⪚ via the Task Manager or Task Switcher.

Decrease opacity

- Makes the window more transparent.

Increase opacity

- Makes the window less transparent.

Window menu

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

Do nothing

- Nothing happens on click.

Your choices for the mouse wheel are:

Raise/lower

- Scrolling up will move the window on top of other windows.

  Scrolling down will move the window below other windows.

Shade/unshade

- Scrolling up will collapse the window to just its titlebar.

  Scrolling down will restore the window to its normal size.

Maximize/restore

- Scrolling up will maximize the window to fill the whole screen.

  Scrolling down will restore it to its previous size.

Keep above/below

- Scrolling up will make the window stay on top, covering other windows.

  Scrolling down will make the window stay covered below other windows.

Move to previous/next desktop

- Scrolling up will move the window to the previous Virtual Desktop.

  Scrolling down will move the window to the next Virtual Desktop.

Change opacity

- Scrolling up will make the window less transparent.

  Scrolling down will make the window more transparent.

Do nothing

- Nothing happens on when scrolling up or down the window's titlebar.

### Movement

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

Screen edge 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 screen.

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.

In the Screen Edges settings module in the Workspace Behavior section of the system settings, you can configure windows to be quick-tiled to the whole, half, or quarter of the screen when dragged near the screen edges.

### Advanced

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

#### Window unshading

On titlebar hover after

- 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 spinbox to configure the delay un-shading.

#### Window placement

The placement policy determines where a new window will appear on the screen.

In a multi-monitor setup, the screen for windows to appear on is always the active screen (that is, the screen that has the mouse pointer or the focused window; see Multiscreen behavior), with the exception of windows remembering their previous position (see below).

Minimal Overlapping

- Will place all new windows in such a manner as to overlap existing windows as little as possible.

Maximized

- Will try to maximize all new windows to fill the whole screen.

Random

- Will place all new windows in random locations.

Centered

- Will place all new windows in the center of the screen.

In Top-Left Corner

- Will place all new windows with their top left corner in the top left corner of the screen.

Under Mouse

- Will place all new windows centered under the mouse pointer.

Check the Allow apps to remember the positions of their own windows item to open windows where they previously were rather than by the placement method chosen above. Note that this remembered position includes the screen assignment, so windows may open on a screen other than the active one if this is where they were last located. Note also that this option is only available on X11, not on Wayland, and is only supported by some KDE applications.

If you would like some windows to appear on specific positions, screens, or Virtual Desktops, you can set up Window Rules to configure special window or application settings. You can find this by right-clicking on the titlebar of a window and choosing More Actions, or in the Window Rules module in the Window Management section of system settings.

#### Special windows

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.

#### Virtual Desktop behavior

Sometimes calling an application will activate an existing window rather than opening a new window. This setting controls what should happen if that activated window is located on a Virtual Desktop other than the current one.

Switch to that Virtual Desktop

- Will switch to the Virtual Desktop where the window is currently located.

  Choose this option if you would like the active Virtual Desktop to automatically follow windows to their assigned Virtual Desktop.

Bring window to current Virtual Desktop

- Will cause the window to jump to the active Virtual Desktop.

  Choose this option if you would like windows to always open on the current Virtual Desktop, and the active Virtual Desktop to only switch when navigating there manually.

Do nothing

- The window stays on the desktop it currently is and the current desktop doesn't change.

  Choose this option if you would like to keep the windows and desktops as they are.