KWin Rules

From KDE UserBase Wiki

Overview

KWin allows the end-user to define rules to alter the behavior of an application's window attributes.

For example, when an application is started, it can be forced to always run on Virtual Desktop 2. Or a defect in an application can be worked-around to force the window above of others.

Step-by-step examples are provided along with detailed information on using the KWin Rule Editor to specify window matching and window attributes.

Examples

A collection of examples is provided to convey the power of KWin window rules.

KWin Rule Editor

Invoking the Editor

There are several ways one can invoke the ules editor. Below are a couple:

  • Right-click on the title-bar of any window, choose Configure Window Behavior ... and in the Configure window, select Window Rules or
  • Personal Settings -> Window Behavior -> Window Rules

Anatomy

The editor is composed of four tabs:

  1. Window matching
  2. Size & Position
  3. Arrangement & Access
  4. Appearance & Fixes

As the name implies, Window matching is used to specify criteria to match one or more windows. The other three tabs are used to alter the attributes of the matching windows.

Tip

Panels can also be affected.


Rule Evaluation

When an application starts (or the rules are modified), KWin evaluates the rules from the top of the list, looking for the first matching rule. If a rule matches, the attributes set in the rule are applied to the window and the window is displayed.

Tip

As KWin stops processing rules on the first match, when creating multiple rules for an application, list the rules with more restrictive matching criteria first.


Window Matching

Each window rule has user specified window matching criteria. KWin uses the criteria to determine whether the rule is applicable for an application.

Window Attributes

Along with Window Matching criteria, each window rule has a set of window attributes. The attributes override the corresponding application's settings and are applied before the window is displayed by KWin.