|
|
(85 intermediate revisions by 4 users not shown) |
Line 1: |
Line 1: |
| ==Overview==
| | <languages /> |
|
| |
|
| '''KWin''' allows the end-user to define rules to alter the behavior of an application's windows.
| | <translate> |
|
| |
|
| 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 by using a rule to, say, always force the window on top of all others.
| | ==Overview== <!--T:1--> |
|
| |
|
| This page will define the different settings and the attributes. For the impatient folks, working examples will be listed. Whenever possible, screen shots will be used to show example settings.
| | <!--T:2--> |
| : {{Tip|Panels can also be affected.}}
| | '''KWin''' allows the end-user to define rules to alter an application's window attributes. |
|
| |
|
| ==KWin Rule Editor==
| | <!--T:3--> |
| | 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 others. |
|
| |
|
| [[Image:kwin-rules-ordering.png|350px|center]] | | <!--T:4--> |
| | Step-by-step [[Special:myLanguage/KWin_Rules_Examples|examples]] are provided along with detailed information on using the [[Special:myLanguage/KWin_Rules#KWin_Rule_Editor|'''KWin''' Rule Editor]] to specify [[Special:myLanguage/KWin_Rules_Window_Matching|Window Matching]] and [[Special:myLanguage/KWin_Rules_Window_Attributes|Window Attributes]]. |
|
| |
|
| ===Invoking the Editor=== | | </translate><span id="Examples_and_Application_Workaround"></span><translate> |
|
| |
|
| There are several ways one can invoke the Rules editor. Below are a couple:
| | ==Examples and Application Workaround== <!--T:5--> |
|
| |
|
| * Right-click on the title-bar of any window, choose <menuchoice>Configure Window Behavior ...</menuchoice> and in the '''Configure''' window, select <menuchoice>Window Rules</menuchoice> or
| | <!--T:6--> |
| * <menuchoice>Configure Desktop -> Window Behavior -> Window Rules</menuchoice>
| | To see what's possible, detailed [[Special:myLanguage/KWin_Rules_Examples|examples]] are provided which can also be used to model your own rules. |
|
| |
|
| ===Anatomy===
| | <!--T:7--> |
| | A special page is dedicated to address [[Special:myLanguage/KWin_Rules_Application_Workarounds|Application Workaround]]. |
|
| |
|
| [[Image:kwin-rule-editor.png|350px|center]]
| | </translate><span id="KWin_Rule_Editor"></span><translate> |
|
| |
|
| The editor is composed of four tabs:
| | ==KWin Rule Editor== <!--T:8--> |
|
| |
|
| # <menuchoice>Window matching</menuchoice>
| | </translate><span id="Invoking_the_KWin_Rule_Editor"></span><translate> |
| # <menuchoice>Size & Position</menuchoice>
| |
| # <menuchoice>Arrangement & Access</menuchoice>
| |
| # <menuchoice>Appearance & Fixes</menuchoice>
| |
|
| |
|
| As the name implies, <menuchoice>Window matching</menuchoice> is used to specify criteria to match one or more windows. The other three tabs are used to alter the characteristics of the matching windows.
| | ===Invoking the KWin Rule Editor=== <!--T:9--> |
|
| |
|
| ===Rules===
| | <!--T:10--> |
| | [[Image:kwin-rules-ordering.png|350px|center]] |
|
| |
|
| ====Evaluation====
| | <!--T:11--> |
| | There are several ways to invoke the '''KWin''' Rule Editor. Below are two: |
|
| |
|
| KWin evaluates the rules when an application starts and after editing rules. Any matching rule's attribute(s) override the application's corresponding attribute(s).
| | <!--T:12--> |
| | * Right-click on the title-bar of any window, choose <menuchoice>Configure Window Settings...</menuchoice> and in the '''Configure''' window, select <menuchoice>Window Rules</menuchoice> or |
|
| |
|
| ====Precedence====
| | <!--T:36--> |
| | {{Info|Pre 4.9: choose <menuchoice>Configure Window Behavior...</menuchoice>}} |
|
| |
|
| In the <menuchoice>Window Rules</menuchoice> window, the rules are listed in the order in which they are processed.
| | <!--T:13--> |
| | * <menuchoice>System Settings -> Window Behavior -> Window Rules</menuchoice> |
|
| |
|
| The rule at the top of the list is processed first, followed by the next rule until the end of the list is reached. | | <!--T:14--> |
| | The main window is used to: |
|
| |
|
| ====Conflicts====
| | <!--T:15--> |
| | * Affect rules with <menuchoice>New...</menuchoice>, <menuchoice>Modify...</menuchoice> and <menuchoice>Delete</menuchoice> |
|
| |
|
| In the event two rules match a window and affect the same attribute, the first rule in the list takes precedence.
| | <!--T:16--> |
| | * Share rules with others via <menuchoice>Import</menuchoice> and <menuchoice>Export</menuchoice> |
|
| |
|
| ===Window Matching===
| | <!--T:17--> |
| | * Ensure desired [[Special:myLanguage/KWin_Rules#Rule_Evaluation|rule evaluation]] using <menuchoice>Move Up</menuchoice> and <menuchoice>Move Down</menuchoice> |
|
| |
|
| [[Image:kwin-window-matching.png|350px|center]]
| | </translate><span id="Rule_Evaluation"></span><translate> |
|
| |
|
| The <menuchoice>Window Matching</menuchoice> tab provides a series of matching-criteria fields used to identify application windows:
| | ====Rule Evaluation==== <!--T:18--> |
|
| |
|
| * <menuchoice>Window class (application)</menuchoice> - match this window and all its children windows.
| | <!--T:19--> |
| ** and <menuchoice>Match whole window class</menuchoice>
| | When an application starts (or the rules are modified), '''KWin''' evaluates the rules from the top of the list to the bottom. For all rules which match a window, the collective set of attributes are applied to the window, then the window is displayed. |
| * <menuchoice>Window role</menuchoice> - restrict the match to the function of the window (e.g. a ''main window'', a ''chat window'', etc.)
| |
| * <menuchoice>Window types</menuchoice> - restrict the match to the type of window: '''Normal Window''', '''Dialog Window''', etc.
| |
| * <menuchoice>Window title</menuchoice> - restrict the match to the title of the window.
| |
| * <menuchoice>Machine (hostname)</menuchoice> - restrict the match to the host name associated with the window.
| |
|
| |
|
| : {{Tip|While it's possible to manually enter the above information, the preferred method is to use the <menuchoice>Detect Window Properties</menuchoice> button.}} | | <!--T:20--> |
| | Should two or more matching rules enable the same attribute, the setting in the ''first'' rule in the list is used. |
|
| |
|
| For each field, the following operators can be applied against the field value:
| |
|
| |
|
| * <menuchoice>Unimportant</menuchoice>
| | <!--T:21--> |
| * <menuchoice>Exact Match</menuchoice>
| | {{Tip|You can tailor children windows for the application by placing the more restrictive rules first - see the [[Special:myLanguage/KWin_Rules_Examples#Application_on_all_Desktops_and_Handle_One_Child_Window_Uniquely|Kopete and Kopete Chat Window]] example.}} |
| * <menuchoice>Substring Match</menuchoice>
| |
| * <menuchoice>Regular Expression</menuchoice> - Qt's regular expressions are implemented. For additional information, web search ''qt regex nokia''.
| |
|
| |
|
| =====Detect Window Properties===== | | </translate><span id="Rule_Editor"></span><translate> |
|
| |
|
| [[Image:kwin-detect-window.png|350px|center]]
| | ===Rule Editor=== <!--T:22--> |
|
| |
|
| The <menuchoice>Detect Window Properties</menuchoice> function simplifies the process of entering the matching-criteria.
| | <!--T:23--> |
| | [[Image:kwin-rule-editor.png|350px|center]] |
|
| |
|
| # For the application you'd like to create a rule, start the application.
| | <!--T:24--> |
| # Next, in the <menuchoice>Window matching</menuchoice> tab, set the number of seconds of delay before the <menuchoice>Detect Window Properties</menuchoice> function starts. The default is zero seconds.
| | The editor is composed of four tabs: |
| # Click on <menuchoice>Detect Window Properties</menuchoice> and
| |
| # When the mouse-cursor turns to cross-hairs, place it inside the application window and left-click.
| |
| # A new window is presented with information about the selected window:
| |
| #* '''Class'''
| |
| #* '''Role'''
| |
| #* '''Type'''
| |
| #* '''Title'''
| |
| #* '''Machine (hostname)'''
| |
| | |
| | |
| Click the <menuchoice>OK</menuchoice> button to back-fill the <menuchoice>Window Matching</menuchoice> criteria.
| |
| | |
| By using a combination of the information, you can tailor whether a rule applies to an entire application (by '''Class''') or a to a specific window '''Type''' within the '''Class''' - say a '''Toolbar'''.
| |
|
| |
|
| ===Window Attributes===
| | <!--T:25--> |
| | | # <menuchoice>Window matching</menuchoice></translate> |
| [[Image:kwin-window-attributes.png|350px|center]]
| | <translate> |
| | | <!--T:26--> |
| The attributes which can be set are grouped in three tabs:
| | # <menuchoice>Size & Position</menuchoice></translate> |
| | | <translate> |
| # <menuchoice>Size & Position</menuchoice> | | <!--T:27--> |
| # <menuchoice>Arrangement & Access</menuchoice> | | # <menuchoice>Arrangement & Access</menuchoice></translate> |
| | <translate> |
| | <!--T:28--> |
| # <menuchoice>Appearance & Fixes</menuchoice> | | # <menuchoice>Appearance & Fixes</menuchoice> |
|
| |
|
| Each attribute has additional settings which determine when they're applied and depending on the attribute, there may be an additional argument.
| | <!--T:29--> |
| | | As the name implies, <menuchoice>Window matching</menuchoice> 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. |
| ====Attributes====
| |
| | |
| {{Tip|Using <menuchoice>Detect Window Properties</menuchoice> back-fills values for attributes. For example the height and width arguments of the '''Size''' attribute is set to the height and width of the detected window.}}
| |
| {{Tip|'''Yes/No''' arguments are used to toggle attributes. For example, if a window's default behavior is to start horizontally maximized and you wish to disable this behavior, specify '''No''' as the argument to <menuchoice>Maximized horizontally</menuchoice>, on the other hand if you wish to force a window to start horizontally maximized, specify '''Yes'''.}}
| |
| | |
| =====Size & Position=====
| |
| | |
| ;Position
| |
| : Position the window's upper left corner at the specified x,y coordinate.
| |
| :{{Tip|'''KWin''''s origin, (0,0), is the upper left.}}
| |
| ;Size
| |
| : The width and height of the window.
| |
| ;Maximized horizontally, Maximized vertically, Fullscreen
| |
| : These attributes are used to toggle the maximum horizontal/minimum horizontal/full-screen window attribute.
| |
| ;Desktop
| |
| : Place the window on the specified ''(Virtual) Desktop''. Use '''All Desktops''' to place the window on all ''Virtual Desktops''.
| |
| ;Minimized, Shaded
| |
| : Toggle the Minimize and Shading window attribute. For example, a window can be started Minimized or if it is started Minimized, it can be forced to not.
| |
| : {{Tip|Maximized attribute is emulated by using both '''Maximized horizontally''' and '''Maximized vertically''' or '''Initial placement''' with the '''Maximizing''' argument.}}
| |
| ;Initial placement
| |
| : Override the global window placement strategy with one of the following:
| |
| :* '''Default''' - use the global window placement strategy.
| |
| :* '''No Placement''' - top-left corner.
| |
| :* '''Smart''' - place where no other window exists.
| |
| :* '''Maximizing''' - start the window maximized.
| |
| :* '''Cascade'''
| |
| :* '''Centered'''
| |
| :* '''Random'''
| |
| :* '''Top-Left Corner'''
| |
| :* '''Under Mouse'''
| |
| :* '''On Main Window''' - restrict placement of a child window to the boundaries of the parent window.
| |
| ;Ignore requested geometry
| |
| : Toggle whether to accept or ignore the window's requested geometry and ignore the global placement strategy.
| |
| ;Minimum size, Maximum size
| |
| : The minimum and maximum size allowed for the window.
| |
| ;Obey geometry restrictions
| |
| : Toggle whether to adhere to the window's requested aspect ratio.
| |
| | |
| =====Arrangement & Access=====
| |
| | |
| ;Keep above, Keep below
| |
| : Toggle whether to keep the window above/below all others.
| |
| ;Autogroup with identical
| |
| : Toggle the grouping (commonly known as ''tabbing'') of windows.
| |
| ;Autogroup in foreground
| |
| : Toggle whether to make the window active when it is added to the group.
| |
| ;Autogroup by ID
| |
| : Create a group via a user-defined ID. More than one rule can share the same ID to allow for seemingly unrelated windows to be grouped.
| |
| ;Tiling
| |
| : Override the default window behavior to either '''Tiled''' or '''Floating'''.
| |
| ;Skip taskbar
| |
| : Toggle whether to display the window in the taskbar.
| |
| ;Skip pager
| |
| : Toggle whether to display the window in the virtual desktop list.
| |
| ;Skip switcher
| |
| : Toggle whether to display the window in the '''ALT+TAB''' list.
| |
| ;Shortcut
| |
| : Assign a shortcut to the window. When '''Edit...''' is clicked, additional instructions are presented.
| |
| | |
| =====Appearance & Fixes=====
| |
| ;No titlebar and frame
| |
| : Toggle whether to display the titlebar and frame.
| |
| ;Active/Inactive opacity
| |
| : When the window is active/inactive, set its opacity to the percentage specified.
| |
| {{Tip|'''Active/Inactive opacity''' can only be affected when '''Desktop Effects''' are enabled.}}
| |
| ;Focus stealing prevention
| |
| : Def
| |
| ;Accept focus
| |
| : Def
| |
| ;Ignore global shortcuts
| |
| : Toggle whether to ignore global shortcuts while the window is active.
| |
| ; Closeable
| |
| : Def
| |
| ; Window type
| |
| : Def
| |
| ; Block compositing
| |
| : Toggle whether to disable compositing while the window ''exists''. If compositing is enabled and the rule specifies to disable compositing, once the window exists, compositing will be re-activated.
| |
| | |
| ====Disposition====
| |
| | |
| ;Do Not Affect
| |
| : Definition
| |
| ;Apply Initially
| |
| : Definition
| |
| ;Remember
| |
| : Def
| |
| ;Force
| |
| : Def
| |
| ;Apply Now
| |
| : Def
| |
| ;Force Temporarily
| |
| : Def
| |
| | |
| ==Examples==
| |
|
| |
|
| ===Force a Window on a Desktop===
| | <!--T:30--> |
| | {{Tip|Panels can also be affected.}} |
|
| |
|
| ===Force a Window on all Desktops=== | | </translate><span id="Window_Matching"></span><translate> |
|
| |
|
| ===Suppress a Window showing on Pager=== | | ====Window Matching==== <!--T:31--> |
|
| |
|
| ===Force a Window to the Top===
| | <!--T:32--> |
| | Each window rule has user specified [[Special:myLanguage/KWin_Rules_Window_Matching|Window Matching]] criteria. '''KWin''' uses the criteria to determine whether the rule is applicable for an application. |
|
| |
|
| ''Good for knotes''
| | </translate><span id="Window_Attributes"></span><translate> |
|
| |
|
| ===Multiple Rules per Application=== | | ====Window Attributes==== <!--T:33--> |
|
| |
|
| ''e.g. Thunderbird on one desktop and composition window on any'' | | <!--T:34--> |
| | Along with Window Matching criteria, each window rule has a set of [[Special:myLanguage/KWin_Rules_Window_Attributes|Window Attributes]]. The attributes override the corresponding application's settings and are applied before the window is displayed by '''KWin'''. |
|
| |
|
| ===Pop an Active Window to the Top===
| | <!--T:35--> |
| | [[Category:Desktop]] |
| | [[Category:Tutorials]] |
| | </translate> |